网站设计浏览器的兼容性问题与解决方案

作者: 超级管理员 2022-04-01 15:19:59

  首先向大家解释一下什么是浏览器的兼容性?所谓浏览器兼容性问题,是指因为不同的浏览器对同一段代码有不同的解析,造成页面显示效果不统一的情况。在大多数情况下,我们的需求是,无论用户用什么浏览器来查看我们的网站或者登陆我们的系统,都应该是统一的显示效果。所以浏览器的兼容性问题是网站建设人员经常会碰到且必须要解决的问题,下面给大家总结一下我们经常会遇到的兼容性问题有哪些:

  1.超链接访问过后hover样式就不出现的问题?

  被点击访问过的超链接样式不在具有hover和active了,解决方法是改变CSS属性的排列顺序: L-V-H-A2.IE6的双倍边距BUG

  例如:

  <style type="text/css">

  body {margin:0}

  div { float:left; margin-left:10px; width:200px; height:200px; border :1px solid red }

  </style>

  浮动后本来外边距10px,但IE解释为20px,解决办法是加上display:inline3.为什么FF下文本无法撑开容器的高度?

  标准浏览器中固定高度值的容器是不会象IE6里那样被撑开的,那我又想固定高度,又想能被撑开需要怎样设置呢?办法就是去掉height设置min-height:200px; 这里为了照顾不认识min-height的IE6 可以这样定义:

  div { height:auto! important; height:200px; min-height:200px; }

  4.为什么web标准中IE无法设置滚动条颜色了?

  原来样式设置:

  <style type="text/css">

  body { scrollbar-face-color:#f6f6f6; scrollbar-highlight-color:#fff; scrollbar-shadow-color:#eeeeee; scrollbar-3dlight-color:#eeeeee; scrollbar-arrow-color:#000; scrollbar-track-color:#fff; scrollbar-darkshadow-color:#fff; }

  </style>

  解决办法是将body换成html

  5.为什么无法定义1px左右高度的容器?

  IE6下这个问题是因为默认的行高造成的,解决的方法也有很多,例如:overflow:hidden | zoom:0.08 | line-height:1px6.怎么样才能让层显示在FLASH之上呢?

  解决的办法是给FLASH设置透明:

  <param name="wmode" value="transparent" />

  7.怎样使一个层(块)垂直居中于浏览器中?

  <style type="text/css">

  <!--

  div { position:absolute; top:50%; left:50%; margin:-100px 0 0 -100px;  width:200px; height:200px;  border:1px solid red;}

  -->

  </style>

  用js获取盒子的宽度,然后让网页的总宽度-盒子宽度/2;就得到了left或top;这里使用百分比绝对定位,与外补丁负值的方法,负值的大小为其自身宽度高度除以二8、firefox嵌套div标签的居中问题的解决方法假定有如下情况:

  <div id="a">

  <div id="b"> </div>

  </div>

  如果要实现b在a中居中放置,一般只需用CSS设置a的text-align属性为center。这样的方法在IE里看起来一切 正常;但是在Firefox中b却会是居左的。

  解决办法就是设置b的横向margin为auto。例如设置b的CSS样式为:margin: 0 auto;。

  9、css如何让图片垂直居中。

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <style type="text/css">

  <!--

  * {margin:0;padding:0}

  div { width:500px; height:500px; border:1px solid #ccc; overflow:hidden; position:relative; display:table-cell; text-align:center; vertical-align:middle }

  div p { position:static; +position:absolute; top:50% }

  img { position:static; +position:relative; top:-50%;left:-50%; width:276px; height:110px }

  -->

  </style>

  <div><p><img src="http://www.google.com/intl/en/images/logo.gif" /></p></div>

  10、如何处理png透明度问题。

  _filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./images/logo.png'); /* IE6 */_ background-image: none; /* IE6 */

  11、如何处理文字本身的大小不兼容。同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff 下实际占高17px,上留白1px,下留白3px,opera下就更不一样了。

  给文字设定 line-height 。确保所有文字都有默认的 line-height 值。这点很重要,在高度上我们不能容忍1px 的差异。

  12、如何达到容器高度自适应。

  <div style="width:200px;  height:auto !important;  height:200px;  min-height:200px; ">

  内容

  </div>

  13、如何解决图片下方留白的问题。

  在写图片时建议不要把div后标签换行;如:<div><img src=...></div>,此标签不要换行;好了,暂时实战是解决问题的最佳途径,也是遇到问题的唯一途径,大家在做网站建设的时候,要亲自制作才能更快更好的成长,另外多去借鉴别人的经验也是进步的捷径!


QQ在线咨询