即便书写 CSS 很简单,使用 CSS 来排版却真的需要一种和我们以往有些不同的思维方式。
我们排版时考虑的不是“这个东西放在这儿,那个东西放在那儿”,而是页面中信息的类别和信息的结构。
我们用 <h1> 标记来标示更重要的头条;次一级的条目则用 <h2> 来标记,以此类推;而段落则放在 <p> 标记中。
这就是我们称之为“结构标记”或“语义标记”的东西。
你的内容将不放在表格和表格元素中,取代它们的是 div 元素。还要给你的 div 元素安排一个 id 或 class,不过这是为了描述它们的内容或功能,而非它们的外观。
当你把某个对象设为斜体时,大概要么就是想强调它,要么是想 引用某个书中标题吧? 如果是前者,应该用 <em>;如果是后者,其实得用 <cite>。
如果某个对象被标记为粗体,事实上它应该被标记的是, <strong>。
如果你希望在某处添加一个换行,这大概是开始了一个新的开头。如果不是开头,会不会是某种在你的站点中出现过的class (类型)?在上面两种情况下,你都应该用 CSS 替换 <br>。
.foo {display:block}
考虑你需要导航的内容是一些无序的链接这种情况:
用 <ul> 标签来编辑它们。
link1
link2
link3
link4
link5
水平导航条
我们可以用 CSS 来控制这个列表显示在网页上的外观。
通过使用 display:inline 我们可以创建水平导航条。
link1
link2
link3
link4
link5
这是上面这个导航条用到的代码:
#nav1{
margin-top: 1em;
margin-bottom: 0.5em;
}
#nav1 ul {
background-color: silver;
text-align: center;
margin-left: 0;
padding-left: 0;
border-bottom: 1px solid gray
}
#nav1 li {
list-style-type: none;
padding: 0.25em 1em;
border-left: 1px solid white;
display: inline
}
#nav1 li:first-child {
border: none;
}
垂直导航条
link1
link2
link3
link4
link5
这是垂直导航条的代码:
#nav2 {
background-color: silver;
border: solid 1px gray;
width: 8em
}
#nav2 ul {
list-style-type: none;
margin: 0;
padding: 0;
border: none
}
#nav2 li {
margin: 0;
padding: 0.25em 0.5em 0.25em 1em;
border-top: 1px solid gray;
width: 100%;
display: block
}
html>body #nav2 li {
width: auto;
}
#nav2 li:first-child {
border: none
} 如果你已经把站点的内容分好了类,那么是时候分析每个页面,把它们按照逻辑关系进行分解了。
主导航条
子导航条
页眉与页脚
内容
相关信息
其他
注意分析由嵌套表格、空白分隔符和边框元素组成的表格结构 (因为我们希望把它们替换为用 div 标记组织的那种简单得多的表格结构)。
一旦你分析好页面的结构,就可以着手揭开表象,分析你现在的页面代码中可以转换成结构化标记的那些地方。
作为一个完美主义者,消灭所有的 <font> 标记和间隔 GIF 吧!
同样的,一并搞定 <b> 和 <br> 标记。
去除表格中的那些外观标记 (bgcolor, background, 等等)。
把纯粹用来表示外观的那些 CSS 调用 (比如 <span class="header">) 改成结构化的标记。