学会合理使用HTML标签进行CSS布局5 l/ ^# | h b8 N* t* m- q
CSS高级布局已逐渐流行,但面对所谓DIV+CSS布局的叫法让人更为担心,不要让DIV成为Table的替代品,多层嵌套的DIV会严重影响代码的可阅读性,活用HTML为我们提供的标签。" ], b& m# T: m) j
什么时候应该用DIV?5 \+ V9 Y2 T) ~4 D. V6 H4 B+ }: M
虽然在这方面没有什么硬性网站源码的规定,其实DIV更适用于大体框架的定位.例如我们要定义一块头部的区域,一般会这样定义一个DIV:
$ P2 S0 _/ c0 M! n9 V6 d<div id="header">这里就是头部框架里要写的内容</div>
, e% A Y9 v# x) k. r$ T- S8 Z, l/ D% O7 Q当然,可以用class来定义,但一般来讲如不是在同一页面会重复的元素,用id能更好的区别开来.
; \. {3 ?0 x2 ^) s M8 s+ I( Kalistapart的首页代码,它的头部定义代码如下:
/ H, X, x: }4 m$ `) g( a+ c" x' ?以下是引用片段:
: H6 g0 E0 ~8 O, r4 [<ul id="navbar">
( g9 ^4 k9 B8 T- R% ]1 t<li id="articles">: |& ^, [6 B7 \$ T/ N+ N$ K/ F
<a href="/articles/" title="Articles">Articles</a></li>/ p. s( X [' p$ a" X; {" a: V
<li id="topics">; U% ]% E* `1 }- k6 K8 [- `7 R
<a href="/topics/" title="Topics">Topics</a></li>
- m: d0 U8 h7 A# u9 E9 s6 A9 l<li id="about">
- E, g0 d4 N; H1 z9 a& s+ p' K<a href="/about/" title="About">About</a></li>6 K; X% O' Y. Y% ^* R+ F3 V
<li id="contact">
8 Q C% E6 ~6 q<a href="/contact/" title="Contact">Contact</a></li>
8 i4 _6 q9 d1 w$ l/ v& n<li id="contribute">/ m" t9 F; k# | K7 D
<a href="/contribute/" title="Contribute">Contribute</a></li>+ Y4 [; Z: I2 e: t. \# j P
<li id="feed">! n' q, H6 \" c7 m+ m# [* d f
<a href="/feed/" title="Feed">Feed</a></li>+ H7 U: t! J- \4 P- `8 z' @
</ul>& _5 p, {) z2 R0 }% \. t
<h1 id="masthead">
, ]0 Z/ x$ j- }- S<a href="/">* l2 w, G4 D6 ~! n
<img src="/pix/alalogo.gif" alt="A LIST Apart: For People Who Make Websites" />
5 T( V I- N/ D/ `9 b1 g</a>
1 d: e9 v+ {- O4 g, }+ A</h1> r( A& m) j6 E J! \
以下是引用片段:<div id="ish"> <a href="/issues/214" title="Issue 214">No. <em>214</em></a> </div> 效果可访问:ALA 5 y& A, j2 u6 W
定义了最上面的导航(ul部分),左边的大logo和那个圆圆的No.xxxx的标记.
" N# t, q0 z! B) A* ~5 ^3 |, P/ H1 J它没有使用DIV来做顶部的框架,但却很好的说明了这些网站源码代码的用途,因为它活用了HTML提供的标签,以及样式名称的定义
& p$ d! f5 `6 C: S. q) A其它最常用的布局标签
3 a% b# }8 x; gh1,这个标签或许真正会去用的人很少,因为它显示的字体真的是太"大"了,但我们是CSSer,有什么标签样式不能改呢?而且它所能表达的意思就如同它原先的作用一样明显(大标题)
. I& K" c/ k& I9 Y9 T% x3 B/ C) aul,这个标签很多情况是asp网站源码用来定义导航部分的,当然也可以用ol来代替,但导航连接没有什么顺序之分吧,所以还是用ul来的比较确切(去掉CSS后效果更明显)
% J% [9 @0 V! Eb,这个已经不再推荐使用的标签,在布局上却能带来不少的方便(因为短),虽然我不是太赞成使用这个标签,但有些时候(比如细小地方的布局定义)还是不错的选择
# c( @! Y, J, K8 Kh2,使用最多的地方应该不是布局上,而是副标题,但有些地方需要定义栏目样式的话,用这个标签比较合适,栏目内容就使用p |