关于css中不同浏览器兼容详解(1/6)

由于浏览器的开发商越来越多,关于兼容也是各位设计师,站长们讨论的热门话题了,下面我们总结了一些学用中的css兼容问题的。

1、div的垂直居中问题

vertical—align:middle;将行距增加到和整个div一样高line-height:200px;然后插入文字,就垂直居中了。缺点是控制内容不要换行

2 margin加倍的问题

设置为float的div在ie下设置的matgin会加倍。这是ie6都存在的bug。解决方案是在这个div里面加上display:inline;例如

<# div id=”imfloat”>

相应的css为

# imflat

{

    float: left;

    margin:5px; /*ie下理解为10px*/

    display:inline; /*ie下再理解为5px*/

}

3、浮动ie产生的双倍距离

#box

{

    float:left;

    width:100px;

    margin:0 0 0 100px;

     //这种情况下ie会产生200px的距离

     display:inline   //使浮动忽略

}

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

#box

{

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

display:table; //表格元素

}

4、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;

}

5、页面的的最小宽度

  min-width是个非常方便的css命令,他可以指定元素最小值也不能小于宽度,这样就保证排版一直正确,但是在ie中不识别,但他实际上把width当做最小宽度来使用,为了让这一个命令在ie上也能应用,可以把<div>放到<body> 标签下,然后为div确定一个类,然后css这样设计

#container

{

   min-width:600px;

  width:expression(document body clientwidth<600?“600px”,”auto”);

}

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

关于css中不同浏览器兼容详解(1/6)

相关文章:

你感兴趣的文章:

标签云: