css 兼容性问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css 兼容性问题相关的知识,希望对你有一定的参考价值。

参考技术A

1.H5网页touch滑动的时候在苹果手机上出现不流畅的问题

-webkit-overflow-scrolling 用来控制元素在移动设备上是否使用滚动回弹效果.

解决办法:给所有网页添加如下样式

说明:
-webkit-overflow-scrolling: touch; 当手指从触摸屏上移开,会保持一段时间的滚动
-webkit-overflow-scrolling: auto; 当手指从触摸屏上移开,滚动会立即停止

2. css 苹果手机按钮默认样式如何去掉

input[type="button"], input[type="submit"], input[type="reset"] -webkit-appearance: none;

textarea -webkit-appearance: none;

3. 如果还有圆角的问题,

** 4.苹果手机不支持box-shadow属性**

如果先给input写边框,用 border:1px solid #ccc;

5、去除Chrome等浏览器文本框默认发光边框

6.去掉高光样式:

当然这样以来,当文本框载入焦点时,所有浏览器下的文本框的边框都不会有颜色上及样式上的变化了,这样的话,当文本框载入焦点时,边框颜色就会变为橙色,给用户一个反馈。

7、去除IE10+浏览器文本框后面的小叉叉,只需下面一句就ok了

input::-ms-clear display: none;

8.H5页面写出来,在chrome中出现如下错误,只需添加如下css即可解决

*touch-action: pan-y;

CSS常见问题及兼容性

CSS常见问题

1 (IE6,7)H5标签兼容 

解决方法1:(只显示核心代码)

 1<script>

 2 //通过js动态的去创建H5标签
 3 document.createElement("header");
 4 document.createElement("section");
 5 document.createElement("footer");
 6 </script>
 7 
 8 <style>
 9 //由于它默认的是不识别的,所以把这个标签理解为自定义标签,自定义标签默认就是内联元素,内联元素不支持宽高,所以我们要将其转换成块元素——display:block
10 header{width:200px;height:200;display:block;background:red;}
11 section{width:400px;height:400;display:block;background:green;}
12 footer{width:200px;height:200;display:block;background:red;}
13 </style>
14 
15 <body>
16     <header>header</header>
17     <section>section</section>
18     <footer>footer</footer>
19 </body>

解决方法2:引入html5shiv.js插件

 

2 元素浮动之后,能设置宽度的话就给元素加宽度,如果需要宽度是内容撑开,就给它里边的块元素加上浮动

解决方案:需要谁去浮动,就把浮动加给谁 

  <style>

.box{
    width
:400;
    border
:1px soild black;
    overflow
:hidden;//清浮动,仅为了演示,不是最好的方法
}
.left
{
    float
:left;
    background-color
:red;
}
.right
{
    float
:right;
    background-color
:green;
}

h2
{
    float
:left; //解决方案:需要谁去浮动,就把浮动加给谁
    margin
:0;
    height
:30px;
}
</style>

<body>
    <div class="box">
        <div class="left>
            <h2>left</h2>
        </div>
        <div class="
right>
            <h2>right</h2>
        </div> 
    </div>

 

3 第一块元素浮动,第二块元素加margin值等于第一块元素 在IE6下会有间隙问题

解决方案:1 不建议这么写  2 如非要这样写,建议用浮动解决,不用margin

<style>
body
{margin:0;}
.box
{width:300px;}
.left
{
    width
:200px;
    height
:200px;
    backgrong-color
:red;
    float
:left;
}
.right
{
    width
:200px;
    height
:200px;
    backgrong-color
:blue;
   // margin-left
:200px; 
    float
:left;//解决方案:用浮动解决
}


<body>
    <div class="box>
        <div class="left"></div>
        <div class="right"></div>
    </div>

</body> 

 

4 IE6下子元素超出父级宽高,会把父级的宽高撑开

解决方案:不要让子元素的宽高超过父级

<style>
.box
{
    width
:200px;
    height
:200px;
    border
:10px soild #000;
}
//解决方案,不要让子元素的宽高超过父级,即content的width<box的width

.content
{
    width
:400px;
    height
:400px;
    background-color
:red;
}
</style>

<body>
    <div class="box">
        <div class="content"></div>
    </div>

</body> 

 

 

5 p 包含块元素嵌套规则 

注意:<p>,< td >,<H1-H6>这三个标签不能嵌套块元素 

 

CSS兼容性问题 

1 margin兼容性问题


 

2 display:inline-block

 

3 IE6最小高度问题

 

4 IE6双边距

 

5 li里元素都浮动 li在IE6,7下方会产生4px间隙问题

 

6 浮动元素之间注释,导致多复制一个文字问题 

 

7 IE6,7父级元素的overflow:hidden是包不住子级的relative

 

8 IE6下绝对定位元素父级宽高是奇数,绝对定位元素的right和buttom值会有1px的偏差

 

9 IE6下绝对定位元素和浮动元素并列绝对定位元素消失 

 

10 IE6下input 的空隙

 

11 IE6下输入类型表单控件背景问题 

 

以上是关于css 兼容性问题的主要内容,如果未能解决你的问题,请参考以下文章

css3中的样式兼容性问题怎么弄?

css兼容性的问题

Css_IE9兼容性问题

CSS常见问题及兼容性

css中常见浏览器兼容性问题

HTML+CSS基础之兼容性问题