一些常见的css hack解决办法

作者:divcss教程吧      点击次数:477次     发布日期:2014-10-06

一些常见的css hack解决办法

margin双边距问题

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FF下如何使连续长字段自动换行-dicss8</title>
<style type="text/css">
body {
 margin:0
 }
div {
 float:left;
 margin-left:10px;
 width:200px;
 height:200px;
 border:1px solid red
 }
</style>
</head>
</script>
<body>
<div>
<a href="#">
divcss8.com基础教程divcss8.com基础教程divcss8.com基础教程divcss8.com基础教程divcss8.com基础教程divcss8.com基础教程
</a>
</div>
</body>
</html>
 

 设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。
解决办法是在这个div里面加上display:inline;
ps:我一般很少用margin,一般情况用padding来控制边距,以免出现另外的bug

关于容器的包涵关系
  很多时候,尤其是容器内有平行布局,例如两、三个float的div时,宽度很容易出现问题。在IE中,外层的宽度会被内层更宽的div挤破。一定要用Photoshop或者Firework量取像素级的精度。

最狠的手段 – !important;
  如果实在没有办法解决一些细节问题,可以用这个方法.FF对于”!important”会自动优先解析,然而IE则会忽略.如下

  1. .tabd1{
  2. background:url(/res/images/up/tab1.gif) no-repeat 0px 0px !important; /*Style for FF*/
  3. background:url(/res/images/up/tab1.gif) no-repeat 1px 0px; /* Style for IE */}

  值得注意的是,一定要将xxxx !important 这句放置在另一句之上。

你在写css时样式表加上浏览器标识符就行了,各浏览器区别如下:

IE都能识别*,标准浏览器(如FF)不能识别*;
IE6能识别*,但不能识别 !important;
IE7能识别*,也能识别 !important;
IE8能识别\0,不能识别*,+,_,*加!important;
FF不能识别*,但能识别 !important;
例如style=”*width:10px!important; width:20px;”
这样在IE6下宽度为10px,在IE7下宽度时20px

其中还有三种写法:

1种:
width:100px; /* FireFox及其他浏览器 */
width:200px\0; /* IE8能识别\0*/
*width:300px!important; /* ,IE7 既能能识别*号,也能识别important */
*width:400px; /* IE6也能识别*号 */
/*注意顺序 */

2种:
width:100px; /* FireFox及其他浏览器 */
width:200px\0; /* IE8能识别\0*/
*width:300px; /* IE7也能识别*号 */
_width:400px; /* IE6能识别下划线*/
/*注意顺序 */

3种:
width:100px; /* FireFox及其他浏览器 */
width:200px\0; /* IE8能识别\0*/
+width:300px; /* +只识别IE7 */
_width:400px; /* IE6能识别下划线*/
/*注意顺序 */

1..color1{ color:#F00; color/*\**/:#00F /*\**/}/*IE6,IE7,IE8,FF,OP,SA识别*/
2..color2{ color:#F00; color /*\**/:#00F /*\9**/}/*IE7,IE8,FF,OP,SA识别*/
3..color3{ color:#F00; color/*\**/:#00F \9}/*IE6,IE7,IE8识别*/
4..color4{ color:#F00; color /*\**/:#00F\9}/*IE7,IE8识别*//*“color”和“/*\**/”之间有个空格*/
其中:OP表示Opera,SA表示Safari
————————————-
各种浏览器独立支持的hack:
width:100px\0;/* 支持IE8 */

_width:100px; /* 支持IE6 */

[width:100px; /* 支持IE6,7 */

+width:100px; /* 支持IE6,7 */

*width:100px; /* 支持IE6,7 */

*width:100px!important; /* 支持IE6,7, */

*+width:100px; /* 支持IE6,7, */

*+width:100px!important;/* 支持IE6,7, */

width:100px\9; /* 支持IE6,7,8 */

width:100px!important; /* 支持IE6,7,8,FF */

w\idth:100px; /*IE5.x不支持 IE6、IE7、IE8、FF支持 */

------------------
IE条件注释功能:

<!--[if IE]>此内容只有IE可见<![endif]–>
<!–[if IE 6.0]>此内容只有IE6.0可见<![endif]–>
<!–[if IE 7.0]>此内容只有IE7.0可见<![endif]–>

去掉图片热点链接或超链接的虚线框

<a href="#" onFocus=this.blur()>divcss8</a>

按钮按下时立体感效果:

a:hover { position:relative; top:1px; left:1px}/* 切记一定要是相对定位 */
 

 

分享DIVCSS8