css-兼容性问题及解决(二)

css-兼容性问题及解决(二)

1:在IE6下的文字溢出BUG : 子元素的宽度和父级的宽度相差小于3px的时候,两个浮动元素中间有注释或者内嵌元素      

解决办法:用div把注释或者内嵌元素用div包起来

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>无标题文档</title>
 6 <style>
 7 .box{ width:400px;}
 8 .left{float:left;}
 9 .right{width:400px;float:right;}
10 </style>
11 </head>
12 <body>
13 <div class="box">
14  <div class="left"></div>
15     <div><!-- IE6下的文字溢出BUG --><span></span></div>
16     <div class="right">&darr;leo是个大胖子</div>
17 </div>
18 <!--
19     在IE6下的文字溢出BUG
20     子元素的宽度和父级的宽度相差小于3px的时候,两个浮动元素中间有注释或者内嵌元素
21     解决办法:用div把注释或者内嵌元素用div包起来
22 -->
23 </body>
24 </html>

2: 当浮动元素和绝对定位元素是并列关系的时候,在IE6下绝对定位元素会消失

 解决办法: 给定位元素外面包个div

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>无标题文档</title>
 6 <style>
 7 .box{ width:200px;height:200px;border:1px solid #000; position:relative;}
 8 span{width:50px;height:50px;background:yellow; position:absolute;right:-20px;top:0;}
 9 ul{width:150px;height:150px;background:Red;margin:0 0 0 50px;padding:0; float:left; display:inline;}
10 /*
11  当浮动元素和绝对定位元素是并列关系的时候,在IE6下绝对定位元素会消失
12  解决办法:
13   给定位元素外面包个div
14 */
15 </style>
16 </head>
17 <body>
18 <div class="box">
19      <ul></ul>
20     <span></span>
21 </div>
22 </body>
23 </html>

标准下:

ie6下:

3:在IE6,7下,子元素有相对定位的话,父级的overflow包不住子元素

解决办法: 给父级也加相对定位

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>无标题文档</title>
 6 <style>
 7 .box{ width:200px;height:200px;border:1px solid #000; overflow:auto; position:relative;}
 8 .div{ width:150px;height:300px;background:yellow; position:relative;}
 9 /*
10  在IE6,7下,子元素有相对定位的话,父级的overflow包不住子元素
11  解决办法: 给父级也加相对定位
12 */
13 </style>
14 </head>
15 <body>
16 <div class="box">
17  <div class="div"></div>
18 </div>
19 </body>
20 </html>

ie6,7下:

标准下:

4:在IE6下绝对定位元素的父级宽高是奇数的时候,元素的right值和bottom值会有1px的偏差

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>无标题文档</title>
 6 <style>
 7 .box{width:201px;height:201px;border:1px solid #000; position:relative;}
 8 .box span{ width:20px;height:20px;background:yellow; position:absolute;right:-1px;bottom:-1px;}
 9 /*
10  在IE6下绝对定位元素的父级宽高是奇数的时候,元素的right值和bottom值会有1px的偏差
11 */
12 </style>
13 </head>
14 <body>
15 <div class="box">
16    <span></span>
17 </div>
18 </body>
19 </html>

5:ie6下不支持固定定位

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 5 <title>无标题文档</title>
 6 <style>
 7 body{height:1000px;margin:0;}
 8 .box{width:100px;height:100px;background:Red; position:fixed;left:50px;top:100px;}
 9 </style>
10 </head>
11 <body>
12 <div class="box"></div>
13 </body>
14 </html>
时间: 2024-08-03 13:20:18

css-兼容性问题及解决(二)的相关文章

IE浏览器常见CSS兼容性问题及解决办法

对于前端开发者来讲,世界上存在着一个神奇的东西——IE浏览器,尤其是低版本的IE浏览器,惨不忍睹的兼容性使其臭名昭著.前端工作者很多的时间都花在了和它打交道上,所以大家纷纷吐槽IE浏览器如何的渣,简直是万恶之源.但是IE浏览器市场份额有非常大,喷完还要接着搞兼容.对于IE浏览器来讲,我们应该有一个客观的评价.首先其兼容性差,原因可想而知,更新速度太慢,要几年才出一个版本,而市场上的FireFox.chrome等浏览器几个月就有一个版本上市.中间那么长的时间足以将其bug充分的暴露出来,其他浏览器

解决css兼容性

关于CSS对各个浏览器兼容已经是老生常谈的问题了, 网络上的教程遍地都是.以下内容没有太多新颖, 纯属个人总结, 希望能对初学者有一定的帮助. 一.CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对… 一.CSS HACK 以下两种方法几乎能解决现今所有HACK. 1, !important 随着IE7对!important的支持, !important 方法现在只针对IE6的HA

IE和Firefox浏览器CSS兼容性技巧整理

转自:http://homepage.yesky.com/185/11484185all.shtml#p11484185 CSS兼容常用技巧(1) 更多精彩相关文章推荐: 各大浏览器 CSS3 和 HTML5 兼容速查表 IE6/IE7/IE8三个版本的CSS兼容速查手册 CSS hack定义技巧浏览器兼容一览表 XHTML+CSS兼容性解决方案 CSS样式表对浏览器的兼容性问题有时让人很头疼,不过当我们了解了其中的原理与技巧,就会觉得轻松一些.本文收集整理了IE7,6与Fireofx的兼CSS

常见css兼容性

常见css兼容性:1.不同浏览器的标签默认的padding值和margin值不同. 解决方案:*{margin:0;padding:0} css reset技术: 2.块属性标签浮动,又有横向margin值的情况下,在IE6中会产生横向 margin值加倍. 解决方案:给浮动的对象加display:inline; 3.IE6下标签会有默认行高. 解决法案:给标签加overflow:hidden;触发BFC; 4.ul li和ol li ,中li不浮动和父级标签又没有高度的情况下,在 IE6.7中

IE和火狐的css兼容性问题

CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和Firefox存在很大的解析差异,这里介绍一下兼容要点. 1.DOCTYPE 影响 CSS 处理 2.FF: div 设置 margin-left, margin-right 为 auto 时已经居中, IE 不行 3.FF: body 设置 text-align 时, div 需要设置 margin: auto(主要是 margin-left,margin-right) 方可居中 4.FF: 设置 padding 后, div 会增加 h

JS、CSS兼容性问题的几点总结

javascript和CSS在不同浏览器下的兼容性问题的几点总结: Javascript部分 1. document.form.item 问题问题:代码中存在 document.formName.item("itemName") 这样的语句,不能在FF下运行解决方法:改用 document.formName.elements["elementName"] 2. 集合类对象问题问题:代码中许多集合类对象取用时使用(),IE能接受,FF不能解决方法:改用 [] 作为下标

使用@media实现IE hack的方法,css 兼容ie,解决火狐、谷歌兼容问题

在写项目当中,我们总会遇到兼容各种浏览器,当然包括ie各种版本,在解决ie   css兼容性问题中,比如说使用“\0”,“\”和“\9”来仅让IE某些版本识别,但浏览器有时会无视这些代码.那我们可以尝试使用@media实现IE hack的方法. 列如: 仅IE6和IE7识别 @media screen\9 { .el-form-item__label { position: relative; } } 仅IE8识别 @media \0screen { .el-form-item__label {

css代码乱码怎么解决

乱码引起的CSS失效原理: 由于一个中文是两个字符组成,在编码不一致的情况下会引发字符的“重新”组合,(半个汉字的编码字符与后面的字符组合生成新的“文字”)引发原本的结束符合“变异”,从而导致找不到结束符号,使得后面的CSS就会失效. 解决方法一: CSS中出现的乱码都是由于CSS字符编码与页面的字符编码不一致所引起的,因此最直接的方法就是使字符编码一致.将CSS指定编码类型,例:@charset "utf-8";(指定编码类型为utf-8,须写在CSS文件第一行) 解决方法二: CS

.Net中使用response.write(&#39;js代码&#39;)后css失去效果,解决办法。

net中使用response.write输出js会将js放在源代码的最前面,这样就可能出现破坏网页css的效果,让css失去效果 .net中使用Page.ClientScript.RegisterStartupScript(this.GetType(), "", " <script lanuage=javascript>if(confirm('确定要交卷吗?')==false){history.back()}; </script>"); 可以

用Jquery动态append方式加入标签时Css样式丢失的解决方法

一般在Jquery中会用下面的方式来添加新标签: var obj = "<fieldset data-role='controlgroup' data-type='vertical' data-role='fieldcontain'> <input id='menu0" type='checkbox'/><label for='menu0'> 复选框 </label> </fieldset>";  //按个人要求拼接