CSS网页布局的一大特点就是列表元素的应用,在传统的表格布局中往往将列表元素作为表格来处理,这样的方式非但不具有语义还产生了许多不必要的代码。
今天我们共同学习一款“图文混排CSS列表”的制作。首先从分析一下此列表的特点,然后编写HTML代码,最终应用CSS样式实现最终的效果。 列表的效果如图所示: ![]() 最顶部是栏目名称“模板无忧 MB5U.com ”与栏目导航“CSS酷站欣赏 DivCSS教程 CSS模板下载”。栏目名称用标题元素Hx来表示,栏目导航可以用ul li的无序列表。 下部的三个链接区域形式基本雷同,左侧是图片链接,右侧是文章列表元素。将左侧的图片与文字看成是一个段落,用p标签来表示,右侧的文章列表用ul li的无序列表。 有了上面的分析开始下面的HTML编码:
<div id="list_mb5u_com"> 将所有元素置入id为list_mb5u_com的层中,以便于进行整体布局的控制。在其内部建立四个层,它们分别是:list_title、l_showcase、l_article、l_templates。对于下部的三个内容层,应用同样的class,为list_unit。 下面开始具体深入的编写HTML代码:
<div id="list_mb5u_com"> 在list_title层,置入h3元素作为栏目名称,建立一个ul列表放置栏目导航。 下部的三个内容层(list_unit),分别置入段落标签p,引入链接图片与文字;建立一个ul放置文章列表。 在最底部,放置一个类为clear的层来清除浮动。 有了上面的基础开始下面的CSS编码:
* { margin:0; padding:0; font-size:13px; color:#000; list-style:none;} 整体布局声明: 设置整个层的样式,宽度为418px,上下外边距为30px,左右为自动实现水平居中对齐。边框设置为1px的灰色实线。
.list_title { width:418px; height:32px; border-bottom:1px solid #999; background:#f2f9fd; overflow:hidden;} 标题区域list_title层的CSS样式定义: 设置list_title层宽度与高度分别是:418px、32px;下边框为1px的灰色实线;设置背景色及溢出隐藏。 栏目名称h3元素向左浮动;宽度160px;行距32px实现文字垂直居中对齐;文本缩进为15px。紧接着设置栏目名称h3链接的样式。 栏目导航ul列表的CSS样式,向右浮动;宽度为230px;设置列表项li向左浮动;行距为32px;上下内边距为0,左右内边距为5px;紧接着设置链接文字大小与颜色。
.list_unit { float:left; width:388px; margin-left:15px; padding:15px 0 8px 0; border-bottom:1px dotted #9AC4E9;} 内容层(list_unit)整体样式定义: 向左浮动;宽度为388px,左外边距为15px,上内边距15px、下内边距8px;设置下边框为浅蓝色的虚线。 设置为内联是避免IE的双边距BUG。
.list_unit p { float:left; width:164px;} 内容层(list_unit)内图片链接样式定义: 整个段落p,向左浮动,宽度为164px。 设置链接为块元素;设置边框为1px蓝色实线。 链接悬念状态下,边框变为1px深蓝色虚线。 链接元素内的图片定义,宽度与高度分别是:160px、120px;外边距为1px;边框为0(消除图片链接浏览器的默认边框)。 设置链接文字样式,由于上面的设置是整体的,因而在下面的内容中,注重将上面的一些内容层叠掉。 将span转换为块元素。span内的链接同样转换为块元素,设置宽度与高度分别是164px、22px;设置边框为0(层叠先前的设置);行距设置为22px;文字水平居中对齐。 span内的链接文字悬停状态下,设置边框为0;颜色设置为#c00;显示下划线。
.list_unit ul { float:right; width:216px; margin-top:-5px;} 内容层(list_unit)内文章列表样式定义: 整个列表ul向右浮动;宽度为216px;上外边距为-5px。 列表项li的CSS样式设置,向左浮动,宽度为216px;行距为22px;颜色为#039;后面的三个属性是实现“截字”效果,网站上有具体的介绍。(请注重此效果在FF下无效)
#l_templates { border-width:0;}
Ps:自己又敲了一遍,真的蛮不错的,对学习CSS的有好处.... |
|
来自: crystyleEye > 《div css;table》