CSS权威指南 - 基本视觉格式化 4

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS权威指南 - 基本视觉格式化 4相关的知识,希望对你有一定的参考价值。

改变元素显示

技术分享

没有讨论与表格相关的、列表list-item的值。之后讨论。

改变显示角色

显示为块级元素

将一串链接(行内元素)改变垂直放置,若有如下一连串的链接:

<div id="navigation">
<a href="index.html">WidgetCo Home</a><a href="products.html">Products</a>
<a href="services.html">Services</a><a href="fun.html">Widgety Fun!</a>
<a href="support.html">Support</a><a href="about.html" id="current">About Us</a>
<a href="contact.html">Contact</a>
</div>

可以放在一个表格里,也可以每一个wrap一个div,或者你可以让他们变成block-level元素,像这样:

div#navigation a {display: block;}

不支持CSS的浏览器可以通过这么做显示出一个垂直的导航效果。显示成block,可以像块级元素那样设置样式,这样子整个box都变成了链接,如果鼠标移动到这个box,都可以点击了。

技术分享

****

显示为行内元素

让一个无序列表水平放置。

<ul id="rollcall">
<li>Bob C.</li>
<li>Marcio G.</li>
<li>Eric M.</li>
<li>Kat M.</li>
<li>Tristan N.</li>
<li>Arun R.</li>
<li>Doron R.</li>
<li>Susie W.</li>
</ul>

#rollcall li {display: inline; border-right: 1px solid; padding: 0 0.33em;}
#rollcall li:first-child {border-left: 1px solid;}

值得注意,你改变了元素的显示角色,但是没有改变它们的本质,换句话说,可以把一个段落生成一个行级(inline-level)框(box),但是无法把段落变成一个行级元素 (inline-element)。可以把行内元素放到块级元素里,反之就不行。不然就是无效的。

**********

行内块元素 inline-block

行内块元素像行内可替换元素一样格式化显示出来。与可替换元素一样,行内元素的就默认靠在文字基线(baseline)上。

技术分享

上图虚线框的块级元素,分别是显示为块级、行内、行内块。

第三个,inline-block让那一行高度的变高了,就像之前提到的一个可替换元素一样。

行内框元素的宽度如果未定义,会被设置成刚好包括他的内容,和行内框(inline-box)一样。然而inline-block不会折行。

行内块级元素可以用来显示一个水平的导航栏。比如 #navbar a {display: inline-block; width: 20%;}

*********

Run-in 元素

一个元素display:run-in,如果之后跟一个块级元素,run-in将会变成这个块级元素的第一个行内框。

run-in元素浏览器没支持,也没见到别人用过。

计算值

一个元素浮动或者定位之后,display的计算值可以变化。

如果一个元素绝对定位,float会被设置成none。

对于绝对元素或浮动元素,最终的display的计算值由声明绝定。

技术分享

对于root元素,声明为inline-table或者table会得到table,声明none会得到计算值none,其他的都为block。

以上是关于CSS权威指南 - 基本视觉格式化 4的主要内容,如果未能解决你的问题,请参考以下文章

CSS权威指南 - 内边距 边框 和 外边距

CSS权威指南的作品目录

Css权威指南(4th,第四版中文翻译)-8.Padding,Borders,Outlines,Margins

HTML5 权威指南第 11 章 表格元素 学习笔记

学习js权威指南第五站 ---- 数组

CSS权威指南 - 浮动和定位