解决CSS的浏览器兼容性问题,多年切图工作的总结:)
/* 统一各个浏览器下 外边距margin、内填充padding的默认值 */ html,body,a,h1,h2,h3,h4,h5,h6,p,div,ul,li,ol,dl,dt,dd,img,form,input,textarea,select,fieldset { margin:0px; padding:0px }
/* 统一标题公共样式 text-shadow:gray 0px 0px 5px; 文字阴影 font-weight:800 平滑的加粗 */ h1,h2,h3,h4,h5,h6,b,strong { font-family:Arial,Verdana,sans-serif; font-weight:800 }
/* 网页公用的属性: 字体、文字颜色、背景色等 */ body,table,input,select,textarea { font-family:SimSun, "宋体", Arial; font-size:12px; }
body, table { background-color:white } body { color:#636363; font-size:12px }
/* 控制英文字符连续自动换行 */ div,span,th,td,dt,dd,h1,h2,h3,h4,h5,h6,em,strong,i,a,b,a,p { word-break:break-all; word-wrap:break-word; }
ul,ol,dl { list-style-type:none } select,input,select { vertical-align:middle }
img { border:0 none; text-align:absmiddle; background-color:transparent }
/* 表格居中显示 */ table { margin-left:auto; margin-right:auto; border-width:0 none }
/* 默认链接的样式设置 */ a { color:#000; text-decoration:none } a:hover { text-decoration:underline }
/* 去a虚线框 cdl: clear dotted line */ .cdl, a:active { outline:none; blr:expression(this.onFocus=this.blur()) } :focus { outline:none } /* for Firefox */
/* 清浮动 */ .clear { display:block !important; clear:both; height:0px; line-height:0px; font-size:0 }
/* 常用,采用单词首字母缩写方式命名:保持良好的命名风格很重要 :) */ .tdn { text-decoration:none } /* 链接无下划线 */ .ofh { overflow:hidden } /* 溢出隐藏 */ .tal { text-align:left } /* 内容左对齐 */ .tar { text-align:right } /* 内容右对齐 */ .tac { text-align:center } /* 内容居中 */ .fl { float:left } /* 左浮动 */ .fr { float:right } /* 右浮动 */ .m0a { margin:0 auto } /* 容器内水平居中 */ .bn { border:0 none !important; } /* 无边框 */
3、技巧积累(持续补充...)
1)利用 margin: 0 auto; 实现水平居中,必须同时定义容器的宽度(width)才会有效果;
2)关于Border的写法,如果您想定义div的四个边的颜色不同,而粗细和样式都一样,您可以这样写: div.border2 { border:1px solid; border-color:color1 color2 color3 color4 } 四种颜色依次是上,右,下,左的颜色
3)兼容所有的浏览器都可以显示半透明效果的写法 .alpha50 { filter: alpha(opacity=50); /* 支持 IE 浏览器 */ -moz-opacity: 0.5; /* 支持 FireFox 浏览器 */ opacity: 0.5; /* CSS标准.该属性支持firefox, Safari和 Opera */ }
4)使用media指令引入两种CSS:打印版本的css和屏幕显示的css
5)我们可以使用page-break-after,page-break-before控制打印时的分页
6)使用缩进(text-indent)显示图片,而隐藏文字(对SEO友好)
.logo { background: url(xxx.gif) no-repeat; width:160px; height:60px; text-indent: -2000px; } < h1 class="logo" > 在售产品 < / h1 >
7)100%的高度 为了让 < div id="content" >< /div > 容器自动延伸到整个页面的高度,我们需要告诉和容器高度应为整个页面的高度。 html { min-height: 100%; _height:100%; } body { margin: 0; padding: 0; min-height: 100%; _height:100%; } #content { padding: 0 20px 0 20px; margin: auto; font: 1.5em arial, verdana; width: 960px; min-height: 100%; _height:100%; }
8)跨浏览器的盒阴影效果实例页面 .shadow { -moz-box-shadow: 3px 3px 4px #000; -webkit-box-shadow: 3px 3px 4px #000; box-shadow: 3px 3px 4px #000; /* For IE 8 */ -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000')"; /* For IE 5.5 - 7 */ filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000'); }
9)哀悼日网站灰化CSS代码
html{filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);} |