CSS教程 13、CSS的display属性 [翻译Htmldog]

  
  操作HTML元素的诀窍在于明白它们工作的方法在于没有特定的形式。一些由标签组成的大部分页面可以设定任何样式。浏览器默认的样式里的大部分html元素由字体样式、margin,padding组成,本质上是显示类型。

  display属性基本上分为inline,block,和none。
  inline就像它的本意——显示为inline的元素为行。strong,anchor锚和em强调元素默认是行。
  block元素前后换行。标题和段落元素是块元素。
  none,意思不显示元素,在可用性上可以实现漂亮的效果,交替样式或hover效果的高级运用。

  设定表现可以更好运用在网页制作上。

div css xhtml xml Example Source Code Example Source Code [www.52css.com]
h1 {
    display: inline;
    font-size: 2em;
}
#header p {
    display: inline;
    font-size: 0.9em;
    padding-left: 2em;
}

  设定标题h1为行元素,可以和后面的元素在同一行。

div css xhtml xml Example Source Code Example Source Code [www.52css.com]
#navigation, #seeAlso, #comments, #standards {
    display: none;
}

  上面的代码可以使用在打印样式里,比如在导航使用,可以在打印时不显示导航这些无关紧要的东西。

  display:none和visibility:hidden;的不同在于display:none完全取消元素的显示,visibility:hidden保持元素位置但视觉上的内容不可见。例如,如果3的第二段设置为display:none,第一段将仅跟在第三段,如果设置为visibility:hidden,段落间就会空出。

表格

  明白表格相关的表现属性值最好的方法想象html表格。table是最初的表现,你可以使用table-row模拟table-cell模拟td。

  display属性更进一步,可以通过使用table-column, table-row-group, table-column-group, table-header-group, table-footer-group and table-caption。现在可以直接使用columns构建表格,比在html中使用行构建快速。

  最后,inline-table设定表格前后不换行。

  使用CSS表格会严重损害可用性。HTML应该用来传递语意,所以如果你有表格数据,那可以使用HTML表格。使用CSS表格仅仅会产生糟糕的数据如果没有CSS数据将不可读。

其他表现形式

  list-item列表项目,就像期待HTML里的li元素。它们需要嵌套在元素里面显示。 
  run-in元素的表现形式由它的父元素决定。IE和Mozilla都不支持。
  compat根据上下阿文决定表现形式,同样IE和Mozilla都不支持。
  maker仅仅使用在:before和:after伪元素,设定content属性的表现。content属性默认表现就是maker,所以它只有在覆盖原来属性时才有用。
  content属性,它的默认就是maker,所以只有在覆盖原来属性时使用。
  
Article Provenance: w3cpro
Article Tags: css教程 display
评论: 5 | 查看次数: 20018     
  • 1
aber2006 [2008-10-06 04:02 PM]
h1 {
    display: inline;
}

意思就是定义H1是在行内的一个元素
和后面的P内文字一样属于行内元素所以不用换行了。
ns23 [2008-04-11 01:44 PM]
其實都是在前一個元素中設置inline或bolck等,而對後面的元素起作用的。
所以單一(沒有位置並列的其他元素)的元素中設置時,會有意想不到的顯示結果。

不知道我說的對不對?
weilx2008 [2007-12-26 10:39 AM]
inline与bolck的区别在于
display: inline; 在同一行
display:block; 前后换行
beli2324 [2007-12-03 01:15 PM]
这一章节讲解的不太明白...
mattus [2007-11-14 03:42 AM]
这个系列越来越糊弄了……
  • 1
发表评论
你没有权限发表留言!