html盒子全部蓝色,彻底弄懂CSS盒子模式之五

三、分析实现方法

1.从上面的截图可以看到有一标题,标题下面是一个列表,所以很容易想到用标签和无序列表

  • 来做结构,标题是一块有背景的矩形块,文字白色,文字在矩形块中居中对齐,所以给标签加个宽度控制,最后为了让文本看起来在垂直方向上居中,再加个上边填充,所以用到下面样式:

h3 {

color: #FFF;

background-color: #F90;

width: 100px;

padding-top:3px;

text-align:center;

}

2.下面是一个

  • 区块,我让它有一个上线框,这样与标题吻合在一起就做出了标题效果,而
    • 里面的
    • 要有一条下划线,以形成一种分行效果,于是用到下边框,这里用到下面样式:

      ul {

      width: 300px;

      border-top: 1px solid #F60;/*使其上边有一线条,与标题h3吻合*/

      }

      ul li {

      padding:5px;

      border-bottom: 1px solid #CCC;

      list-style:none;/*去除列表样式,这对于标准浏览器很重要*/

      }

      3.列表中的链接文字点击效果就很简单了,大家自己看代码就行了,注意一点就是用到了下列一条样式:

      a {

      position: relative;/*设置其定位方法为相对定位,等一下内部信息面板就可以相对它定位*/

      display:block;/*让链接以块状呈现,这样不用点中链接文字就可以响应链接*/

      }

      4.组织信息面板布局(实现的显示与隐藏效果放在后面再说)。信息面板为一个有浅蓝色背景和较深蓝色边框,并且有5px填充的盒子,盒子左边安排一幅图片,图片大小用CSS控制,图片右边为一个有清晰数据结构列表,为了不出现与前边父级

    • 的重复使用(不然等一下CSS样式控制会较麻烦,因为内部的
    • 会继承父级的样式,除非你又要新定义一则样式来逐一清除父级带给它的样式),所以我用到
      结构,只设定

      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;

      }

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

      (1)让信息面板初始状态隐藏,用到样式:

      a div {

      display: none;/*初始化信息面板不显示*/

      }

      (2)显示面板,用到样式:

      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有效*/

      }

      四、收尾工作

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

      出处:蓝色理想

      责任编辑:moby

      ◎进入论坛网页制作、网站综合版块参加讨论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值