夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> Css3.0_css2.0_html5
div+css的浏览器兼容问题
夜鹰教程网 来源:www.yyjcw.com 日期:2016-10-28 13:26:18
每一个浏览器看到的颜色都不一样 各自取自己的颜色主要是用CSS控制宽度的变化 IE6和IE7还有遨游等浏览器的识别上是不一样的
body {background-color: #99FF66; *background-color:#000000!important; *background-color: #FF3333;} 分别定义几个浏览器识别的宽度 这段代码是背景颜色的,你分别放到IE6.IE7和遨游上看看,每一个浏览器看到的颜色都不一样 各自取自己的颜色主要是用CSS控制宽度的变化 IE6和IE7还有遨游等浏览器的识别上是不一样的
1、div+css 如何使网站兼容不同字体
使用utf-8内码进行编写
(右键-编码-选择一种其它国家的编码-查看效果)
asp代码如下:
<%
function chinese2unicode(Str)
dim i
dim Str_one
dim Str_unicode
for i=1 to len(Str)
Str_one=Mid(Str,i,1)
Str_unicode=Str_unicode&chr(38)
Str_unicode=Str_unicode&chr(35)
Str_unicode=Str_unicode&chr(120)
Str_unicode=Str_unicode& Hex(ascw(Str_one))
Str_unicode=Str_unicode&chr(59)
next
Response.Write Str_unicode
end function
%>
使用方法:
<%=chinese2unicode("显示的内容") %>

2、关于div+css兼容IE和firefox的问题
好不容易建立的div+css网页完全符合W3C标准。在ie7下显示非常完美,用firefox一测试,乖乖一探糊涂惨不忍睹。经过一番研究发现兼容很
简单。
1、增加   div {overflow: hidden;},目的就是让div自动适应内容高度
2、横排的div外套div
另外 设定
ul {
     margin: 0px;
     padding: 0px;
}
是消除li前面的空格

3、div+css兼容性问题

CSS 兼容要点:DOCTYPE 影响 CSS 处理
FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行
FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中
FF: 设置 padding 后, div 会增加 height 和 width, 但 IE 不会, 故需要用 !important 多设一个 height 和 width
FF: 支持 !important, IE 则忽略, 可用 !important 为 FF 特别设置样式
div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了。缺点是
要控制内容不要换行
cursor: pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以
FF: 链接加边框和背景色,需设置 display: block, 同时设置 float: left 保证不换行。参照 menubar, 给 a 和 menubar 设置高度是为了
避免底边显示错位, 若不设 height, 可以在 menubar 中插入一个空格XHTML+CSS兼容性解决方案小集
使用XHTML+CSS构架好处不少,但也确实存在一些问题,不论是因为使用不熟练还是思路不清晰,我就先把一些我遇到的问题写在下面。
1.在mozilla firefox和IE中的BOX模型解释不一致导致相差2px解决方法:
div css xhtml xml Example Source Code Example Source Code [www.52css.com]
div{margin:30px!important;margin:28px;}
注意这两个margin的顺序一定不能写反,据阿捷的说法!important这个属性IE不能识别,但别的浏览器可以识别。所以在IE下其实解释成这样

div css xhtml xml Example Source Code Example Source Code [www.52css.com]
div{maring:30px;margin:28px}
重复定义的话按照最后一个来执行,所以不可以只写margin:XXpx!important;
2.IE5 和IE6的BOX解释不一致IE5下div{width:300px;margin:0 10px 0 10px;}div的宽度会被解释为300px- 10px(右填充)-10px(左填充)最终
div的宽度为280px,而在IE6和其他浏览器上宽度则 是以300px+10px(右填充)+10px (左填充)=320px来计算的。这时我们可以做如下修改:
div css xhtml xml Example Source Code Example Source Code [www.52css.com]
div{width:300px!important;width :340px;margin:0 10px 0 10px}
关于这个是什么我也不太明白,只知道IE5和firefox都支持但IE6不支持,如果有人理解的话,请告诉我一声,谢了!:)
3.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值所以先定义
div css xhtml xml Example Source Code Example Source Code [www.52css.com]
ul{margin:0;padding:0;}
就能解决大部分问题
4.关于脚本,在xhtml1.1中不支持language属性,只需要把代码改为
div css xhtml xml Example Source Code Example Source Code [www.52css.com]
<script type="text/javascript">

4、div+css兼容问题解决方案(IE5/5.5/6/7/FF)
之前找了几个不同版本的可独立运行的IE浏览器,正好拿来试试页面的兼容性问题。不试不知道,在IE6和FF中没问题的页面在IE5和IE5.5中乱
成一团,一直听说IE5是WEB标准制作的一个“钉子户”,现在不得不相信了。
既然有问题,那就找找解决的方法咯,在网上一搜,相关的文章还是不少的,觉得最直接的方法还是“IE条件注释”,很方便的就能为IE的不
同版本写样式。但这样就得为每个版本写一个样式,不利于文件的优化。
找了一些相关的CSS HACK后,觉得应该可以把IE5/IE5.5/IE6/FF的HACK写到一起的,经过测试,终于找到了一个不错的方法,下面我们来看看
怎么实现:
大家都知道用!important声明可以提升指定样式规则的应用优先权,如下面的例子:
E1{
background-color: red !important;
background-color: blue;
}
但这样写在IE中会有个问题,看过我的《关于CSS样式表优先级》和《关于CSS样式表优先级补遗》,你会知道在IE6和FF中用! important声明
可以提高优先级别,但在IE6中的!important声明并不是绝对的,它会被之后的同名属性定义所替换。也就是说在上面的例子中,IE6所应用的
是最后一个背景色的值,即“blue”;而在FF中背景色的值为“red”。根据这一点,我们就可以把FF和IE的样式分离开。
OK ,解决了FF和IE的问题,现在来解决IE自己的问题。
看过了嘟嘟的《绕过IE6支持IE5的别一种写法-IE也支持"&gt;"》后有感而发,使用“>”IE是否真的可以认得?我们来看个例子:
E1{
background-color: red;
>background-color: blue;
}
在FF中得到的是背景色红色,而在IE中得到的背景色是蓝色,根据样式重定义的规则,如果浏览器可以识别“>”,则应该得到的蓝色的背景
,因此可以知道“>”只有IE可以识别,这点是很重要的哦!在后面大家就会知道了。(注:我测试过其它的一些符号,如“~”、“`”、“
<”等,都只有IE可以识别,在此为了感谢嘟嘟,推荐使用“>”)
我们再来看个例子:
E1{
>background-color: black;
>background-color : green;
}
这个例子在IE6中得到了黑色的背景;而在IE5.5中得到的绿色的背景;在IE5中也得到了黑色的背景。这就说明了第二句定义只有IE5.5能识别
,这是个很早就公布的HACK,可以在网上找到相关的资料,要注意的就是在属性名之后是有一个空格的。到此我们已经把FF、IE5.5、IE6分离
出来了,那IE5呢?其实现在我们只要把IE5跟IE6分开就OK了,来看看例子:
E1{
>background-color: red;
}
E1{
>background-color: black;
}
这里我们又用到一个HACK,就是“E1{}”,这个定义在IE5以上的版本才能识别出来。这个例子得到的结果是,在IE5中的背景色为红色;
在IE5以上版本中得到的是黑色背景。
终于把不同版本的浏览器都分离出来了,这样我们就可以为不同的浏览器定义不同的样式了。来看个完整的例子:
E1{
width: 500px;
height: 50px;
background-color: red !important;
background-color: blue;
text-align:center;
}
E1{
>background-color: black;
>background-color : green;
}
需要注意的是,在上面例子中“background-color”定义的顺利不能改变,即FF-IE5-IE6-IE5.5。对于IE的定义在属性前要加“>”,因为
“E1{}”这个HACK在FF中可以识别。也许你会想,上面的例子不是可以写成:
E1{
width: 500px;
height: 50px;
background-color: red;
>background-color: blue;
text-align:center;
}
E1{
>background-color: black;
>background-color : green;
}
这样不就又可以省下几个字节?是没错,可是HACK不是标准,如果滥用HACK,那只会离标准越来越远!

6、div+css实现Firefox和IE6兼容的垂直居中
Firefox中使用display: table-cell; vertical-align: middle;可以实现div垂直居中,而IE6中则需要借助IE6中css的特点实现垂直居中。为
了实现Firefox和IE6兼容的垂直居中,还需要借助于!important标记。Firefox支持!important标记,而IE6忽略!important标记,因此可以使
用! important标记区别Firefox和IE6。
[示例代码]
<html>
    <body>
        <div style="display: table-cell; vertical-align: middle; height: 200px; border: 1px solid red;">
            <p>垂直居中,Firefox only</p>
            <p>垂直居中,Firefox only</p>
            <p>垂直居中,Firefox only</p>
        </div>
        <div style="border: 1px solid red; height: 200px; position: relative;">
             <div style="position: absolute; top: 50%;">
                 <div style="position: relative; top: -50%;">
                     <p>垂直居中,IE6 only</p>
                     <p>垂直居中,IE6 only</p>
                     <p>垂直居中,IE6 only</p>
                 </div>
             </div>
        </div>
        <div style="border: 1px solid red; height: 200px; position: relative; display: table-cell; vertical-align: middle;">
             <div style="position: static !important; position: absolute; top: 50%;">
                 <div style="position: relative; top: -50%;">
                     <p>垂直居中,Firefox IE6 only</p>
                     <p>垂直居中,Firefox IE6 only</p>
                     <p>垂直居中,Firefox IE6 only</p>
                 </div>
             </div>
        </div>
    </body>
</html>

7、div+css的浏览器兼容问题
水平居中,Firefox使用margin-left: auto; margin-right: auto; IE6 使用text-align: center;
垂直居中,Firefox中使用display: table-cell; vertical-align: middle;可以实现div垂直居中,而IE6中则需要借助IE6中css的特点实现垂
直居中。
!important标记,Firefox支持!important标记,IE6忽略!important标记
复制链接 网友评论 收藏本文 关闭此页
上一条: 常用的CSS命名规则   下一条: CSS半透明滤镜在FIREFOX和IE下面的能够…
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
什么是css框架
meta标签实现页面的动感效果
CSS半透明滤镜在FIREFOX和IE下面的…
div+css鼠标悬停在div上,div背景色…
纯css下拉菜单特效
div+css的浏览器兼容问题
CSS定义表格线为单一线
CSS滤镜效果收集(全)
列表显示文字和图片垂直居中对齐
在固定位置显示背景图片
网站变换图片的显示方法
在select外面套一个div或span, se…
常用的CSS命名规则
闪字闪字闪字闪字闪字闪字闪字闪字…
css让图片自动适应表格大小
  最近更新
HTTP协议实现文件断点续传
H5实现断点上传
行内元素和块级元素汇总
H5视频直播技术介绍
border-image详解
你必须知道的HTML5的新特性
html5 js控制音乐播放
HTML+CSS代码规范
css3学习笔记 transition与animat…
css3学习笔记Transform
css3学习笔记2D或3D转换
css3学习笔记文本特效
css3学习笔记颜色和透明度
css3学习笔记二
css3学习笔记一

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3