当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > dl、dt、dd 标记来改造163邮箱的广告条

CSS样式表
DIV和CSS排版中制作细线条的方法小结
在解决ul居中问题时想到的几点
网页编辑中CSS样式表技巧总结
一个老外弄的Clearing floats(清除浮动的方法)
常用的DIV+CSS的基本框架结构但不推荐都放一个div里
无js5款纯div+css制作的弹出菜单标准
超强推荐CSS打造经典鼠标触发显示选项
CSS网页布局入门教程5:二列宽度自适应
CSS网页布局入门教程6:左列固定,右列宽度自适应
CSS网页布局入门教程7:二列固定宽度居中
CSS网页布局入门教程9:用CSS设计网站导航——横向导航
CSS网页布局入门教程10:带当前标识的标签式横向导航
CSS网页布局入门教程11:带当前标识的标签式横向导航图片美化版
CSS网页布局入门教程12:纵向导航菜单
CSS网页布局入门教程13:下拉及多级弹出式菜单
CSS网页布局入门教程14:纵向下拉及多级弹出式菜单
解读css发展历史
让用户自己控制网页字体的大小的css书写方法
CSS注释、命名、继承性、样式排序等CSS技巧的小结
CSS标签切换代码实例教程 比较漂亮

CSS样式表 中的 dl、dt、dd 标记来改造163邮箱的广告条


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-13   浏览: 95 ::
收藏到网摘: n/a

     打开网易邮箱的登录界面,我们会发现,在首页的底部有这样一个“最新动态”的广告条,其设计代码如下:
 HTML代码


[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

      在这里,网易采用了table来设计这个页面效果,当然<table>用在这里并没有什么不妥。但是今天,我们主要是想用一个非<table>方法来达到同样的效果。
        首先看一下用到的背景图

这张图片中包含了所有该页面中用到的图片,在这个横条中只用到了底部了两个,我们可以看出,对于长度远小于实际内容的背景来说,使用<table>有很多便利性。
        接下来我们看看怎么用非<table>标签来达到同样的效果:首先,从主义上来看“最新动态”是标题,其它后面几项都是“最新动态的详细内容”,存在主次关系。这个至少可以想到一点就是“最新动态”可能用到<hn>标签;其次,各内容之间的并列关系,对于处理并列关系我们常用的就是无序列表<ul>了;最后,结合上面的主次与并列,我们可以考虑用<dl><dt><dd>来实现这个效果了(关于这三个标签的具体含义和应用请参考“ 经常被遗忘的重要标签——<dl><dt><dd>”)。
  1. * {padding:0;margin:0;font-size:12px;font-family:Tahoma "宋体"}  
  2. dl {background:#E1F6FF url(attachments/month_0712/g2007123002932.gif) no-repeat 0px -259px;float:left;padding-left:5px; margin:100px 0 100px;} /*设定背景位置,设定背景不重复*/  
  3. dt {height:26px;line-height:26px;float:left;background:RGB(187,228,246);padding:0 5px;}/*向左浮动,以期dt和dl内容在在同一行内*/  
  4. dd {padding-left:20px; height:26px;line-height:26px;background:#E1F6FF url(attachments/month_0712/g2007123002932.gif) no-repeat -230px -300px;display:inline;float:left}/*为每个dd设定样式,当然在有些情况下可以使用list-style-type,但这里似乎行不通*/  
  5. .first {padding-left:16px;background:#E1F6FF url(attachments/month_0712/g2007123002932.gif) no-repeat -8px -259px;}/*设定first的特殊样式*/  
  6. .last {padding-left:40px;padding-right:20px;background:#E1F6FF;background:url(attachments/month_0712/g2007123002932.gif) no-repeat -17px -259px;}  


* {padding:0;margin:0;font-size:12px;font-family:Tahoma "宋体"}
dl {background:#E1F6FF url(attachments/month_0712/g2007123002932.gif) no-repeat 0px -259px;float:left;padding-left:5px; margin:100px 0 100px;} /*设定背景位置,设定背景不重复*/
dt {height:26px;line-height:26px;float:left;background:RGB(187,228,246);padding:0 5px;}/*向左浮动,以期dt和dl内容在在同一行内*/
dd {padding-left:20px; height:26px;line-height:26px;background:#E1F6FF url(attachments/month_0712/g2007123002932.gif) no-repeat -230px -300px;display:inline;float:left}/*为每个dd设定样式,当然在有些情况下可以使用list-style-type,但这里似乎行不通*/
.first {padding-left:16px;background:#E1F6FF url(attachments/month_0712/g2007123002932.gif) no-repeat -8px -259px;}/*设定first的特殊样式*/
.last {padding-left:40px;padding-right:20px;background:#E1F6FF;background:url(attachments/month_0712/g2007123002932.gif) no-repeat -17px -259px;}

  1.   
  2. <dl>  
  3.     <dt>最新动态</dt>  
  4.     <dd class="first"> </dd>  
  5.     <dd height="26">100%有奖!白金情侣项链等你拿</dd>  
  6.     <dd>出门在外,紧急邮件处理不了怎么办?</dd>  
  7.     <dd>打造中国最好的收费邮箱</dd>  
  8.     <dd class="last"> </dd>  
  9. </dl>  

<dl>
    <dt>最新动态</dt>
    <dd class="first"> </dd>
    <dd height="26">100%有奖!白金情侣项链等你拿</dd>
    <dd>出门在外,紧急邮件处理不了怎么办?</dd>
    <dd>打造中国最好的收费邮箱</dd>
    <dd class="last"> </dd>
</dl>

运行上面的效果,我们可以看到两者大体相似。
当然,本例存在一个问题就是<dd class="first"> </dd>和<dd class="last"> </dd>是两个为了实现我们想要的效果而存在的,并无实在的语义,因此这也是本例的一个缺点。不过我相信,应该有更好的不使用<table>标签实现此类问题办法。