当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > Firefox和IE通用的三则网站重构实用技巧

CSS样式表
CSS网页设计 IE8和IE7共存
CSS2 打印属性让打印HTML文档不出问题
制作网页中设计段落缩进的方法
CSS border 属性使用说明
CSS border-style 属性使用方法
CSS border-color 属性使用方法
CSS border-width 属性使用教程
CSS padding属性定义边内补白
CSS margin 属性定义边外补白
网页布局教程 掌握CSS网页布局属性
css 背景样式属性说明
span margin 设置生效
html 滚动条在IE6和IE7中兼容性问题
IE6 两个div有间隙的问题(IE 3px bug)
CSS 数字和字母将容器撑大问题解决
换个角度看页面重构中的语义化
DIY属于个人开发使用的CSS Reset
CSS 空格引起网页布局间距问题
CSS 网页制作时遇到问题的快速参考技巧
css li 去掉点的样式写法

CSS样式表 中的 Firefox和IE通用的三则网站重构实用技巧


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

   使用zoom、overflow解决IE6、IE7、FF下嵌套容器清除浮动问题

  我们经常遇到一个容器外面套一个边框,边框高度随容器高度变化,但是当边框内容器设置了浮动属性后,外框就不跟随变化,这时就需要清除浮动。给外边框容器加上overflow:auto的属性,可以解决IE7和FF下的清除浮动问题,但是IE6下不生效,我们需要使用IE的一个私有属性zoom使IE5.5+的浏览器达到外框跟随变化的效果。

  需要注意的几个细节问题,例如我们建立一个样式为text的容器,宽200象素,高度自适应,外面包一个样式为content的10象素的外框。(如图1)

Firefox和IE通用的三则网站重构实用技巧_软晨学习网ruanchen.com转载

图1

      代码如下:

<style type="text/css">
.content{ border:10px solid #F00;}
.text{ width:200px; height:300px; background:#000;}
</style>

<body bgcolor="#FFFFFF">
<div class="content">
    <div class="text"></div>
</div>
</body>

  如果我们为text容器设置了左浮动的属性,并将content容器定义了200象素的宽,就需要为content容器增加overflow:auto属性,以清除text容器的浮动。否则FF下则会出现问题。(如图2)

Firefox和IE通用的三则网站重构实用技巧_软晨学习网ruanchen.com转载

图2

      代码如下:

<style type="text/css">
.content{ border:10px solid #F00; width:200px; overflow:auto;}
.text{ width:200px; height:300px; background:#000; float:left;}
</style>

<body bgcolor="#FFFFFF">
<div class="content">
    <div class="text"></div>
</div>
</body>

  除此之外还有一种比较特殊的情况,如果在不设定content宽度的情况下,仅仅使用overflow:auto,在IE5.5+下是无法实现清除浮动的效果的。为此我们需要使用一个IE的私有属性zoom来使IE下达到所需效果。

      代码如下:

<style type="text/css">
.content{ border:10px solid #F00; overflow:auto; zoom:1;}
.text{ width:200px; height:300px; background:#000; float:left;}
</style>

<body bgcolor="#FFFFFF">
<div class="content">
    <div class="text"></div>
</div>
</body>

      使用链接样式模拟图片热区

  如果为一副不规则图片添加区域链接,很多朋友都会考虑使用Dreamweaver的热区功能,其实如果需要添加链接的区域是规则的矩形形状,我们可以使用样式表控制链接的样式来模拟热区的效果,代码少,易于维护和修改。
  例如我们要在一张400×100的背景图片上建立一个100×50大小和200×80大小的矩形热区。(如图3)

Firefox和IE通用的三则网站重构实用技巧_软晨学习网ruanchen.com转载

图3
      代码如下:

<style type="text/css">
#banner{ width:400px; height:100px; background:#959595;}
#banner a{ float:left;}
#banner a.link1{ width:100px; height:50px; background:#F00; margin:20px 0 0 20px;}
#banner a.link2{ width:200px; height:80px; background:#F00; margin:10px 0 0 50px;}
</style>

<body bgcolor="#FFFFFF">
<div id="banner">
    <a href="#" class="link1"></a>
    <a href="#" class="link2"></a>
</div>
</body>

  通过这种将链接变成块属性的方法,可以方便的定义矩形热区,并通过样式控制每个区域的位置,并且代码清晰,修改方便。
 
      使用列表实现图片排版自动更新排列

  在制作图片站点的时候,经常会用到图片排版,并且最新更新的图片显示在最前面,后面依次类推。使用表格可以实现这样的效果,但是略显复杂,下面分享一下我使用列表完成的效果。

  图片尺寸为100×80象素,每行3列。(如图4)

Firefox和IE通用的三则网站重构实用技巧_软晨学习网ruanchen.com转载

图4
      代码如下:

<style type="text/css">
ul{ margin:0; padding:0 0 20px 0; list-style:none; width:380px; overflow:auto; background:#959595;}
ul li{ float:left; display:inline; width:100px; height:80px; background:#F00; margin:20px 0 0 20px;}
</style>

<body bgcolor="#FFFFFF">
<ul>
    <li>4</li>
    <li>3</li>
    <li>2</li>
    <li>1</li>
</ul>
</body>

  这样只要每次增加一行列表,就可以完成图片的自动更新排版。这里需要大家注意两点:

  一、和第一个例子讲的一样,<li>使用了浮动属性,所以<ul>需要使用overflow:auto来清除浮动;

  二、示例代码中对<li>使用了display:inline属性,是为了解决IE6下左浮动双倍边距的bug,这个小技巧希望朋友们注意。
 
  注:以上示例在IE6、IE7、FireFox浏览器下测试通过。