css盒子模型的宽度问题

摘要:
当我最近阅读css的权威指南时,我发现了一个在宽度之前特别不清楚的概念。我们经常提到的width属性的值在css中定义为从左内边界到右内边界的距离。这是元素可见区域的宽度。通常我们使用偏移宽度来获得该宽度。当然,我们经常谈论的盒子宽度在我看来也是这个值。内容的宽度和高度可以通过分别从设置的宽度和宽度中减去边框和内边距来获得。还有一个关于最小宽度、最小宽度和最大宽度的问题。它主要指的是css和w3cschool的权威指南,结合了我自己的一些理解。如果有任何错误,请改正。

最近看css权威指南的时候,发现一个之前特别不清楚的概念——宽度。

每个块级元素都有一个元素框,元素框内包括了元素内容,元素内边距,元素边框,元素外边距。

所以元素框的宽度=元素内容宽度+元素内边距+元素边框+元素外边距。

也就是他父元素的内容宽度。

那么我们常说的width就是元素框的宽度吗?

答案是否定的。我们常说的width属性值在css中被定义为从左内边界到右内边界的距离。也就是内容块的宽度。什么都不包括。例如

<div id="parent" style=" 200px;padding: 20px;"></div>

这里,你用js去获取width值就是200px。就是一个很普通的属性值。加的padding并不会影响你的width值。

那么我们常说的padding+border+content宽度到底是什么呢?

这是元素可见区域的宽度。通常我们用offsetwidth获取就是这个宽度。当然了,我们常说的盒子宽度其实在我看来也是这个值。上面那个盒子的offsetwidth就是240

因为布局的时候有时候并不希望padding会撑大原来的盒子,所以css3中推出了已box-sizing的属性

Internet Explorer、Opera 以及 Chrome 支持 box-sizing 属性。

Firefox 支持替代的 -moz-box-sizing 属性。

这个属性默认值是content-box。当我们把值设成border-box的时候为元素设定的宽度和高度决定了元素的边框盒。就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。

关于宽度还有一个最小宽度min-width和max-width的问题。这个值设置图片的时候用的比较多。如果元素小于最小宽度,元素会被拉伸到最小宽度,如果元素大于最大宽度,元素会被压缩到最大宽度值。如果在两者之间正常显示。

暂时想到的关于宽度的就这么多。主要参考css权威指南和w3cschool结合了一些自己的理解,如有错误,还请指正。

免责声明:文章转载自《css盒子模型的宽度问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇dispatch事件分发常用php操作redis命令整理(三)LIST类型下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

更新CSS缓存的办法

http://www.divcss3.com/NewsFiles/120611/20121711091711.html 通过设置可以将DIV+CSS切图、js等不太经常更新的文件缓存在浏览器端,访客每次进入网站时浏览器就可以从浏览器的缓存中获取css、js。htaccess设置的css、js缓存都有一个过期时间,如果在访客的浏览器中已经缓存了css、js,...

简化Web开发的12个HTML5CSS框架

HTML5已经在Web开发中越来越流行。并且现在大部分流行的浏览器包括Firefox 6, Google Chrome, IE9等都支持HTML5。 利用框架能够帮助Web开发人员快速进行设计和开发。一个HTML5的框架提供了许多功能,如优美的排版,视频播放器,表单验证等,使开发人员能够轻松地 开发Web应用程序。 1. 52 Framework : HT...

font-spider问题【已解决】

最近写一个项目,使用了引入的字体,然而字体太大,于是找解决方法,想要把字体压缩一下,然后找到了font-spider;font-spider使用方法这里就不多说了,网上一大把,主要是在node里面安装一个fontspider就可以了,然后通过命令行进行压缩,初期压缩是成功了的,但是查看压缩过的字体发现并不是原来的字体,并且网页上也没有生效,然后就由于忙着赶...

css 锚点

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><...

vue cli 3

介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统 通过 @vue/cli 搭建交互式的项目脚手架。 通过 @vue/cli + @vue/cli-service-global 快速开始零配置原型开发。 一个运行时依赖 (@vue/cli-service) 一个开发环境依赖,局部安装在每个 @vue/cli 创建的项目中。 可升...

CSS尺寸与补白

尺寸与补白 width 语法: width:长度值 | 百分比 | auto 默认值:auto 适用于:除非置换内联元素,table-row, table-row-group之外的所有元素 继承性:无 动画性:当值为 长度值 | 百分比 时 计算值:指定的值 媒 体:视觉 取值: auto: 无特定宽度值,取决于其它属性值 长度值: 用长度值来定义宽度...