|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
CSS非常容易编写。你可以象写html代码一样轻松地编写CSS。
破洛洛文章简介:办理IE6的bug的好办法或技能
我们晓得,IE6大概过不了多久就会消散了,可是我们还能持续撑持这个扫瞄器而且制止hack和有束缚的CSS吗?这里是10个利用无效的HTML和CSS代码来修改IE6次要成绩的办法。
1.利用DOCTYPE
你应当在一向每一个HTML文件的头部都利用DOCTYPE,而且我们保举利用strict版本,好比:- <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
复制代码 大概,关于XHTML利用:- <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
复制代码 你必要处置的最辣手的事变就是IE6进进quirks形式——它已够诡异了。
2.设置position:relative
将一个元素设置为”position:relative”能够办理良多成绩,出格是你已经碰到埋没的或对齐诡异的盒子。明显,你必要十分当心点儿,由于相对定位的子节点大概会因而从头定位。
3.将浮动元素设置为display:inline
具有margin属性的浮动元素大概引发出名的IE6双倍margin成绩,好比,你为一个元素指定margin-left为5px,可是IE6中实践上却体现为10px。”display:inline”将办理这个成绩,只管这不是必需的,你的CSS仍旧是无效的。
4.将一个元素设置为hasLayout
良多IE6(和IE7)的衬着成绩能够经由过程设置元素的hasLayout来办理。这是一个IE外部属性(IE埋没的,更多关于haslayout的材料,能够参阅这里),用来断定相对其他元素,内容是怎样结构和定位的。假如你必要设置一个inline元素(好比一个链接)为block元素,大概是使用通明效果,设置hasLayout也多是必需的。
最复杂的设置hasLayout的办法是为CSS设置一个高度或宽度(zoom也能够用,可是zoom并非CSS尺度的一部分)。我们保举设置实践尺寸,可是成绩是这是不实际的,你大概必要利用”height:1%”。假如父元素并没有设置高度,该元素的实践高度其实不受影响,并且这个时分hasLayout已被启用。
5.修改反复笔墨bug
庞大的结构能够触发在浮动元素的最初一些字符大概呈现在呈现在扫除元素上面的bug。这里有几个办理办法,有些是完善的,可是做一些重复实验也是必需的:
- 确保一切的元素利用”display:inline;”
- 在最初一个元素上利用一个”margin-right:-3px;”
- 为浮动元素的最初一个条目利用一个前提正文,好比:
- <!--[if!IE]>Putyourcommentaryinhere...<![endif]-->
复制代码 - 在容器的最初元素利用一个空的div(它也有需要设置宽度为90%或相似宽度。)
6.在可点击和悬停的元素上只利用<a>标签
IE6只熟悉对a标签的CSShover效果。
你也能够在基于JavaScript的组件内利用他们来把持,以使他们坚持键盘的可操纵性。是有一些可替换的选择,可是<a>标签比别的计划更牢靠。
7.利用!important或初级选择器来辨别IE6
不利用传统Hack或在分外文件中的前提CSS的办法,写出出格针对IE6的可行的代码也仍是有大概的。好比最小高度能够经由过程这段代码来界说:- #element{min-height:20em;height:auto!important;/*一切扫瞄器都了解这段代码*/height:20em;/*IE6毛病的利用这个值/*}
复制代码 IE6不睬解min-height并毛病的用20em掩盖”auto”高度,可是,假如内容必要更多的空间的话,它会主动增添高度。
别的一个可选的办法是利用初级选择器,好比e.g.- #element{min-height:20em;height:20em;}/*IE6忽视上面的代码*/#element[id]{height:auto;}
复制代码 8.制止百分比单元
百分比会把IE弄懵懂的。除非你能够切实的把持每个父元素的巨细,才大概做到最好防备。你能够经由过程!important在其他扫瞄器中持续利用百分比,好比:- <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http://www.w3.org/TR/html4/strict.dtd">0
复制代码- <!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01//EN""http://www.w3.org/TR/html4/strict.dtd">1
复制代码 9.尽早测试其实不断测试
不要比及你的网站或使用完成了才测试IE6;如许的话成绩大概更糟,并且会花更多工夫来修改。假如你的网站可以在Firefox和IE6中一般运转,那末一样平常在别的扫瞄器就不会有成绩。
10.重构你的代码
常常产生的事变是,修改bug要比从头思索一个结构成绩要花更长的工夫。对HTML做些小修改和一些复杂的CSS经常更无效。这大概意味着你要保持完善的代码,可是会呈现较少的临时成绩并且未来你会很分明假如处置这些大概呈现的成绩。
神飞感言,固然IE8并没有从基本上改动IE,可是它对CSS尺度的撑持切实其实有十分年夜的变动。可是即使云云,我们仍然不克不及寄但愿与IE8的提高,这是一件很不靠谱的事变,固执的IE6用户一定会承受IE8。以是我们比来一年半载仍是不克不及忽视IE6。
网上冲浪无论你用InternetExplorer还是NetscapeNavigator,几乎随时都在与CSS打交道,在网上没有使用过CSS的网页可能不好找。 |
|