您好,欢迎访问寿光市炎黄网页设计服务中心!

安丘网站建设之网站制作中IE浏览器兼容问题

发布时间:2022/2/11 14:06:49 5147人看过 字号:  

 虽然现在IE都更新到11了,可从网站统计来看,还有很大一部分网民在使用IE6、IE7、FF,这就使得我们在网站制作时不得不考虑兼容问题。今天小编就给大家讲讲浏览器兼容解决方案。2013011312080623.jpg

一、CSS HACK

以下两种方法几乎能解决现今所有HACK.

所有浏览器 通用

height: 100px;

 

IE6 专用

_height: 100px;

 

IE6 专用

*height: 100px;

 

IE7 专用

*+height: 100px;

 

IE7、FF 共用

height: 100px !important(优先级);

1, !important (不是很推荐,用下面的一种感觉最安全)

 

随着IE7对!important的支持, !important 方法现在只针对IE6的HACK.(注意写法.记得该声明位置需要提前.)

 

代码:

<style>

#wrapper {

width: 100px!important;

width: 80px;

}

</style>

 

2, IE6/IE7对FireFox <from 针对firefox ie6 ie7的css样式>

*+html 与 *html 是IE特有的标签, firefox 暂不支持.而*+html 又为 IE7特有标签.

 

代码:

<style>

#wrapper { width: 120px; }

*html #wrapper { width: 80px;}

*+html #wrapper { width: 60px;}

</style>

 

注意:

*+html 对IE7的HACK 必须保证HTML顶部有如下声明:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www。w3。org/TR/html4/loose.dtd">

 

二、万能 float 闭合(非常重要!) 可以用这个解决多个div对齐时的间距不对,

将以下代码加入Global CSS 中,给需要闭合的div加上 class=”clearfix” 即可,屡试不爽.

<style>

.clearfix:after {

content:".";

display:block;

height:0;

clear:both;

visibility:hidden;

}

.clearfix {

display:inline-block;

}

.clearfix {display:block;}

</style>

 

三、其他兼容技巧(相当有用)

1, FF下给 div 设置 padding 后会导致 width 和 height 增加, 但IE不会.(可用!important解决)

2, 居中问题.

1).垂直居中.将 line-height 设置为 当前 div 相同的高度, 再通过 vertical-align: middle.( 注意内容不要换行.)

2).水平居中. margin: 0 auto;(当然不是万能)

3, 若需给 a 标签内内容加上 样式, 需要设置 display: block;(常见于导航标签)

4, FF 和 IE 对 BOX 理解的差异导致相差 2px 的还有设为 float的div在ie下 margin加倍等问题.

5, ul 标签在 FF 下面默认有 list-style 和 padding . 最好事先声明, 以避免不必要的麻烦. (常见于导航标签和内容列表)

6, 作为外部 wrapper 的 div 不要定死高度, 最好还加上 overflow: hidden.以达到高度自适应.

7, 关于手形光标. cursor: pointer. 而hand 只适用于 IE.贴上代码:

兼容代码:hack最推荐的模式。

.submitbutton {

float:left;

width: 40px;

height: 57px;

margin-top: 24px;

margin-right: 12px;

}

*html .submitbutton {

margin-top: 21px;

}

*+html .submitbutton {

margin-top: 21px;

}

 

1 针对firefox ie6 ie7的css样式

现在大部分都是用!important来hack,对于ie6和firefox测试可以正常显示,但是ie7对!important可以正确解释,会导致页面没按要求显示!找到一个针对IE7不错的hack方式就是使用“*+html”,现在用IE7浏览一下,应该没有问题了现在写一个CSS可以这样:

 

#1 { color: #333; }

* html #1 { color: #666; }

*+html #1 { color: #999; }

那么在firefox下字体颜色显示为#333,IE6下字体颜色显示为#666,IE7下字体颜色显示为#999。

 

2 css布局中的居中问题

主要的样式定义如下:

body {TEXT-ALIGN: center;}

#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }

 

3 盒模型不同解释.

#box{

width:600px;

//for ie6.0- w\idth:500px;

//for ff+ie6.0

}

#box{

width:600px!important

//for ff

width:600px;

//for ff+ie6.0

width :500px;

//for ie6.0-

}

 

4 浮动ie产生的双倍距离

#box{ float:left; width:100px; margin:0 0 0 100px; //这种情况之下IE会产生200px的距离 display:inline; //使浮动忽略}

这里细说一下block,inline两个元素,Block元素的特点是:总是在新行上开始,高度,宽度,行高,边距都可以控制(块元素);Inline元素的特点是:和其他元素在同一行上,…不可控制(内嵌元素);

#box{ display:block; //可以为内嵌元素模拟为块元素 display:inline; //实现同一行排列的的效果 diplay:table;

 

5 IE与宽度和高度的问题

IE不认得min-这个定义,但实际上它把正常的width和height当作有min的情况来使。这样问题就大了,如果只用宽度和高度,正常的浏览器里这两个值就不会变,如果只用min-width和min-height的话,IE下面根本等于没有设置宽度和高度。比如要设置背景图片,这个宽度是比较重要的。要解决这个问题,可以这样:

#box{ width: 80px; height: 35px;}html>body #box{ width: auto; height: auto; min-width: 80px; min-height: 35px;}

 

6 页面的最小宽度

min-width是个非常方便的CSS命令,它可以指定元素最小也不能小于某个宽度,这样就能保证排版一直正确。但IE不认得这个,而它实际上把 width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div> 放到 <body> 标签下,然后为div指定一个类:

然后CSS这样设计:

 

#container{

min-width: 600px;

width:e¬xpression(document.body.clientWidth < 600? “600px”: “auto” );

}

第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。

 

7 清除浮动

 

.hackbox{

display:table;

//将对象作为块元素级的表格显示

}

 

或者

 

.hackbox{

clear:both;

}

 

或者加入:after(伪对象),设置在对象后发生的内容,通常和content配合使用,IE不支持此伪对象,非Ie 浏览器支持,所以并不影响到IE/WIN浏览器。这种的最麻烦的

……#box:after{

content: “.”;

display: block;

height: 0;

clear: both;

visibility: hidden;

}

 

8 DIV浮动IE文本产生3象素的bug

左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.

#box{

float:left;

width:800px;}

#left{

float:left;

width:50%;}

#right{

width:50%;

}

*html #left{

margin-right:-3px;

//这句是关键

}

HTML代码

<DIV id=box>

<DIV id=left></DIV>

<DIV id=right></DIV>

</DIV>

 

9 属性选择器(这个不能算是兼容,是隐藏css的一个bug)

 

p[id]{}div[id]{}

p[id]{}div[id]{}

 

这个对于IE6.0和IE6.0以下的版本都隐藏,FF和OPera作用

属性选择器和子选择器还是有区别的,子选择器的范围从形式来说缩小了,属性选择器的范围比较大,如p[id]中,所有p标签中有id的都是同样式的.

 

10 IE捉迷藏的问题

当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。

有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。

解决办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。

 

11 高度不适应

高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用

margin 或paddign 时。例:

<div id=”box”>

<p>p对象中的内容</p>

</div>

CSS:

#box {background-color:#eee; }

#box p {margin-top: 20px;margin-bottom: 20px; text-align:center; }

 

解决方法:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。

上一篇:没有了!
下一篇:没有了!
返回列表

咨询热线

400-0536-345

周一至周日 08:00 - 20:00

24小时在线咨询




点击这里给我发消息 点击这里给我发消息 点击这里给寿光网站建设sgidc.net发消息

寿光市炎黄网页设计服务中心   
商中在线伙伴商  西部数码钻石代理商
耐思智慧OEM代理  新网区域一级代理
地址:寿光市迎宾路与金光街交叉路口北世豪华府2号楼一楼东门厅
全国服务热线:400-0536-345  
域名合作商:商中在线    空间合作商:西部数码 耐思智慧  新网
Copyright © 炎黄网页设计 All Rights Reserved.
鲁公网安备37078302000015  鲁ICP备10206170号-11 

 

扫码关注微信

扫码浏览手机站

本站关键词:寿光网站建设 寿光网站制作400电话办理 寿光做网站 寿光网络公司 寿光域名注册 寿光服务器空间 寿光网络公司 寿光建站  寿光企业建站 寿光网络公司 寿光网站推广 寿光网页制作 寿光网站优化 寿光网站维护 寿光网络营销 寿光SEO 寿光百度 寿光阿里巴巴  寿光虚拟主机  寿光科技 潍坊建站 潍坊网站建设 潍坊企业建站 潍坊网络公司 潍坊网站推广 潍坊网页制作 潍坊网站优化 潍坊网站维护 潍坊网络营销 潍坊SEO  潍坊百度 潍坊阿里巴巴 潍坊域名注册 潍坊虚拟主机  山东建站 昌乐建站 临朐建站 寿光建站 诸城建站 高密建站 昌邑建站 安丘建站 海化建站 寒亭建站 坊子建站 东营建站 淄博建站 临淄建站 济南建站 青岛建站 枣庄建站 烟台建站 济宁建站 泰安建站 威海建站 日照建站 莱芜建站 临沂建站 德州建站 聊城建站 滨州建站 菏泽建站 张店建站 博山建站