1. 默认的内外边距不同问题:各个浏览器默认的内外边距不同解决: *{margin:0;padding:0;} 2. 水平居中的问题问题:设置 text-align: center ie6-7文本居中,嵌套的块元素也会居中 ff /opera /safari /ie8文本会居中,嵌套块不会居中解决:块元素设置 1、margin-left:auto;margin-right:auto 2、margin:0 auto; 3、
- <div align=”center”>div>
18. 透明png图片会带背景色问题:在ie6下透明的png图片会带一个背景色解决: background-image: url(icon_home.png);/* 其他浏览器 */ background-repeat: no-repeat; _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=http://www.aseoe.com/'icon_home.png'); /* IE6 */ _background-image: none; /* IE6 */ 19. list-style-position默认值的问题问题: ie下list-style-position默认为inside, firefox默认为outside 解决: css中指定为outside即可解决兼容性问题 20. list-style-image准确定位的问题问题: li前设置图片时,图片与其后的文字对齐问题解决: 1、采用背景定位 和 字符缩进的方法 background:url() no-repeat left center; text-index:16px; 2、采用相对定位方法 li 设置list-style:url(); li的子元素position:relative;top:-5px; 21. ul标签默认值的问题问题: ul标签在ff中默认是有padding值的,而在ie中只有margin有值解决:定义ul{margin:0;padding:0;}就能解决大部分问题 22. IE中li指定高度后,出现排版错误问题:在ie下如果为li指定高度可能会出现排版错位解决:设置line-height 23. ul或li浮动后,显示在div外问题: div中的ul或li设置float以后,都不在div中解决:必须在ul标签后加 来闭合外层div 24. ul浮动后,margin变大问题: ul设置 float后,在ie中margin将变大解决:设置ul的display:inline,li的list-style-position:outside 25. li浮动后,margin变大问题: li设置 float后,在ie中margin将变大解决:设置li的display:inline 26. 嵌套使用ul、li的问题问题: ie的bug,嵌套使用ul、li时,里层的li设置float以后,外层li不设置float, 里面的ul顶部和它外面的li总是有一段间距解决:设置里面的ul的zoom:1 27. IE6-7 li底部有3px的问题问题:这个bug产生的充要条件是li的子元素浮动并且li设置了以下CSS属性之一:width、height、zoom、padding-top、padding-bottom、margin-top 、margin-bottom。解决: 1、div设置clear:leftboth,这时li不能设置width、height、zoom。 2、li设置float:left,这时li可以设置width、height、zoom。 3、li设置clear:leftboth,这时li不能设置width、height、zoom。 4、IE6/IE7的这个Bug可以通过给li中的div设置vertical-align:topmiddlebottom解决。 28. IE6 垂直列表间隙的问题问题: li中有a且设置display:block时,ie6中列表间会出现空隙解决: 1、li中加display:inline; 2、li使用float 然后 clear:both; 3、给包含的文本末尾添加一个空格 4、设置width 29. IE6 列表背景颜色失效的问题问题:当父元素设置position:relative;时,在ie6中第一个ul、ol、dl的背景颜色失效解决: ul、ol、dl 都设置为position:relative; 30. IE6-7 列表背景颜色失效的问题2 问题:做横向导航栏时,ul设置为float且有背景色,li设置为float。ie6-7背景颜色失效解决:很多ie的bug都可以通过触发layout来解决 ul添加属性 1、height:1%; 2、float:left; 3、zoom:1; 31. 列表不能换行的问题问题: li设置为浮动,后面的li紧随其后,不能换行解决: 1、为这个ul定义合适的宽高 2、给包含这个ul 的父div定义合适的宽高。 32. li中的内容以省略号显示问题: li中内容超过长度时,想以省略号显示, 此方法适用于ie6-7-8、opera、safari浏览器 ff浏览器不支持解决: li{width:200px; white-space:nowrap;text-overflow:ellipsis; -o-text-overflow:ellipsis; overflow: hidden; } 33. 超链接访问过后hover样式不出现的问题问题:点击超链接后,hover、active样式没有效果解决:改变CSS属性的排列顺序: L-V-H-A 34. 禁用中文输入法的问题问题:不能在输入框中输入汉字解决:只在ie系列 和ff中有效 ime-mode:disabled (但可以粘贴) 禁用粘贴: onpaste="return false" 35. 除去滚动条的问题问题:隐藏滚动条解决: 1、只有ie6-7支持 2、除ie6-7不支持 body{overflow:hidden} 3、所有浏览器 html{overflow:hidden} 36. 让层显示在FLASH之上问题: 想让层的内容显示在flash上解决:把FLASH设置透明
- <div style="border:1px solid #333;width:204px">
- <div style="width:100px;border:1px solid #333; float:left; ">子容器adiv>
- <div style="width:100px;border:1px solid #333; float:left;">子容器bdiv>
- <div style="clear:both">div>
- div>
37. 去除链接虚线边框的问题问题:当点击超链接后,ie6/7/8 ff会出现虚线边框 ,而opera、safari没有虚线边框解决: ie6/7中 设置为a { blr:expression(this.onFocus=this.blur()) } ie8 和 ff 都不支持expression 在ie8 、ff中设置为 :focus { outline: none; } 38. css滤镜的问题问题: css滤镜只在ie中有效,Firefox, Safari(WebKit), Opera只能够设置透明,它们不支持滤镜filter,无法实现图片切换中间变换的效果,只能通 过透明度来设置。解决: ff中设置透明度 -moz-opacity:0.10; opacity:0.6; ie中只设置filter:alpha(opacity=50); 时,ie6-7失效,还要设置 1、zoom:1; 2、width:100%; 39. IE6背景闪烁的问题问题:链接、按钮用CSS sprites作为背景,在ie6下会有背景图闪烁的现象。原因是:IE6没有将背景图缓存,每次触发hover的时候都会重新加载解决:可以用JavaScript设置ie6缓存这些图片: document.execCommand("BackgroundImageCache ",false,true); 40. 出现重复文字的问题问题:
- <param name=" wmode " value="transparent" />
- <param name="wmode" value="opaque"/>
解决: 1、 改变结构,不出现【一个容器包含2两个具有“float”样式的子容器】的结构。 2、减小第二个容器的宽度,使父容器宽度减去第二个容器宽度的值大于3 3、去掉所有的注释。 4、修正注释的写法。 5、在第二个容器后面加一个或者多个 来解决。 41. ff、chrome绝对定位无效问题:在IE给td设置position:relative,然后给它包含的一个容器使用position:absolute进行定位是有效的,但在FF和Chrome下却不可以。解决:设置td的display:block。 42. IE6 绝对定位的问题问题:
- <div style="width:400px">
- <div style="float:left">div>
- >
- <div style="float:right;width:400px">↓这就是多出来的那只猪div>
- div>
解决: left的定位错误问题 1、给父层设置zoom:1触发layout。 2、给父层设置宽度width bottom的定位错误问题 1、给父层设置zoom:1触发layout。 2、给父层设置高度height 43. 子容器宽度大于父容器宽度时,内容超出问题:子DIV的宽度和父DIV的宽度都已经定义,在IE6中如果其子DIV的宽度大于父DIV的宽度,父DIV的宽度将会被扩展,在其他浏览器中父DIV的宽度将不会扩展,子DIV将超出父DIV 解决:设置overflow:hidden,子DIV将不会超出父DIV。 44. float的div闭合的问题问题: 例如:<#div id=”floatA” ><#div id=”floatB” ><#div id=” NOTfloatC” >这里的NOTfloatC并不希望继续平移,而是希望往下排。(其中floatA、floatB的属性已经设置为 float:left;) 这段代码在IE中毫无问题,问题出在其他浏览器中。原因是NOTfloatC并非float标签,必须将float标签 闭合。解决:在 <#div class=”floatB”> <#div class=”NOTfloatC”>之间加上 < #div class=”clear”>这个div一定要注意位置,而且必须与两个具有float属性的div同级,之间不能存在嵌套关系,否则会 产生异常。并且将clear这种样式定义为为如下即可:.clear{ clear:both;} 45. 单选框、复选框与后面的文字对不齐问题: 单选框、复选框与后面的文字对不齐。解决: .align{font-size:12px;} .align input{ display:block; float:left;} .align label{ display:block; float:left; padding-top:3px; *padding-top:5px;}
- <div style="position:relative;border:1px solid orange;text-align:center;">
- <div style="position:absolute;top:0;left:0;
- background:#CCC;">dovapour{C}{C}{C}{C}{C}{C}div>
- <a href="#" title="vapour的blog">内容a>
- div>