请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 23900|回复: 49

[教程] 彻底弄懂CSS盒子模式五(定位强化练习) [复制链接]

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-4 11:47:50 |显示全部楼层

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


作者:唐国辉


1.彻底弄懂CSS盒子模式一(DIV布局快速入门) 【论坛讨论】
2.彻底弄懂CSS盒子模式二(导航栏实例) 【论坛讨论】
3.彻底弄懂CSS盒子模式三(浮动的表演和清除的自述) 【论坛讨论】
4.彻底弄懂CSS盒子模式四(绝对定位和相对定位) 【论坛讨论】

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

 提示:您可以先修改部分代码再运行


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


实例效果截图


二、结构和样式代码
1.结构
  1. <h3>最新单曲</h3>
  2. <ul>

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

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

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

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

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

  33. </ul>
复制代码

2.样式
  1. *{
  2.         margin:0px;
  3.         padding:0px;
  4. }
  5. body {
  6.         margin:10px;
  7.         font-size: 13px;
  8. }
  9. a:link {
  10.         color: #666;
  11.         text-decoration: none;/*去除链接下划线*/
  12. }
  13. a:visited {
  14.         color: #666;
  15.         text-decoration: none;
  16. }
  17. a:hover {
  18.         color: #F90;
  19. }
  20. h3 {
  21.         color: #FFF;
  22.         background-color: #F90;
  23.         width: 100px;
  24.         padding-top:3px;
  25.         text-align:center;
  26. }
  27. ul {
  28.         width: 300px;
  29.         border-top: 1px solid #F60;/*使其上边有一线条,与标题h3吻合*/
  30. }
  31. ul li {
  32.         padding:5px;
  33.         border-bottom: 1px solid #CCC;
  34.         list-style:none;/*去除列表样式,这对于标准浏览器很重要*/
  35. }
  36. a {
  37.         position: relative;/*设置其定位方法为相对定位,等一下内部信息面板就可以相对它定位*/
  38.         display:block;/*让链接以块状呈现,这样不用点中链接文字就可以响应链接*/
  39. }
  40. a div {
  41.         display: none;/*初始化信息面板不显示*/
  42. }
  43. a:hover {background:#fff;}/*IE7以下版本A状态伪类bug*/
  44. a:hover div {
  45.         position: absolute;
  46.         padding:5px;
  47.         display:block;
  48.         width: 245px;/*只给出宽度,高让它随内容多少自动调整*/
  49.         left:150px;/*这是相对父级A的定位*/
  50.         top: 20px;
  51.         border: 1px solid rgb(91,185,233);
  52.         background-color: rgb(228,246,255);
  53.         z-index:999;/*把信息面板提到一个较高的位置,使链接文字过长时不会与面板重叠,但这只对FF有效*/
  54. }
  55. a img {
  56.         width:80px;
  57.         height:80px;
  58.         border:none;/*去除图片边框,默认情况下,链接内的图片在标准浏览器会出现边框*/
  59.         display:block;
  60.         position: absolute;/*用绝对定位抽离正常文本流,不然在设计的时候考虑到不同浏览器正常显示会更麻烦*/
  61.         top:5px;/*这里的5px是与信息面板大盒子的填充一样的*/
  62.         left:5px;
  63. }
  64. dl {
  65.         width: 160px;
  66.         float:right;
  67.         color: #999;
  68.         line-height:20px;
  69. }
  70. dl dd span {
  71.         font-weight: bold;
  72.         color: #639;
  73. }
复制代码

三、分析实现方法
1.从上面的截图可以看到有一标题,标题下面是一个列表,所以很容易想到用<h>标签和无序列表<ul><li>来做结构,标题是一块有背景的矩形块,文字白色,文字在矩形块中居中对齐,所以给<h>标签加个宽度控制,最后为了让文本看起来在垂直方向上居中,再加个上边填充,所以用到下面样式:
  1. h3 {
  2.         color: #FFF;
  3.         background-color: #F90;
  4.         width: 100px;
  5.         padding-top:3px;
  6.         text-align:center;
  7. }
复制代码

2.下面是一个<ul>区块,我让它有一个上线框,这样与标题吻合在一起就做出了标题效果,而<ul>里面的<li>要有一条下划线,以形成一种分行效果,于是用到下边框,这里用到下面样式:
  1. ul {
  2.         width: 300px;
  3.         border-top: 1px solid #F60;/*使其上边有一线条,与标题h3吻合*/
  4. }
  5. ul li {
  6.         padding:5px;
  7.         border-bottom: 1px solid #CCC;
  8.         list-style:none;/*去除列表样式,这对于标准浏览器很重要*/
  9. }
复制代码

3.列表中的链接文字点击效果就很简单了,大家自己看代码就行了,注意一点就是用到了下列一条样式:
  1. a {
  2.         position: relative;/*设置其定位方法为相对定位,等一下内部信息面板就可以相对它定位*/
  3.         display:block;/*让链接以块状呈现,这样不用点中链接文字就可以响应链接*/
  4. }
复制代码

4.组织信息面板布局(实现的显示与隐藏效果放在后面再说)。信息面板为一个有浅蓝色背景和较深蓝色边框,并且有5px填充的盒子,盒子左边安排一幅图片,图片大小用CSS控制,图片右边为一个有清晰数据结构列表,为了不出现与前边父级<li>的重复使用(不然等一下CSS样式控制会较麻烦,因为内部的<li>会继承父级的样式,除非你又要新定义一则样式来逐一清除父级带给它的样式),所以我用到<dl><dd>结构,只设定<dl>一个宽度,高度不设定,让其高度随说明文字增多而增高,同时不用绝对定位,以便让它可以把父级撑高,然后并让它浮动到右边。而信息面板中的图片则用绝对定位方法把它定位在信息面板左上角,用5px偏移做到与父级5px填充一致,这样看起来会自然点。当然也许你认为还有很多简单的方法可以实现,比如:让图片左浮动,而且再让<dl>浮动就行了,此方法测试表明在IE中能正常显示,在FF中会有问题,因为我本意要让右边说明文字从上到下直列下来,当文字高过图片时,不能出现文字环绕图片的情况,恰好这种情况出现在FF中(因为<dl>是在正常文本流中,而左侧图片又用了左浮动,所以问题出现),所以再想到让<dl>右浮动,但此时图片在正常文本流中又不能放到左上方了,既然浮动会影响到<dl>内的文本流,那么就用绝对定位让其脱离正常文本流,但是问题又来了,这时它无法做到让父级高度自适应。所以最后想到图片是固定在信息面板的左上角的,就把它绝对定位,再让<dl>浮动到右边去,结果发现这个方法还行,用到下面样式:
  1. a:hover div {
  2.         position: absolute;
  3.         padding:5px;
  4.         display:block;
  5.         width: 245px;/*只给出宽度,高让它随内容多少自动调整*/
  6.         left:150px;/*这是相对父级A的定位*/
  7.         top: 20px;
  8.         border: 1px solid rgb(91,185,233);
  9.         background-color: rgb(228,246,255);
  10.         z-index:999;/*把信息面板提到一个较高的位置,使链接文字过长时不会与面板重叠,但这只对FF有效*/
  11. }
  12. a img {
  13.         width:80px;
  14.         height:80px;
  15.         border:none;/*去除图片边框,默认情况下,链接内的图片在标准浏览器会出现边框*/
  16.         display:block;
  17.         position: absolute;/*用绝对定位抽离正常文本流,不然在设计的时候考虑到不同浏览器正常显示会更麻烦*/
  18.         top:5px;/*这里的5px是与信息面板大盒子的填充一样的*/
  19.         left:5px;
  20. }
  21. dl {
  22.         width: 160px;
  23.         float:right;
  24.         color: #999;
  25.         line-height:20px;
  26. }
  27. dl dd span {
  28.         font-weight: bold;
  29.         color: #639;
  30. }
复制代码

5.实现隐藏与显示效果。这个隐藏显示效果是由鼠标触发的,所以要自然想到链接A(因为现在我们是用CSS实现,你不要想到用javascript),并且要把信息面板安排在<a></a>内,因为到时就可以用CSS类型选择符配合样式的a:hover伪类控制其显示和隐藏了。另外一个很重要的问题是IE7以下版本有个A状态伪类BUG,这个BUG使你本来看似没有问题的CSS设置在IE中之前被隐藏的面板无法显示出来,这里用到一个常用的方法,加一条样式:a:hover {background:#fff;}以消除存在问题。

(1)让信息面板初始状态隐藏,用到样式:
  1. a div {
  2.         display: none;/*初始化信息面板不显示*/
  3. }
复制代码

(2)显示面板,用到样式:
  1. a:hover div {
  2.         position: absolute;
  3.         padding:5px;
  4.         display:block;
  5.         width: 245px;/*只给出宽度,高让它随内容多少自动调整*/
  6.         left:150px;/*这是相对父级A的定位*/
  7.         top: 20px;
  8.         border: 1px solid rgb(91,185,233);
  9.         background-color: rgb(228,246,255);
  10.         z-index:999;/*把信息面板提到一个较高的位置,使链接文字过长时不会与面板重叠,但这只对FF有效*/
  11. }
复制代码


四、收尾工作
最后整合一下样式和结构代码就完成了此实例的制作。最后再作一下设计思路扩展指引:像此类隐藏显示的CSS控制设计还可以用到边界的方法,即初始状态用一个很大的margin负值把对象移出可视区域,鼠标响应时再重新定位对象回到正常该出现的位置。另外相信你看完本教程后,自己喜欢的漂亮链接提示面板自己可以做出来了^-^。

[ 本帖最后由 webflash 于 2007-8-20 09:43 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 1 人评分威望 收起 理由
blank + 3 不错,理论结合实际,欢迎继续!

总评分: 威望 + 3   查看全部评分

西部数码顶级域名注册商39元抢注!
blank 

怿飞

荣誉管理

帖子
2375
体力
12545
威望
125
居住地
浙江省 杭州市
发表于 2007-4-4 13:35:18 |显示全部楼层
  1. <dl>
  2.     <dd><span>歌名:</span>爱的文身</dd>
  3.     <dd><span>歌手:</span>黄圣依</dd>
  4.     <dd><span>介绍:</span>黄圣依唱片主打歌的确是她个人的内心写照,《爱的文身》由香港音乐大师金培达作曲,制作人陈少琪亲自填词。</dd>
  5. </dl>
复制代码


对于这部分内容,我更倾向于使用table,因为他们正好呈现的是二维数据的特性:

  1. <table summary="黄圣依歌曲《爱的文身》的详细介绍">
  2.      <tr>
  3.       <th>歌名:</th>
  4.       <td>爱的文身</td>
  5.      </tr>
  6.      <tr>
  7.       <th>歌手:</th>
  8.       <td>黄圣依</td>
  9.      </tr>
  10.      <tr>
  11.       <th>介绍:</th>
  12.       <td>黄圣依唱片主打歌的确是她个人的内心写照,《爱的文身》由香港音乐大师金培达作曲,制作人陈少琪亲自填词。</td>
  13.      </tr>
  14.    </table>
复制代码


还有对于隐藏和显示,你的方法可以达到,而且我以前也喜欢用这个方法,不过最近读了不少书籍,从综合来看,现在个人比较倾向于设定text-indent的无限大负值或绝对元素的left无限大负值来实现这个效果。

主要原因有二:

1、对搜索引擎友好,因为display:none;对于搜索引擎来说会被判断成作弊。
2、让PAD,盲人阅读器等等设备读取到内容,如果display:none,则这部分内容在这些设备上则不会识别!而大多数情况下,我们使用display:none来实现隐藏只是为了达到一种视觉效果需要。

最后补充一点:

对于触发后元素的属性,如果只有触发后有,建议全部写到触发后的属性中,这样会避免一些解析BUG。

[ 本帖最后由 blankzheng 于 2007-4-4 13:41 编辑 ]
个人Blog:PlanABC   团队Blog:淘宝UED  专注Web前端技术!
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-4 13:40:49 |显示全部楼层
原帖由 blankzheng 于 2007-4-4 13:35 发表
<dl>
    <dd><span>歌名:</span>爱的文身</dd>
    <dd><span>歌手:</span>黄圣依</dd>
    <dd><span>介绍:</span>黄圣依唱片主 ...

又提醒了我,WEB标准+SEO优化,感谢!

使用道具 举报

上海梦

中级会员 手机认证 

帖子
204
体力
637
威望
0
居住地
广东省 广州市
发表于 2007-4-4 18:12:06 |显示全部楼层
  1. a:hover div {
  2.     position: absolute;
  3.     padding:5px;
复制代码

这句为何用  positive: absolute 呢?
a:hover div 不是相对于 a:div 定位的吗?
http://shanghaidream.wealink.com

使用道具 举报

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-4 18:31:35 |显示全部楼层
原帖由 ivanryin 于 2007-4-4 18:12 发表
a:hover div {
    position: absolute;
    padding:5px;

这句为何用  positive: absolute 呢?
a:hover div 不是相对于 a:div 定位的吗?


positive: absolute 是信息面板div的定位方式,它是相对于a的定位,前边a {position: relative;}样式的设置就是为了配合div的绝对定位。

使用道具 举报

robben 
帖子
89
体力
177
威望
2
发表于 2007-4-4 23:29:17 |显示全部楼层
啥也不说了,楼主自己看图
blog.12km.com

使用道具 举报

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-5 13:23:19 |显示全部楼层
原帖由 robben 于 2007-4-4 23:29 发表
啥也不说了,楼主自己看图

在本实例教程中,本人并没有承认结构是规范的,A是内联元素,很显然是不能放像DIV这样的块级元素的,所以为了不误导大家,我在文章开头是有指出不足的,并希望网友提出更好的实现方法,下面是引用本教程前面一段的一句话:
另外本实例还是不够完善的,比如结构的规范等等,如果你能有更好的实现方法,不妨在回复中写出来与大家分享,同时也让我这个积极的菜鸟学习下。

至于为什么这样用,本人在文中也有指出,本来是用SPAN的,但是信息面板又用到了SPAN,为了不让信息面板继承前边的父级的样式,也不想再逐一清除父级带给它的样式,所以暂时就这样用了,主要目的是介绍定位的使用,并不是教如何规范化结构。

[ 本帖最后由 blankzheng 于 2007-4-5 15:06 编辑 ]

使用道具 举报

hero4u 

孤竹林

金牌会员 手机认证 

帖子
1305
体力
3444
威望
14
居住地
湖南省 长沙市
发表于 2007-4-5 13:53:26 |显示全部楼层
呵呵,不要鸡蛋里面挑骨头了。
只负责教怎么实现的就可以了。又不是较怎么做符合w3c标准的网页。

思想被束缚,眼界就低了哦
如果非要强求通过标准那就靠javascript了

其实span中间还可以嵌套<em>  <strong>标签的了
体验游戏 game4power

使用道具 举报

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-5 14:10:06 |显示全部楼层
原帖由 hero4u 于 2007-4-5 13:53 发表
呵呵,不要鸡蛋里面挑骨头了。
只负责教怎么实现的就可以了。又不是较怎么做符合w3c标准的网页。

思想被束缚,眼界就低了哦
如果非要强求通过标准那就靠javascript了

其实span中间还可以嵌套< ...


<em>本人已想到,<strong>之前也有想到,但是那时觉得它本身具有表现层的作用,这与表现与结构相分离有点矛盾,所以没有用。

使用道具 举报

幽谷鸟

银牌会员

帖子
883
体力
2830
威望
2
居住地
广东省 深圳市
发表于 2007-4-5 15:03:15 |显示全部楼层
交功课,CSS很乱未整理

 提示:您可以先修改部分代码再运行


有一个问题:hover时,显示框内的文字(如歌名,歌手等)的颜色变得与01,02,03,04,05及其后内容颜色一致,我还没找到为什么及如何解决(也许是一个简单问题)

[ 本帖最后由 winhero_charles 于 2007-4-5 15:09 编辑 ]

使用道具 举报

blank 

怿飞

荣誉管理

帖子
2375
体力
12545
威望
125
居住地
浙江省 杭州市
发表于 2007-4-5 15:05:45 |显示全部楼层
这一切其实都是IE源于IE6不支持除a以外的hover触发
个人Blog:PlanABC   团队Blog:淘宝UED  专注Web前端技术!

使用道具 举报

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-5 15:50:09 |显示全部楼层
原帖由 blankzheng 于 2007-4-5 15:05 发表
这一切其实都是IE源于IE6不支持除a以外的hover触发


对,不然实现方法和结构规范就不是问题了,但我相信现在多数人还是用IE6版本的吧,为了照顾这些浏览者,烦到了设计师!!!

使用道具 举报

hero4u 

孤竹林

金牌会员 手机认证 

帖子
1305
体力
3444
威望
14
居住地
湖南省 长沙市
发表于 2007-4-6 00:42:50 |显示全部楼层
呵呵,用javascript解决么
DOM起来很简单了

nav = document.getElementById("nav");
list = nav.getElementsByTagName("li");   或者a都可以
然后遍历数组加上匿名函数。

修改一下参数就可以随便应用了

em 强调  斜体样式
strong 加粗
很多国外的网站都把这两个标签 font-weight:normal; font-style:normal;掉了
或者#nav em 用选择器过滤部分标签也行啊,又不是重写html标签。

就像提供搜索框的时候
<form id="search">
<fieldset> <legend>标题</legend></fieldset>
</form>
很多时候都是
#search fieldset
{
  border:0;
}
#search legend
{
  display:none;
}
去掉标题和边框了。
fieldset很简单,就是form里面分块标记么。和body中使用div意境差不多了。

在特殊状况下,稍微特殊关照一下,只不过是举手之劳了,加个选择器罢了。

禁用一下css样式,会发现用了这些标签反而排版看起来不一样哦
体验游戏 game4power

使用道具 举报

幽谷鸟

银牌会员

帖子
883
体力
2830
威望
2
居住地
广东省 深圳市
发表于 2007-4-6 14:19:40 |显示全部楼层
我真不明白,a:hover {background:#fff;}的作用?

[ 本帖最后由 winhero_charles 于 2007-4-6 14:21 编辑 ]

使用道具 举报

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-6 14:37:34 |显示全部楼层
原帖由 winhero_charles 于 2007-4-6 14:19 发表
我真不明白,a:hover {background:#fff;}的作用?
a:hover {background:#fff;}/*IE7以下版本A状态伪类bug*/


即不加入这样一条样式,在IE7以下版本,鼠标的滑过事件得不到正解解释,可以删除这条样式前后对比看一下效果。

使用道具 举报

incoca 
帖子
3
体力
7
威望
0
发表于 2007-4-7 16:20:52 |显示全部楼层
原帖由 winhero_charles 于 2007-4-6 14:19 发表
我真不明白,a:hover {background:#fff;}的作用?

这个标签的作用:鼠标按下未释放的样式。
不是因为有些事难以做到
我们才失去自信
而是因为我们失去了自信
有些事才显得难以做到

使用道具 举报

帖子
335
体力
1109
威望
0
居住地
山东省 济南市
发表于 2007-4-8 12:04:50 |显示全部楼层
刚刚学会了最简单的CSS特效
现在又发现这么好的教程
努力学习了

使用道具 举报

帖子
3
体力
21
威望
0
发表于 2007-4-14 22:57:40 |显示全部楼层
再一次了解了 css的简洁,如果配合table那一定更棒!

使用道具 举报

小小菜鸟

钻石会员

帖子
3095
体力
10742
威望
0
发表于 2007-4-15 17:45:33 |显示全部楼层
楼主讲的8错~支持一个.

使用道具 举报

随枫飘月

银牌会员

帖子
753
体力
1698
威望
4
居住地
山东省 济南市
发表于 2007-4-15 20:40:13 |显示全部楼层
blankzheng 的那个二位数据表现老是影响我的思维·····郁闷···· 用还是不用!~!~
不过我做表单都是用table

使用道具 举报

小小菜鸟

钻石会员

帖子
3095
体力
10742
威望
0
发表于 2007-4-15 21:38:44 |显示全部楼层
终于搞懂定位了...以前怎么没看到
相对于其最接近的一个最有定位设置的父级对象进行绝对定位,
这句.

使用道具 举报

gaoang 

angao

银牌会员 手机认证 

帖子
372
体力
2915
威望
1
发表于 2007-4-24 17:02:03 |显示全部楼层
div那段可以用span实现
恩~~~

使用道具 举报

帖子
353
体力
1324
威望
4
居住地
天津市 塘沽区
发表于 2007-4-28 18:53:10 |显示全部楼层

 提示:您可以先修改部分代码再运行



我也来交交功课!!

ps:为什么我的链接颜色和LZ的不一样呢?我看了css代码,我们都没有对a设定链接颜色
还有就是那个img{top:5px;left:5px;}貌似没什么用。

[ 本帖最后由 xtlhnhbb 于 2007-4-28 19:06 编辑 ]

使用道具 举报

帖子
353
体力
1324
威望
4
居住地
天津市 塘沽区
发表于 2007-4-28 18:57:02 |显示全部楼层
怪事。。现在又一样了。

使用道具 举报

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-28 20:53:41 |显示全部楼层
一、
原帖由 winhero_charles 于 2007-4-5 15:03 发表
交功课,CSS很乱未整理

有一个问题:hover时,显示框内的文字(如歌名,歌手等)的颜色变得与01,02,03,04,05及其后内容颜色一致,我还没找到为什么及如何解决(也许是一个简单问题)

这是显示面板继承了父级样式的作用,可以对信息面板里的标签重新指定样式,提高优先权避开父级样式影响。
  1. dl {
  2.         width: 160px;
  3.         float:right;
  4.         [color=Red]color: #999;[/color]       
  5.                 line-height:20px;
  6. }
  7. dl dd span {
  8.         font-weight: bold;
  9.         [color=Red]color: #639;[/color]
  10. }
复制代码


二、
原帖由 winhero_charles 于 2007-4-6 14:19 发表
我真不明白,a:hover {background:#fff;}的作用?
  1. a:hover {background:#fff;}/*IE7以下版本A状态伪类bug*/
复制代码


三、
原帖由 gaoang 于 2007-4-24 17:02 发表
div那段可以用span实现

A容器下已有SPAN,再来个SPAN,样式的继承作用会使你的工作变麻烦。

四、
原帖由 xtlhnhbb 于 2007-4-28 18:53 发表
还有就是那个img{top:5px;left:5px;}貌似没什么用。

不可能没用的,不然图片直接显示靠在信息面板的边框上了。

使用道具 举报

帖子
353
体力
1324
威望
4
居住地
天津市 塘沽区
发表于 2007-4-28 21:28:39 |显示全部楼层
四、

QUOTE:
原帖由 xtlhnhbb 于 2007-4-28 18:53 发表
还有就是那个img{top:5px;left:5px;}貌似没什么用。

不可能没用的,不然图片直接显示靠在信息面板的边框上了。


你把那两句注释一下就知道了,

在a:hover div中已经有{padding:5px;}了。

使用道具 举报

webflash 楼主

笑你废刀

中级会员 手机认证 

帖子
82
体力
203
威望
18
居住地
广东省 广州市
发表于 2007-4-28 21:33:16 |显示全部楼层
原帖由 xtlhnhbb 于 2007-4-28 21:28 发表


你把那两句注释一下就知道了,

在a:hover div中已经有{padding:5px;}了。


信息面板中的IMG采用了绝对定位,已抽离正常文本流,DIV的的PADDING不决定IMG的定位!

使用道具 举报

帖子
353
体力
1324
威望
4
居住地
天津市 塘沽区
发表于 2007-4-28 21:38:24 |显示全部楼层
帮忙看看这个

 提示:您可以先修改部分代码再运行


我用绝对定位设left为负的情况下重做这个例子,发现<dl>没有与<img/>对齐,需要给<img/>加个float:left;才能正常驻显示.

我不明白的是,为什么不用绝对定位做这个例子,不用给<img/>加上float:left; 而用了负值的情况下就要给赋予</img>float:left;

[ 本帖最后由 xtlhnhbb 于 2007-4-28 21:53 编辑 ]

使用道具 举报

帖子
353
体力
1324
威望
4
居住地
天津市 塘沽区
发表于 2007-4-28 21:59:30 |显示全部楼层
不好意思,我搞错了,我在#23楼里写的贴子里给了<img/>绝对定位,而在#28楼里没有。

使用道具 举报

帖子
812
体力
900
威望
0
发表于 2007-4-29 11:03:04 |显示全部楼层
不错   谢谢贡献   收藏
哦米驮佛,女施主.老衲先.......

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 08:59 , Processed in 0.173763 second(s), 11 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部