淘宝初始化代码

  1. body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; }
  2. body, button, input, select, textarea { font:12px/1.5tahoma, arial, \5b8b\4f53; }
  3. h1, h2, h3, h4, h5, h6{ font-size:100%; }
  4. address, cite, dfn, em, var { font-style:normal; }
  5. code, kbd, pre, samp { font-family:couriernew, courier, monospace; }
  6. small{ font-size:12px; }
  7. ul, ol { list-style:none; }
  8. a { text-decoration:none; }
  9. a:hover { text-decoration:underline; }
  10. sup { vertical-align:text-top; }
  11. sub{ vertical-align:text-bottom; }
  12. legend { color:#000; }
  13. fieldset, img { border:0; }
  14. button, input, select, textarea { font-size:100%; }

常见的浏览器内核引擎以及具体应用:

     Trident: IE;
     Gecko: Firefox;
     webkit: Safari,Google Chrome,遨游3,猎豹,百度;
     Presto:Opera——Opera mini
 
书写顺序:firefox,IE8,IE7,IE6
 
IE6:*,_
IE7:*,+
IE8:\9,\0
 
chrome:-webkit-
firefox:-moz-,root(仅ff认)
 
  • *        , ie6,ie7可以识别;
  • _和- ,  ie6可以识别;
  • !important  ,表示高优先级,ie7及以上,firefox都支持,ie6认识带!important的样式属性,但不认识!important的优先级;
  • -webkit- ,针对safari,chrome浏览器的内核CSS写法
  • -moz-,针对firefox浏览器的内核CSS写法
  • -ms-,针对ie内核的CSS写法
  • -o-,针对Opera内核的CSS写法
    如果只让ie6看见用        *html .head{color:#000;}
  如果只让ie7看见用 *+html .head{color:#000;}
  如果只让ff看见用: root body .head{color:#000;}
  如果只让ff、IE8看见用 html>/**/body .head{color:#000;}
  如果只是不让ie6看见用 html>body .head{color:#000;} 即对IE 6无效
  如果只是不让ff、IE8看见用 *body .head{color:#000;} 即对ff、IE8无效
  1. .div1{
  2. *position:relative;
  3. -moz-background-size:50%;
  4. -ms-content-zoom-limit-max:50%;
  5. -o-box-shadow:5px10px20px#f0f;
  6. }
  7. .div2{
  8. position:absoulte!important;
  9. }
 
 
第一问:宽度问题
给div一个 width:300px;padding:10px;
Firefox实际宽度320px,padding是填上去的;支持!important,IE忽略
IE6实际宽300px,padding是300px里面的,把content往里面挤;
 
页面的最小宽度 
IE不认得min-,而它实际上把 width当做最小宽度来使。为了让这一命令在IE上也能用,可以把一个<div> 放到 <body> 标签下,然后为div指定一个类,然后CSS这样设计: 
#container{ min-width: 600px; width:expression(document.body.clientWidth < 600? "600px": "auto" );} 
第一个min-width是正常的;但第2行的width使用了Javascript,这只有IE才认得,这也会让你的HTML文档不太正规。它实际上通过Javascript的判断来实现最小宽度。
 
 
第二问:水平居中问题
IE下只要设置body{text-align:center;}这样就可以居中显示。
Firefox不行  解决:body:{text-align:center;margin:0px auto;}
 
第三问:在mozilla firefox和IE中的BOX模型解释不一致导致相差2px
           div{margin:30px!important;margin:28px;} 
 
第四问:CSS透明问题 
          IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。 
          FF:opacity:0.6。 
         [注] 最好两个都写,并将opacity属性放在下面。
  或filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#19ffffff,endColorstr=#19ffffff);

第五问:圆角问题
        IE:ie7以下版本不支持圆角。 
        FF: -moz-border-radius:4px 
 
浏览器bug 
IE的双边距bug

设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。

解决方案:在这个div里面加上display:inline;

 
浮动
DIV浮动IE文本产生3象素的bug 
左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距.
 
#box{ float:left; width:800px;} 
#left{ float:left; width:50%;} 
#right{ width:50%;} 
*html #left{ margin-right:-3px; //这句是关键} 
<div id="box"> 
<div id="left"></div> 
<div id="right"></div> 
</div> 
 
IE捉迷藏的问题 
当div应用复杂的时候每个栏中又有一些链接,DIV等这个时候容易发生捉迷藏的问题。 
有些内容显示不出来,当鼠标选择这个区域是发现内容确实在页面。 解决办法:对#layout使用line-height属性 或者给#layout使用固定高和宽。页面结构尽量简单。
 
IE的layout私有属性
作为外部 wrapper 的 div 不要定死高度,为了让高度能自动适应,要在wrapper里面加上overflow:hidden; 当包含float的box的时候,高度自动适应在IE下无效,这时候应该触发IE的layout私有属性(万恶的IE啊!)用zoom:1;可以做到,这样就达到了兼容。
.colwrapper{ overflow:hidden; zoom:1; margin:5px auto;} 
 
排版
我们用得最多的css描述可能就是float:left.有的时候我们需要在n栏的float div后面做一个统一的背景,譬如: 
<div id=”page”> 
<div id=”left”></div> 
<div id=”center”></div> 
<div id=”right”></div> 
</div> 
我们要将page的背景设置成蓝色,以达到所有三栏的背景颜色是蓝色的目的,但是我们会发现随着left center right的向下拉长,而page居然保存高度不变,问题来了,原因在于page不是float属性,而我们的page由于要居中,不能设置成 float,所以我们给他加个父元素 page变成爷爷;
 
高度不适应 
高度不适应是当内层对象的高度发生变化时外层高度不能自动进行调节,特别是当内层对象使用margin 或paddign 时。 
例: 
#box { } 
#box p {margin-top: 20px;margin-bottom: 20px; text-align:center; } 
<div id="box"> 
<p>p对象中的内容</p> 
</div> 
解决技巧:在P对象上下各加2个空的div对象CSS代码:.1{height:0px;overflow:hidden;}或者为DIV加上border属性。 
 
IE6下为什么图片下有空隙产生 
解决这个BUG的技巧也有很多,可以是改变html的排版,或者设置img 为display:block 或者设置vertical-align 属性为vertical-align:top   bottom  middle  text-bottom 都可以解决. 
 
IE的css bug 
在p:first-letter和{font-size:300%}加上空格,也就是p:first-letter {font-size:300%}后,显示就正常了。但是同样的代码,在FireFox下看是正常的。按道理说,p:first-letter{font-size:300%}的写法是没错的。那么问题出在哪里呢?答案是伪类中的连字符”-”。IE有个BUG,在处理伪类时,如果伪类的名称中带有连字符”-”,伪类名称后面就得跟一个空格,不然样式的定义就无效。而在FF中,加不加空格都可以正常处理。
 
div设置 margin-left, margin-right 为 auto 时已经居中,IE 不行,IE需要设定body居中,首先在父级元素定义text-algin: center;这个的意思就是在父级元素内的内容居中。
 
垂直居中=>内容换行问题

一个高30px的div,默认显示左上角,如果想垂直居中对其可以加个line-height:30px;样式。如果你想让他居下方则修改line-height

数值越大越下,为了防止撑破,还需要再给一个样式overflow:hidden; 

块级对象设置三个样式解决浏览器默认值:宽高overflow

LI中内容超过长度后以省略号显示的技巧 
此技巧适用与IE与OP浏览器

li { 
width:200px; 
white-space:nowrap; 
text-overflow:ellipsis; 
-o-text-overflow:ellipsis; 
overflow: hidden; 

为什么web标准中IE无法设置滚动条颜色了 
解决办法是将body换成html 

html { 
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; 

为什么无法定义1px左右高度的容器 
IE6下这个问题是因为默认的行高造成的,解决的技巧也有很多,例如:overflow:hidden   zoom:0.08   line-height:1px

css初始化
其中margin属性对IE有效,padding属性对FireFox有效。
  1. body,div,dl,dt,dd,ol,h1,h2,h3,h4,h5,h6,form,input,p,th,td{margin:0;padding:0;}
  2. img{border:0px;}
  3. ul {margin:0px;padding:0px;}/
  4. ul li {list-style:none;}

/* Clear Fix */ 
.clearfix:after { 
content:”.”; 
display:block; 
height:0; 
clear:both; 
visibility:hidden; 

.clearfix { 
display:inline-block; 

/* Hide from IE Mac */ 
.clearfix {display:block;} 
/* End hide from IE Mac */ 
/* end of clearfix */

或者这样设置:.hackbox{ display:table; //将对象作为块元素级的表格显示}

太多了 参考:http://www.jb51.net/css/43686.html

css兼容性写法大全的更多相关文章

  1. CSS- ie6,ie7,ie8 兼容性写法,CSS hack写法

    css ie6,ie7,ie8 兼容性写法,CSS hack写法 margin-bottom:40px;       /*ff的属性*/margin-bottom:140px\9;    /* IE6 ...

  2. css各浏览器的兼容性写法

    各浏览器下的兼容性写法 老版Chrome     -webkit-xxx FF                  -moz-xxx IE9                 -ms-xxx opera ...

  3. css兼容性问题的整理

    css兼容性问题的整理 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白1 ...

  4. css常用代码大全以及css兼容(转载)

    css常见的快捷开发代码汇总(长期更新),包括CSS3代码,有一些css效果很顽固,经常会一时找不出解决方案,网络上也有很多的工具和高手提供了具体的浏览器兼容代码,这个页面我今后会经常整理,希望能够帮 ...

  5. 常用原生JS方法总结(兼容性写法)

    经常会用到原生JS来写前端...但是原生JS的一些方法在适应各个浏览器的时候写法有的也不怎么一样的... 今天下班有点累... 就来总结一下简单的东西吧…… 备注:一下的方法都是包裹在一个EventU ...

  6. css清除浮动大全共8种方法

    原文链接http://www.jb51.net/css/173023.html 清除浮动是每一个 web前台设计师必须掌握的机能.css清除浮动大全,共8种方法. 浮动会使当前标签产生向上浮的效果,同 ...

  7. CSS3-border-radius的兼容写法大全

    <!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...

  8. CSS兼容性

    1,浮动 ie6中,设置浮动的元素,width自动包裹内容了.通常我们要设定一下这个元素的宽度 子元素浮动父容器高度不能自适应的CSS解决方法 网页前端工作者经常会遇到子元素设置float浮动后导致父 ...

  9. android 4.4.3 css hack 写法

    最近发现android在4.4.3上面出现很多怪异的现象,现在虽然没有找到原因和解决方案,但是突然间找到一个css hack写法: button{ display:none; width:$rem*4 ...

随机推荐

  1. APP发行渠道

    1,安卓APP发行:google play,原名android store 2,IOS APP: apple store 3,国内各大平台,应用宝,360,小米,华为 ...

  2. IP地址的含义

    不管是学习网络还是上网,IP地址都是出现频率非常高的词.Windows系统中设置IP地址的界面如图1所示,图中出现了IP地址.子网掩码.默认网关和DNS服务器这几个需要设置的地方,只有正确设置,网络才 ...

  3. where后一个条件和多个条件的查询速度

    如果记录中有两个都是 唯一标识的  ,那是都where  and 还是只写一个比较快 ---- 一个快

  4. RabbitMQ系列教程之三:发布/订阅(Publish/Subscribe)(转载)

    RabbitMQ系列教程之三:发布/订阅(Publish/Subscribe) (本教程是使用Net客户端,也就是针对微软技术平台的) 在前一个教程中,我们创建了一个工作队列.工作队列背后的假设是每个 ...

  5. webpack 自动发现 entry 的配置和引用方式

    假定我们的项目目录为如下的样子: - root/ - assets/ - app/ - global.js - index/ - index.js - auth/ - login.js - regis ...

  6. delphi控制本计算机和远程计算机关机等

    unit mainunit; {远程关机源码} interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Con ...

  7. 浏览器唤起APP的思路(本文转载)

    在做 h5 页面中,会遇到这样一个需求,有一个立即打开的按钮,如果本地安装了我们的 app,那么点击就直接唤起本地 app,如果没有安装,则跳转到下载. 首先想到的是两个问题:一是如何唤起本地 app ...

  8. 【转】Unity网格合并_材质合并

    原帖请戳:Unity网格合并_材质合并 写在前面: 从优化角度,Mesh需要合并. 从换装的角度(这里指的是换形状.换组成部件的换装,而不是挂点型的换装),都需要网格合并.材质合并.如果是人物的换装, ...

  9. MAC下Xcode配置opencv(2017.3.29最新实践,亲测可行)(转)

    本文原创,未经同意,谢绝转载!(转载请告知本人并且经过本人同意--By Pacific-hong) 本人小硕一枚,因为专业方向图像相关,所以用到opencv,然后网上MAC下Xcode配置opencv ...

  10. WebAPI 和 webservice接口

    1. webservice走HTTP协议和80端口.WebService则类似于bs架构,只需要开发服务器端,不需要开发客户端,客户端只要遵循soap协议,就可以调用. 2. api,用的协议和端口, ...