彻底弄懂CSS盒子模式五(定位强化练习)

我的淘货之家 http://taohuojia.taoke.bz/

在本人上一篇教程《彻底弄懂CSS盒子模式四(绝对定位和相对定位)》中最后有演示一个综合导航实例,那时因为时间关系,同时本人也觉得有必要将这实例分出来单独讲一下,所以没有把实例讲解教程写到上一篇教程中。这个教程可以作为CSS定位学习的强化练习,当然教程我也不只是单一的讲解做的步骤,还会和大家一起来分析一下设计思路,同时分享本人在做的过程中发现的一些问题供大家防范参考。为了兼顾一下没有来得及看我上一篇教程的网友,我再次给出代码运行框,大家可以先运行看看效果,不过建议最好先看一下本人上一篇教程,除非你已对定位有所了解。另外本实例还是不够完善的,比如结构的规范等等,如果你能有更好的实现方法,不妨在回复中写出来与大家分享,同时也让我这个积极的菜鸟学习下。

运行代码框
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>相对定位和绝对定位实例--作者:唐国辉</title> <style type="text/css"> <!-- *{ margin:0px; padding:0px; } body { margin:10px; font-size: 13px; } a:link { color: #666; text-decoration: none;/*去除链接下划线*/ } a:visited { color: #666; text-decoration: none; } a:hover { color: #F90; } h3 { color: #FFF; background-color: #F90; width: 100px; padding-top:3px; text-align:center; } ul { width: 300px; border-top: 1px solid #F60;/*使其上边有一线条,与标题h3吻合*/ } ul li { padding:5px; border-bottom: 1px solid #CCC; list-style:none;/*去除列表样式,这对于标准浏览器很重要*/ } a { position: relative;/*设置其定位方法为相对定位,等一下内部信息面板就可以相对它定位*/ display:block;/*让链接以块状呈现,这样不用点中链接文字就可以响应链接*/ } a div { display: none;/*初始化信息面板不显示*/ } a:hover {background:#fff;}/*IE7以下版本A状态伪类bug*/ a:hover div { position: absolute; padding:5px; display:block; width: 245px;/*只给出宽度,高让它随内容多少自动调整*/ left:150px;/*这是相对父级A的定位*/ top: 20px; border: 1px solid rgb(91,185,233); background-color: rgb(228,246,255); z-index:999;/*把信息面板提到一个较高的位置,使链接文字过长时不会与面板重叠,但这只对FF有效*/ } a img { width:80px; height:80px; border:none;/*去除图片边框,默认情况下,链接内的图片在标准浏览器会出现边框*/ display:block; position: absolute;/*用绝对定位抽离正常文本流,不然在设计的时候考虑到不同浏览器正常显示会更麻烦*/ top:5px;/*这里的5px是与信息面板大盒子的填充一样的*/ left:5px; } dl { width: 160px; float:right; color: #999; line-height:20px; } dl dd span { font-weight: bold; color: #639; } --> </style> </head> <body> <h3>最新单曲</h3> <ul> <li><a href="#">01 爱的文身 黄圣依<div><img src="http://imgcache.qq.com/music/photo/singer/54/singerpic_5554_0.jpg" alt="" /> <dl> <dd><span>歌名:</span>爱的文身</dd> <dd><span>歌手:</span>黄圣依</dd> <dd><span>介绍:</span>黄圣依唱片主打歌的确是她个人的内心写照,《爱的文身》由香港音乐大师金培达作曲,制作人陈少琪亲自填词。</dd> </dl></div></a></li> <li><a href="#">02 累了 阿信<div><img src="http://imgcache.qq.com/music/photo/singer/47/singerpic_6547_0.jpg" alt="" /> <dl> <dd><span>歌名:</span>累了</dd> <dd><span>歌手:</span>阿信</dd> <dd><span>介绍:</span>青春校园偶像剧----【熱情仲夏】片尾曲</dd> </dl></div></a></li> <li><a href="#">03 漫漫 慢慢 阿朵<div><img src="http://imgcache.qq.com/music/photo/singer/61/singerpic_6361_0.jpg" alt="" /> <dl> <dd><span>歌名:</span>漫漫 慢慢</dd> <dd><span>歌手:</span>阿朵</dd> <dd><span>介绍:</span>阿朵抢听版最新单曲《漫漫慢慢》让你认识阿朵柔情的一面,展现阿朵百变的风格。</dd> </dl></div></a></li> <li><a href="#">04 我怀念的 孙燕姿<div><img src="http://imgcache.qq.com/music/photo/singer/9/singerpic_109_0.jpg" alt="" /> <dl> <dd><span>歌名:</span>我怀念的</dd> <dd><span>歌手:</span>孙燕姿</dd> <dd><span>介绍:</span>令人感同身受的抒情歌,在故事性的架构中,有着平凡但又能扣人心弦的情感,是一首高度共鸣的抒情歌。</dd> </dl></div></a></li> <li><a href="#">05 听,花期越来越近 后弦<div><img src="http://imgcache.qq.com/music/photo/singer/33/singerpic_4733_0.jpg" alt="" /> <dl> <dd><span>歌名:</span>花期越来越近</dd> <dd><span>歌手:</span>后弦</dd> <dd><span>介绍:</span>后弦参与《花开的声音》这个舞台剧里的一部分,邀请了后弦去演唱这首歌,此歌就是为舞台剧《花开的声音》而创作。</dd> </dl></div></a></li> </ul> </body> </html>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

一、实例实现功能介绍

本实例为一个栏目链接列表,鼠标移动到链接所在行,链接文本颜色会改变,同时会在链接右下侧显示一个与链接相干的信息面板,信息面板中左边有一幅图片,图片右侧又有三项说明,它们分别是“歌名”、“歌手”、“介绍”。这个栏目被重定位到其它地方,效果、位置不会发生改变,全程只用 CSS+DIV实现,无任何脚本。


实例效果截图

二、结构和样式代码

1.结构

<h3>最新单曲</h3>
<ul>

<li><a href="#">01 爱的文身 黄圣依<div><img src="http://imgcache.qq.com/music/photo/singer/54/
singerpic_5554_0.jpg" alt="" />
<dl>
    <dd><span>歌名:</span>爱的文身</dd>
    <dd><span>歌手:</span>黄圣依</dd>
    <dd><span>介绍:</span>黄圣依唱片主打歌的确是她个人的内心写照,《爱的文身》由香港音乐大师金培达作曲,制作人陈少琪亲自填词。</dd>
</dl></div></a></li>

<li><a href="#">02 累了 阿信<div><img src="http://imgcache.qq.com/music/photo/singer/47/
singerpic_6547_0.jpg" alt="" />
<dl>
    <dd><span>歌名:</span>累了</dd>
    <dd><span>歌手:</span>阿信</dd>
    <dd><span>介绍:</span>青春校园偶像剧----【熱情仲夏】片尾曲</dd>
</dl></div></a></li>

<li><a href="#">03 漫漫 慢慢 阿朵<div><img src="http://imgcache.qq.com/music/photo/singer/61/
singerpic_6361_0.jpg" alt="" />
<dl>
    <dd><span>歌名:</span>漫漫 慢慢</dd>
    <dd><span>歌手:</span>阿朵</dd>
    <dd><span>介绍:</span>阿朵抢听版最新单曲《漫漫 慢慢》让你认识阿朵柔情的一面,展现阿朵百变的风格。</dd>
</dl></div></a></li>

<li><a href="#">04 我怀念的 孙燕姿<div><img src="http://imgcache.qq.com/music/photo/singer/9/
singerpic_109_0.jpg" alt="" />
<dl>
    <dd><span>歌名:</span>我怀念的</dd>
    <dd><span>歌手:</span>孙燕姿</dd>
    <dd><span>介绍:</span>令人感同身受的抒情歌,在故事性的架构中,有着平凡但又能扣人心弦的情感,是一首高度共鸣的抒情歌。</dd>
</dl></div></a></li>

<li><a href="#">05 听,花期越来越近 后弦<div><img src="http://imgcache.qq.com/music/photo/singer/33/
singerpic_4733_0.jpg" alt="" />
<dl>
    <dd><span>歌名:</span>花期越来越近</dd>
    <dd><span>歌手:</span>后弦</dd>
    <dd><span>介绍:</span>后弦参与《花开的声音》这个舞台剧里的一部分,邀请了后弦去演唱这首歌,此歌就是为舞台剧《花开的声音》而创作。</dd>
</dl></div></a></li>

</ul>

2.样式

*{
    margin:0px;
    padding:0px;
}
body {
    margin:10px;
    font-size: 13px;
}
a:link {
    color: #666;
    text-decoration: none;/*去除链接下划线*/
}
a:visited {
    color: #666;
    text-decoration: none;
}
a:hover {
    color: #F90;
}
h3 {
    color: #FFF;
    background-color: #F90;
    width: 100px;
    padding-top:3px;
    text-align:center;
}
ul {
    width: 300px;
    border-top: 1px solid #F60;/*使其上边有一线条,与标题h3吻合*/
}
ul li {
    padding:5px;
    border-bottom: 1px solid #CCC;
    list-style:none;/*去除列表样式,这对于标准浏览器很重要*/
}
a {
    position: relative;/*设置其定位方法为相对定位,等一下内部信息面板就可以相对它定位*/
    display:block;/*让链接以块状呈现,这样不用点中链接文字就可以响应链接*/
}
a div {
    display: none;/*初始化信息面板不显示*/
}
a:hover {background:#fff;}/*IE7以下版本A状态伪类bug*/
a:hover div {
    position: absolute;
    padding:5px;
    display:block;
    width: 245px;/*只给出宽度,高让它随内容多少自动调整*/
    left:150px;/*这是相对父级A的定位*/
    top: 20px;
    border: 1px solid rgb(91,185,233);
    background-color: rgb(228,246,255);
    z-index:999;/*把信息面板提到一个较高的位置,使链接文字过长时不会与面板重叠,但这只对FF有效*/
}
a img {
    width:80px;
    height:80px;
    border:none;/*去除图片边框,默认情况下,链接内的图片在标准浏览器会出现边框*/
    display:block;
    position: absolute;/*用绝对定位抽离正常文本流,不然在设计的时候考虑到不同浏览器正常显示会更麻烦*/
    top:5px;/*这里的5px是与信息面板大盒子的填充一样的*/
    left:5px;
}
dl {
    width: 160px;
    float:right;
    color: #999;
    line-height:20px;
}
dl dd span {
    font-weight: bold;
    color: #639;
}


详情http://www.blueidea.com/tech/web/2007/4602.asp

你可能感兴趣的:(设计模式,css,浏览器,情感,音乐)