Firefox和IE通用的三则网站重构实用技巧

所属分类: 网页制作 / CSS 阅读数: 347
收藏 0 赞 0 分享
使用zoom、overflow解决IE6、IE7、FF下嵌套容器清除浮动问题
  我们经常遇到一个容器外面套一个边框,边框高度随容器高度变化,但是当边框内容器设置了浮动属性后,外框就不跟随变化,这时就需要清除浮动。给外边框容器加上overflow:auto的属性,可以解决IE7和FF下的清除浮动问题,但是IE6下不生效,我们需要使用IE的一个私有属性zoom使IE5.5 的浏览器达到外框跟随变化的效果。
  需要注意的几个细节问题,例如我们建立一个样式为text的容器,宽200象素,高度自适应,外面包一个样式为content的10象素的外框。(如图1)

Firefox和IE通用的三则网站重构实用技巧_脚本之家jb51.net转载 图1

代码如下:
<styletype="text/css">
.content{border:10pxsolid#F00;}
.text{width:200px;height:300px;background:#000;}
</style>
<bodybgcolor="#FFFFFF">
<divclass="content">
<divclass="text"></div>
</div>
</body>   如果我们为text容器设置了左浮动的属性,并将content容器定义了200象素的宽,就需要为content容器增加overflow:auto属性,以清除text容器的浮动。否则FF下则会出现问题。(如图2)

Firefox和IE通用的三则网站重构实用技巧_脚本之家jb51.net转载 图2
代码如下:
<styletype="text/css">
.content{border:10pxsolid#F00;width:200px;overflow:auto;}
.text{width:200px;height:300px;background:#000;float:left;}
</style>
<bodybgcolor="#FFFFFF">
<divclass="content">
<divclass="text"></div>
</div>
</body>
  除此之外还有一种比较特殊的情况,如果在不设定content宽度的情况下,仅仅使用overflow:auto,在IE5.5 下是无法实现清除浮动的效果的。为此我们需要使用一个IE的私有属性zoom来使IE下达到所需效果。
代码如下:
<styletype="text/css">
.content{border:10pxsolid#F00;overflow:auto;zoom:1;}
.text{width:200px;height:300px;background:#000;float:left;}
</style>
<bodybgcolor="#FFFFFF">
<divclass="content">
<divclass="text"></div>
</div>
</body> #p#
使用链接样式模拟图片热区   如果为一副不规则图片添加区域链接,很多朋友都会考虑使用Dreamweaver的热区功能,其实如果需要添加链接的区域是规则的矩形形状,我们可以使用样式表控制链接的样式来模拟热区的效果,代码少,易于维护和修改。
  例如我们要在一张400×100的背景图片上建立一个100×50大小和200×80大小的矩形热区。(如图3)

Firefox和IE通用的三则网站重构实用技巧_脚本之家jb51.net转载 图3 代码如下:
<styletype="text/css">
#banner{width:400px;height:100px;background:#959595;}
#bannera{float:left;}
#bannera.link1{width:100px;height:50px;background:#F00;margin:20px0020px;}
#bannera.link2{width:200px;height:80px;background:#F00;margin:10px0050px;}
</style>
<bodybgcolor="#FFFFFF">
<divid="banner">
<ahref="#"class="link1"></a>
<ahref="#"class="link2"></a>
</div>
</body>   通过这种将链接变成块属性的方法,可以方便的定义矩形热区,并通过样式控制每个区域的位置,并且代码清晰,修改方便。 使用列表实现图片排版自动更新排列
  在制作图片站点的时候,经常会用到图片排版,并且最新更新的图片显示在最前面,后面依次类推。使用表格可以实现这样的效果,但是略显复杂,下面分享一下我使用列表完成的效果。
  图片尺寸为100×80象素,每行3列。(如图4)

Firefox和IE通用的三则网站重构实用技巧_脚本之家jb51.net转载 图4 代码如下:
<styletype="text/css">
ul{margin:0;padding:0020px0;list-style:none;width:380px;overflow:auto;background:#959595;}
ulli{float:left;display:inline;width:100px;height:80px;background:#F00;margin:20px0020px;}
</style>
<bodybgcolor="#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浏览器下测试通过。
更多精彩内容其他人还在看

js 解决隐藏与显示div的相关问题

我的导航中就有一栏产品中心下面用隐藏个div然后鼠标放上去就显示出来,但是导航那一块div一直出不来,什么都没有,很是郁闷不知道是什么原因
收藏 0 赞 0 分享

关于clearBoth在GOOGLE Chrome中的问题解决方法

下面这段CSS在IE中好好的,但在GOOGLE Chrome中总是不行,我调测了无数次。问题就出在 clearBoth 这个样式上,此问题如何解决,写下来详细介绍
收藏 0 赞 0 分享

用css margin去掉横排图片之间的间距

HTM,CSS,怎样去掉横排图片之间的间距,是我们的一大头疼问题,于是本人搜集整理一下,晒出来和大家分享,希望可以帮助你们
收藏 0 赞 0 分享

关于li:hover的怎么清除浮动问题实现代码

当鼠标移动上去时,周围显示一个方框,但是后面的会向后移动,如何才能使得当鼠标移上去时后面的li不浮动
收藏 0 赞 0 分享

ie6不支持两个连续并列class类名怎么解决

在网页布局中会使用到两个连续的class,但唯独ie6不支持,很郁闷,于是搜索整理下,晒出来和大家分享
收藏 0 赞 0 分享

如何在class内写xsl标记注意事项

想要在class中写一个xsl标记,想要知道应该如何来写出正确的代码语句,请详看本文
收藏 0 赞 0 分享

ie10 css hack 条件注释等兼容方式整理

ie10已经上线一段时间了,相信已经有一部分前端潮人体验过了,截至到现在,在ie6到ie9的浏览器各种各样的古怪行为,开发人员不得不使用条件注释,有条件的类,和其他特定于IE的css hack来解决
收藏 0 赞 0 分享

IE6双倍边距 IE6浏览器会出现双倍边距解决方法

所谓的IE6双倍边距就是指当元素有float属性,又有margin属性时,在IE6下面显示的margin的值是设置值的两倍,这个问题从有css技术时就已经诞生,本文将介绍详细解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

css 网页背景图片 怎样用CSS实现大背景网页效果

在网页设计制作中经常会遇到这样的问题:用图片做背景时,由于显示器分辨率太大或者图片尺寸太小,在页面的两边或者下部了没有背景图片,使页面变的很僵硬,于是搜集整理一些,晒出来和大家分享
收藏 0 赞 0 分享

CSS字体中英文名称对照表 CSS常用中文字体英文名称对照表

在CSS文件中,我们常看到有些字体名称变成了乱码,这是由于编写者将中文字体的名字直接写成了中文,为了避免这种状况出现,在CSS文件中使用中文字体时,最好使用中文字体的英文名称,需要的朋友可以注意下
收藏 0 赞 0 分享
查看更多