兼容

2019-07-08  本文已影响0人  Cherry丶小丸子
1、在坑爹的IE6下,当元素出现缝隙或者是消失时,解决方法:给元素加宽度或者高度。

2、在坑爹的IE6下,当元素浮动左或右,不能在标签前后加注释。问题现象,会复制最后一个文字,解决方法,在盒子末尾处加一个空白标签。如:<div></div>

3、在HTML5版本下,插入图片(img)会自动露出几像素的缝隙,解决方法:
     (1)img{ display:block;}
     (2)img{ vertical-align:top; 或者 vertical-align:bottom;}
     (3)img{ font-size:0;}
     (4)给img标签设置float属性;
     (5)给父级盒子加高度并且设置溢出隐藏;

4、在坑爹的IE6下,当盒子浮动时(float),给盒子加左右的margin,IE6下会出现加倍的问题(上下不会出现)。解决方法: { display:inline;}

5、当一个元素浮动或者绝对后,该元素会自动转换为块级元素;

6、当表单元素纵向对齐时,有些浏览器会在表单元素下面高度,表单不能对齐。解决方法:设置元素为块级元素或者浮动左右。

7、当父集元素设置行高时,子集元素设置高度时,在IE6下浮动属性会失效。解决方法:避免父集加行高子集加高度。

8、margin塌陷:如果两个div不浮动的情况下,第一个margin-bottom和第二个margin-top的值哪个最大就是他们之间的距离。

9、行高:1、盒子的高度/行数
         2、盒子不加高度,用padding上下给一样的高度 左右为0;
10、浏览器的区分
       selector{
           property:value       /*所有浏览器兼容*/
           property:value\9     /*所有IE兼容*/
           +property:value      /*IE6,IE7*/
           _property:value      /*IE6*/
       }
       调IE6的属性时把属性放在最后面
11、左边对象浮动,右边采用外补丁的左边距来定位,右边对象内的文本会离左边有3px的间距. 解决方法:给左盒加_margin-right:-3px;

12、IE6不能设置15px以下盒子的高度。解决的方法也有很多,例如:overflow:hidden或者line-height:1px

13、游标手指cursor      cursor:pointer 可以同时在 IE FF 中显示游标手指状, hand 仅 IE 可以

14、IE专用条件注释
        <!--[if IE]>所有IE可识别<![endif]-->
        <!--[if IE 6]>只有IE6可以识别<![endif]-->
        <!--[if IE 7]>只有IE7可以识别<![endif]-->

        <!--[if gt IE 6]>IE6以上版本可以识别<![endif]-->
        <!--[if lt IE 6]>IE6以下版本可以识别<![endif]-->

        <!--[if gte IE 6]>IE6及IE6以上版本可以识别<![endif]-->
        <!--[if lte IE 6]>IE6及IE6以下版本可以识别<![endif]-->

        <!--[if !IE]>除IE外都可以识别<![endif]-->

                IE6选择器专有注释: 在选择器之前加 * html
                IE7选择器专有注释: 在选择器之前加 * +html

15、万能轻浮: clear:both; height:0; overflow:hidden;

16、超级鼠标样式
    a:link { color:#FF0000} /* 未访问的链接 */
    a:visited { color:#00FF00} /* 已访问的链接 */
    a:hover { color:#FF00FF} /* 鼠标移动到链接上 */
    a:active { color:#0000FF} /* 选定的链接 */
    超级链接伪类使用时必须遵循“L-V-H-A”
        IE6浏览器只支持a标签鼠标经过效果。(:hover)“爱恨”原则
        选择标签第一个字符
        :first-letter
17、div透明块兼容所有浏览器 IE6不支持
       opacity:0.5;
       filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);
       filter:alpha(opacity=50);

       IE9支持rgba
       filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000);

       IE9支持渐变
       filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f000000,endColorstr=#7f000000,gradientType='0');
18、flash背景透明 wmode="transparent"

19、解决12px以下文字大小无法显示问题
       将一下内容放到body标签样式当中: -webkit-text-size-adjust:none;  现在已经不好使了。

20、浮动时,父级元素无法撑开
       解决方案:全局增加样式
       .clearfix:after(contect:".";display:block; height:0; clear:both; visibility:hidden;)
       .clearfix(zoom:1)
       父级元素调用clearfix
       效果跟万能轻浮一样

21、多行文本框:IE6会默认出现滚动条 解决方案: 设置:{ overflow:auto;}

22、span a等行内元素空格或者回车出现3像素空隙 解决方案: 1写成一行。 2将父级标签font-size初始化为0,然后重新设置元素的字体大小

23、IE7以下版本 两个以上li浮动,li之间出现空白间隙 解决方案:li{ vertical-algin:top;}

24、使用滤镜PNG图片透明后,容器内链接失效  解决方案:为容器里面的a加个{ _position:relative}样式

25、IE6无法识别伪对象 :first-letter/first-line 解决方案:选择符与“{”之间增加空格,或者换行。

26、IE6忽略同一条样式体内的!imgportant规则  解决方案:将给样式拆分为2条,!important单独书写

27、IE7及以下版本 元素设置了{ position:relative;}相对定位,父级元素{ overflow:auto/hidden}失效  解决方案:给父级元素增加 { position:relative}

28、如何让文本垂直对齐文本框  解决方案:input{ vertical-align:middle;}

29、强制文本一行显示  解决方案:设置容器的{ width }和{ white-space:nowrap;}
       word-wrap:break-word;自动换行(不截断)
       word-break:break-all;自动换行(截断)
       white-space:nowrap; 规定段落中的文本不进行换行:
       text-overflow:ellipsis;显示为省略号
30、如何使文本边界显示为省略号  解决方案:  .text{ width:150px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

31、让连续的长字符串自动换行  解决方案:{ word-wrap:break-word;}

32、如何让table边框1个像素细  解决方案:table{ border-collapse:collapse;}

33、网页无色,让网站显示灰色  1、*{ filter:gray; color:gray;}
                               2、html{ filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);}

34、font复合属性快捷写法的格式:font: font-style font-variant font-weight font-size/line-height font-family;
                                      italic     small-caps   normal      13px/150%             arial,黑体,宋体

35、IE下z-index失效 解决方案:给其父级元素定义z-index,有些情况下还需要定义 { position:relative;}
 
36、IE6最大最下宽高解决方案
       最小宽度      .min_width{ min-width:300px; _width:expression(document.body.clientWidth < 300 ? "300px" : "auto");}
       最大宽度      .max_width{ max-width:600px; _width:expression(document.body.clientWidth > 600 ? "600px" : "auto");}
       最小高度      .min_height{ min-height:200px; _height:expression(this.scrollHeight < 200 ? "200px" : "auto");}
       最大高度      .max_height{ max-height:400px; _height:expression(this.scrollHeight > 400 ? "400px" : "auto");}
       最大最小宽度  .min_and_max_width{ min-width:300px; max-width:600px; _width: expression(document.body.clientWidth < 300 ? "300px":(document.body.clientWidth > 600 ? "600px" : "auto"));}
       最大最小高度  .min_and_max_height{ min-height:200px; max-height:400px; _height: expression(this.scrollHeight < 200 ? "200px" : (this.scrollHeight > 400 ? "400px" : "auto"));}   

37、去掉IE超链接的虚线框  解决方案:a{ outline:none; blr:expression(this.onFocus=this.blur());}

38、去除IE10+浏览器文本框后面的小叉叉         解决方案:input::-ms-clear{ display:none;}

39、禁止多行文本框textarea拖拽      解决方案: textarea{ resize:none;}

40、CSS3线性渐变:background: linear-gradient(direction, color-stop1, color-stop2, ...);
       CSS3径向渐变:background: radial-gradient(center, shape size, start-color, ..., last-color);
上一篇下一篇

猜你喜欢

热点阅读