Wetts's blog

Stay Hungry, Stay Foolish.

0%

CSS-内联元素的宽高度设置

转自:http://blog.doyoe.com/2015/03/15/css/%E7%BD%AE%E6%8D%A2%E5%92%8C%E9%9D%9E%E7%BD%AE%E6%8D%A2%E5%85%83%E7%B4%A0/

内联的置换和非置换元素的宽度定义

对于内联的非置换元素,宽度设置是不适用的。

对于内联的置换元素来说,其宽度的设置需遵循以下几点:

  • 若宽高的计算值都为 auto 且元素有固有宽度,则 width 的使用值为该固有宽度;

    典型的例子是:拥有默认宽高的 input 当宽度的计算值为auto时,则宽度使用值为其默认的固有宽度

  • 若宽度的计算值为 auto 且元素有固有宽度,则 width 的使用值为该固有宽度;

    例子同上

  • 若宽度的计算值为 auto 且高度有 非auto 的计算值,并且元素有固有宽高比,则 width 的使用值为 高度使用值 * 固有宽高比;

    典型的例子:img 当只定义了其高度值时,其宽度将会根据固有宽高比进行等比设置

  • 除此之外,当 width 的计算值为 auto 时,则宽度的使用值为 300px

    典型的例子:比如iframe, canvas

其它类型的置换元素,其宽度的定义都参照行内置换元素的定义。

内联的置换和非置换元素的高度定义

对于行内级非置换元素,高度设置是不适用的。

对于行内级置换元素来说,其高度的设置需遵循以下几点:

  • 若宽高的计算值都为 auto 且元素有固有高度,则 height 的使用值为该固有高度;
  • 若高度的计算值为 auto 且元素有固有高度,则 height 的使用值为该固有高度;
  • 若高度的计算值为 auto 且宽度有 非auto 的计算值,并且元素有固有宽高比,则 height 的使用值为:宽度使用值 / 固有宽高比;
  • 若高度的计算值为 auto 且上述条件完全不符,则 height 的使用值 不能大于150px,且宽度不能大于长方形高度的2倍。

其它类型的置换元素,其高度的定义都参照行内置换元素的定义。

内联的非置换元素如何修改宽高

将内联元素变为块级元素。

设置css的display属性。

)。)。)。)。 )。)
描述
none 此元素不会被显示。
block 此元素将显示为块级元素,此元素前后会带有换行符。
inline 默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block 行内块元素。(CSS2.1 新增的值)
list-item 此元素会作为列表显示。
run-in 此元素会根据上下文作为块级元素或内联元素显示。
compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
table 此元素会作为块级表格来显示(类似 ),表格前后带有换行符。
inline-table 此元素会作为内联表格来显示(类似 ),表格前后没有换行符。
table-row-group 此元素会作为一个或多个行的分组来显示(类似
table-header-group 此元素会作为一个或多个行的分组来显示(类似
table-footer-group 此元素会作为一个或多个行的分组来显示(类似
table-row 此元素会作为一个表格行显示(类似
table-column-group 此元素会作为一个或多个列的分组来显示(类似
table-column 此元素会作为一个单元格列显示(类似
table-cell 此元素会作为一个表格单元格显示(类似
table-caption 此元素会作为一个表格标题显示(类似
inherit 规定应该从父元素继承 display 属性的值。