Loading...

display属性排版网页元素

语法

display : 属性值;

属性值的取值范围

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

块元素、行内元素以及行内块元素的特点

  • 块元素: 独占一行(不管元素的内容、宽度有多少,该元素前后会换行),可以设定元素的宽度和高度
  • 行内元素: 内容决定元素的宽度,不能手动设定宽度和高度,元素不会独占一行
  • 行内块元素: 具有块元素和行内元素的特点,能够设定元素的宽度和高度,但是不会独占一行,行内块元素会解析元素前后空格

使用float属性排版网页元素

语法

display : 属性值;

属性值的取值范围

  • left 元素向左浮动。
  • right 元素向右浮动。
  • none 默认值。元素不浮动,并会显示在其在文本中出现的位置。
  • inherit 规定应该从父元素继承 float 属性的值。

清除浮动

语法

clear : 属性值;

属性值的取值范围

  • left 在左侧不允许浮动元素
  • right 在右侧不允许浮动元素
  • both 在左、右两侧不允许浮动元素
  • none 默认值。允许浮动元素出现在两侧

使用四种防止父级边框塌陷的清除浮动的方法

浮动元素后面加空块级元素

演示案例:

<div style="clear:both; padding:0; margin: 0;"></div> <!-- 此处是为了演示方便,推荐写成类样式 -->

手动设置父元素的高度(不推荐)

父级添加overflow属性

演示案例:

#content { overflow: hidden; .... }

overflow的取值范围

  • visible 默认值。内容不会被修剪,会呈现在盒子之外
  • hidden 内容会被修剪,并且其余内容是不可见的
  • scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余内容
  • auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容

使用伪类 (推荐)

演示案例:

#content:after{ content: ''; /*在clear类后面添加内容为空*/ display: block; /*把添加的内容转化为块元素*/ clear: both; /*清除这个元素两边的浮动*/ }

清除浮动的方法小结

1️⃣ 清除浮动,防止父级边框塌陷的四种方法

  • 浮动元素后面加空的块级元素
  • 简单,空块级元素会造成HTML代码冗余

2️⃣ 设置父元素的高度

  • 简单,元素固定高会降低扩展性

3️⃣ 父级添加overflow属性

  • 简单,下拉列表框的场景不能用

4️⃣ 父级添加伪类after

  • 写法比上面稍微复杂一点,但是没有副作用,推荐使用

▶️ 开始学习下一章: HTML从入门到精通 - 定位

最后修改:2022 年 08 月 31 日
都滑到这里了,不点赞再走!?