CSS 假定每个元素都会生成一个或多个矩形框,这称为元素框。各元素框中心有一个可选的内容区。
- 内边距
- 边框
- 外边距
内容的背景也会应用到内边距。内边距通常是透明的,从中可以看到父元素的背景。内边距不能是负值,但是外边距可以。边框默认取内容的前景色
包含快
width 被定义为从左内边界到右内边界的距离。
height则是从上内边界到下内边界的距离。
- width, margin-left, margin-right 可以设置为 auto。
- width, margin-left, margin-right 都为确定数值时,margin-right(从左向右读的语言) 被强制设为 auto。
- width=auto, margin-left=值, margin-right=值
margin-left=值, margin-right=值
- 某个外边距和width设置为auto,设置为auto的外边距变为0.
- 三个属性都设置为auto, 则外边距都变为 0(默认的效果).
水平外边距不会合并。
只有外边距可以为负值
元素的7项水平属性的总和“不能比起包含块更宽。
元素水平属性过分受限
边框的宽度不能是百分数,而只能是长度
对应替换元素,width为auto,元素的宽度则是内容的固有宽度
垂直格式化
涉及到百分数,也许会忽略height值
块级正常流元素设置为height:auto, 子元素的上外边框边界到下外边框边界的距离
如果块元素有内边距,或者有上边框或内边距,或者有边框,则是子元素上外边距到下外边距之间的距离
垂直负外边距
- 如果垂直负外边距设置为负值, 浏览器会取两个外边距绝对值的最大值。
- 如果正外边距与一个负外边距合并,会从正外边距减去负外边距的绝对值。
浏览器从前到后显示,后面出现的元素的背景会覆盖前面的
marker-offset
list-style-position: inside;
- 匿名文本
- em框
- 内容区:非替换元素是em框;替换元素是(元素的固有高度 + 外边距 + 边框 + 内边距)
- 行间距:不应用到替换元素
- 行内框:替换元素是line-height;非替换元素是内容区的高度。
- 行框
非替换元素的内边距,边框和外边距对行内元素或其生成的边框没有垂直效果,也就是说,他们不会影响元素行内框的高度(也不会影响包含该元素的行框的高度)
替换元素的外边距和边框确实会影响该元素行内框的高度,相应的,也可能影响包含该元素的行框的高度
line-height只影响行内元素。**
vertical-align: 一般都是作用于行内框
line-height相对于元素本身的font-size设置。
网友评论