详解CSS中的display属性
上周使⽤layer.tips(‘提⽰信息’。‘#id’);含有id的元素设置display:none后,提⽰信息弹出框位置错位了,百度后的以下原因:
应该是含有id的元素脱离⽂档流造成的。
前⾔
  display在⽹页的设计中经常⽤到,对页⾯的布局和尺⼨等内容有着很⼤影响,常⽤的主要有none、block、inline(默认值)、inline-block等⼏个属性,本⽂详细介绍关于display的各种属性。
1.定义
  display属性⽤于规定元素⽣成的框类型,影响显⽰⽅式
  值:none | inline | block | inline-block | list-item | run-in | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-colume-group | table-colume | table-cell | table-cap
tion | inherit
  初始值:inline
  继承性:⽆
  【注意】IE7-浏览器不⽀持table类属性值和inherit
2.分类
【1】block
  【特征】
    【1】不设置宽度时,宽度为⽗元素宽度
    【2】独占⼀⾏
    【3】⽀持宽⾼
  【标签】
<address><article><aside><blockquote><body><dd><details><div><dl><dt>
<fieldset><figcaption><figure><footer><form><h1><header><hgroup><hr>
<html><legend><menuitem><nav><ol><optgroup><option><p><section><summary><ul>
  【不⽀持的样式】
    【1】vertical-align
【2】inline
  【特征】
    【1】内容撑开宽度
    【2】并⾮独占⼀⾏
    【3】不⽀持宽⾼
    【4】代码换⾏被解析成空格
  【标签】
<a><abbr><area><b><bdi><bdo><br><cite><code><del><dfn><em><i><ins><kbd>
<label><map><mark><output><pre><q><rp><rt><ruby><s><smap><small>
<span><strong><sub><sup><time><u><var><wbr>
  【不⽀持的样式】
    【1】background-position
    【2】clear
    【3】clip
    【4】height | max-height | min-height
    【5】width | max-width | min-width
    【6】overflow
    【7】text-align
    【8】text-indent
    【9】text-overflow
3.inline-block
  【特征】
    【1】不设置宽度时,内容撑开宽度
    【2】⾮独占⼀⾏
    【3】⽀持宽⾼
    【4】代码换⾏解析成空格
  【标签】
<audio><button><canvas><embed><iframe><img><input>
<keygen><meter><object><progress><select><textarea><video>
  【不⽀持的样式】
    【1】clear
  【IE兼容】
    IE7-浏览器不⽀持给块级元素设置inline-block样式,解决⽅法如下:⾸先将其变成⾏内元素,使⽤具有⾏内元素的特性,然后触发haslayout,使其具有块级元素的特性,如此就可以模拟出inline-block的效果
<
  【特征】
    隐藏元素并脱离⽂档流
  【标签】
<base><link><meta><title><datalist><dialog><param><script><source><style>
5.list-item
  【特征】
    【1】不设置宽度时,宽度撑满⼀⾏
    【2】独占⼀⾏
    【3】⽀持宽⾼
6.run-in
  【特征】
    run-in是⼀个有意思的块/⾏内元素混合,可以使某些块级元素成为下⼀个元素的⾏内部分。如果⼀个元素⽣成run-in框,⽽且该框后⾯是⼀个块级框,那么该run-in元素将成为块级框开始处的⼀个⾏内框,run-in框格式化成另⼀个元素中的⾏内框,但它们仍从⽂档中的⽗元素继承属性
    若run-in框后⾯不是块级框时,run-in框本⾝将成为块级框
  【注意】只有Safari和IE8+⽀持
【表格类元素】
table{display: table;}
thead{display: table-header-group;}
tbody{display: table-row-group;}
tfoot{display: table-footer-group;}
tr{display: table-row;}
td,th{display: table-cell;}
col{display: table-column;}
colgroup{display: table-column-group;}
caption{display: table-caption;}
  表格类元素的display共有以上⼏种,<thead><tbody><tfoot><tr><col><colgroup>因为⽆法设置marg
in和padding⽤的较少,下⾯将着重介绍下<table>、<td>、<th>、<caption>这四个标签对应的display属性
1.table
  【特征】
    【1】不设置宽度时,宽度由内容撑开
    【2】独占⼀⾏
    【3】⽀持宽⾼
    【4】默认具有表格特征,能够设置table-layout
    【注意】对于display为table和inline-table,若处于分隔边框模型即border-collapse:separate;,margin和padding都可设置;若处于合并边框模型即border-collapse:collapse,只可设置margin
2.inline-table
  【特征】
    【1】不设置宽度时,宽度由内容撑开
    【2】⾮独占⼀⾏
    【3】⽀持宽⾼
    【4】默认具有表格特征
3.table-cell
  【特征】
    【1】不设置宽度时,宽度由内容撑开
    【2】⾮独占⼀⾏
    【3】⽀持宽⾼
    【4】垂直对齐
    【5】同级等⾼
  【注意】display:table-cell的元素不能设置margin,但是可以设置padding 4.table-caption
  【特征】
    【1】不设置宽度时,宽度由内容撑开
table设置内边框    【2】独占⼀⾏
    【3】⽀持宽⾼
  【注意】
    display:table-caption元素的margin和padding都可以设置

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。