CSS尺寸与补白

尺寸与补白

width

语法:

width:长度值 | 百分比 | auto

默认值:auto

适用于:除非置换内联元素,table-row, table-row-group之外的所有元素

继承性:无

动画性:当值为 长度值 | 百分比 时

计算值:指定的值

媒 体:视觉

取值:

  • auto: 无特定宽度值,取决于其它属性值
  • 长度值: 用长度值来定义宽度。不允许负值
  • 百分比: 用百分比来定义宽度。百分比参照包含块宽度。不允许负值

说明:

定义元素的宽度。

  • 对于img元素来说,若仅指定此属性,其height值将会根据图片源尺寸进行等比例缩放。
  • width属性是盒模型的重要组成部分。
  • 对应的脚本特性为:width

min-width

语法:

min-width:长度值 | 百分比

默认值:0

适用于:除非置换内联元素,table-row, table-row-group之外的所有元素

继承性:无

动画性:当值为 长度值 | 百分比 时

计算值:指定的值

媒 体:视觉

取值:

  • 长度值: 用长度值来定义最小宽度。不允许负值
  • 百分比: 用百分比来定义最小宽度。不允许负值

说明:

定义元素的最小宽度。

  • min-width属性的值小于width时,min-width属性将会被忽略。
  • min-width属性的值大于width时,min-width属性将会被忽略,同时width会忽略自己的值定义而使用min-width的值作为自己的使用值。
  • min-width属性的值大于max-width时,max-width属性将会被忽略。
  • 对应的脚本特性为:minWidth

max-width

语法:

max-width:长度值 | 百分比 | none

默认值:none

适用于:除非置换内联元素,table-row, table-row-group之外的所有元素

继承性:无

动画性:当值为 长度值 | 百分比 时

计算值:指定的值

媒 体:视觉

取值:

  • none: 无最大宽度限制
  • 长度值: 用长度值来定义最大宽度。不允许负值
  • 百分比: 用百分比来定义最大宽度。不允许负值

说明:

定义元素的最大宽度。

  • max-width属性的值小于width时,max-width属性将会被忽略,同时width会忽略自己的值定义而使用max-width的值作为自己的使用值。
  • max-width属性的值大于width时,max-width属性将会被忽略。
  • max-width属性的值小于min-width时,max-width属性将会被忽略。
  • 对应的脚本特性为:maxWidth

height

语法:

height:长度值 | 百分比 | auto

默认值:auto

适用于:除非置换内联元素,table-row, table-row-group之外的所有元素

继承性:无

动画性:当值为 长度值 | 百分比 时

计算值:指定的值

媒 体:视觉

取值:

  • auto: 无特定高度值,取决于其它属性值
  • 长度值: 用长度值来定义高度。不允许负值
  • 百分比: 用百分比来定义高度。不允许负值

说明:

定义了元素内容区(Content Area)的高度

  • 对于img元素来说,若仅指定此属性,其width值将会根据图片源尺寸进行等比例缩放。
  • width属性是盒模型的重要组成部分。
  • 对应的脚本特性为:height

min-height

语法:

min-height:长度值 | 百分比

默认值:0

适用于:除非置换内联元素,table-row, table-row-group之外的所有元素

继承性:无

动画性:当值为 长度值 | 百分比 时

计算值:指定的值

媒 体:视觉

取值:

  • 长度值: 用长度值来定义最小高度。不允许负值
  • 百分比: 用百分比来定义最小高度。不允许负值

说明:

定义元素的最小高度。

  • min-height属性的值小于height时,min-height属性将会被忽略。
  • min-height属性的值大于height时,min-height属性将会被忽略,同时height会忽略自己的值定义而使用min-height的值作为自己的使用值。
  • min-height属性的值大于max-height时,max-height属性将会被忽略。
  • 对应的脚本特性为:minHeight

max-height

语法:

max-height:长度值 | 百分比 | none

默认值:none

适用于:除非置换内联元素,table-row, table-row-group之外的所有元素

继承性:无

动画性:当值为 长度值 | 百分比 时

计算值:指定的值

媒 体:视觉

取值:

  • none: 无最小高度限制
  • 长度值: 用长度值来定义最大高度。不允许负值
  • 百分比: 用百分比来定义最大高度。不允许负值

说明:

定义元素的最大高度。

  • max-height属性的值小于height时,max-height属性将会被忽略,同时height会忽略自己的值定义而使用max-height的值作为自己的使用值。
  • max-height属性的值大于height时,max-height属性将会被忽略。
  • max-height属性的值小于min-height时,max-height属性将会被忽略。
  • 对应的脚本特性为:maxHeight

margin

简写属性语法:

margin:[ 长度值 | 百分比 | auto ]{1,4}

默认值:看每个独立属性

适用于:所有元素,除非 table | inline-table | table-caption的表格类元素之外

继承性:无

动画性:看每个独立属性

计算值:看每个独立属性

媒 体:视觉

分拆纵向独立属性语法:

vertical-margin:长度值 | 百分比 | auto

vertical-margin = margin-top,margin-bottom

默认值:0

适用于:所有元素,除非 table | inline-table | table-caption的表格类元素和非替代行内元素之外

继承性:无

动画性:当取值为 长度值 | 百分比 时

计算值:指定的百分比或绝对长度值

媒 体:视觉

分拆横向独立属性语法:

horizontal-margin:长度值 | 百分比 | auto

horizontal-margin = margin-right,margin-left

默认值:0

适用于:所有元素,除非 table | inline-table | table-caption的表格类元素之外

继承性:无

动画性:当取值为 长度值 | 百分比 时

计算值:指定的百分比或绝对长度值

媒 体:视觉

取值:

  • auto: 水平(默认)书写模式下,vertical-margin计算值为0,horizontal-margin取决于包含块的剩余可用空间。
  • 长度值: 用长度值来定义外补白。可以为负值
  • 百分比: 用百分比来定义外补白。水平(默认)书写模式下,参照其包含块的width进行计算,其它情况参照height,可以为负值

说明:

简写属性。为元素设置所有四个方向(上右下左)的外边距。

  • margin属性接受1~4个参数值。如果提供四个参数值,将按上、右、下、左的顺序作用于四边;提供三个,第一个用于上,第二个用于左、右,第三个用于下;提供两个,第一个用于上、下,第二个用于左、右;只提供一个,同时用于四边。

  • 非替代(non-replaced)行内元素可以使用该属性定义horizontal-margin;若要定义vertical-margin,必须改变元素为块级或行内块级。

  • 外延边距始终透明,即不可见也无法设置背景等任何样式。

  • 某些相邻的margin会发生合并,我们称之为margin折叠:

    h2{margin:10px 0;}
    div{margin:20px 0;}
    ......
    <h2>这是一个标题</h2>
    <div>
    	<h2>这是又一个标题</h2>
    </div>
    

    本例中,第1个h2的margin-bottom,div的margin-top,第2个h2的margin-top是相邻的,三者会被合并取其中最大的那个值作为最后的间隙,所以它们之间的margin间隙最后是(20px)。

    如果给上例中的div加上border的话:

    h2{margin:10px 0;}
    div{margin:20px 0;border:1px solid #aaa;}
    ......
    <h2>这是一个标题</h2>
    <div>
    	<h2>这是又一个标题</h2>
    </div>
    

    本例中,第一个h2的margin-bottom(10px),div的margin-top(20px)将被合并,但第二个h2的margin-top不与它们合并,因为它被border分隔,不与它们相邻。

  • margin折叠常规认知:

    • margin折叠只发生在块级元素上;
    • 浮动元素的margin不与任何margin发生折叠;
    • 设置了属性overflow且值为非visible的块级元素,将不与它的子元素发生margin折叠;
    • 绝对定位元素的margin不与任何margin发生折叠;
    • 根元素的margin不与其它任何margin发生折叠;
  • 对应的脚本特性为:margin

分拆纵向独立属性。为元素设置上、下外边距。

  • 替代(Replaced)行内元素可以应用该属性;非替代(non-Replaced)行内元素要使用该属性必须改变元素为块级或行内块级。
  • 水平(默认)书写模式下,margin 合并只发生在vertical-margin上。
  • 对应的脚本特性分别为:marginTop, marginBottom

分拆横向独立属性。为元素设置上、下外边距。

  • 所有的行内元素均可以应用该属性。
  • 默认情况下,horizontal-margin不会发生 margin 折叠,除非将书写模式改变为纵向。
  • 对应的脚本特性分别为:marginRight, marginLeft

padding

简写属性语法:

padding:[ 长度值 | 百分比 ]{1,4}

默认值:看每个独立属性

适用于:所有元素,除table-row-group | table-header-group | table-footer-group | table-column-group | table-row

继承性:无

动画性:看每个独立属性

计算值:看每个独立属性

媒 体:视觉

分拆独立属性语法:

padding-*:长度值 | 百分比

padding-* = padding-top,padding-right,padding-bottom,padding-left

默认值:0

适用于:所有元素,除table-row-group | table-header-group | table-footer-group | table-column-group | table-row

继承性:无

动画性:是

计算值:指定的百分比或绝对长度值

媒 体:视觉

取值:

  • 长度值: 用长度值来定义内补白。不允许负值
  • 百分比: 用百分比来定义内补白。水平(默认)书写模式下,参照其包含块的width进行计算,其它情况参照height,不允许负值

说明:

简写属性。为元素设置所有四个方向(上右下左)的内边距。

  • padding属性接受1~4个参数值。如果提供四个参数值,将按上、右、下、左的顺序作用于四边;提供三个,第一个用于上,第二个用于左、右,第三个用于下;提供两个,第一个用于上、下,第二个用于左、右;只提供一个,同时用于四边。
  • 需要注意的是,当我们为行内元素定义纵向内补白(padding-top/padding-bottom)时,虽然不需要将之转化为行内块或者块级,但是给行内元素设置纵向内补白并不会影响布局。内补白会在当前元素的行框基础上向顶部和顶部外延,但是这些外延不会拓展新的布局大小(你甚至可以把它想象成类似outline)。
  • 对应的脚本特性为:padding

分拆独立属性。为元素单独设置上、右、下、左4个方向的内边距。

  • 对应的脚本特性分别为:paddingTop, paddingRight, paddingBottom, paddingLeft
posted @ 2020-06-27 21:34  无法起名的码农  阅读(163)  评论(0编辑  收藏  举报