|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
更好的控制页面布局。不用多说。
网页制造poluoluo文章简介:CSS网页制造:浮动扫除的新办法。
劈头:- .clearfix:after{visibility:hidden;display:block;font-size:0;content:"";clear:both;height:0;}.clearfix{display:inline-table;}/*HidesfromIE-mac*/*html.clearfix{height:1%;}.clearfix{display:block;}/*EndhidefromIE-mac*/
复制代码 申明:
- *对年夜多半切合尺度的扫瞄器使用第一个声明块,目标是创立一个隐形的
内容为空的块来为方针元素扫除浮动。
- *第二条为clearfix使用inline-table显现属性,仅仅针对IE/Mac。
*使用*/对IE/Mac埋没一些划定规矩:
- *height:1%用来触发IE6下的haslayout。
- *从头对IE/Mac外的IE使用block显现属性。
- *最初一行用于停止针对IE/Mac的hack。
因为此办法针对的扫瞄器或成为汗青(特别是Mac下的IE5),或正在接近
尺度的路上,这个办法就不再那末与时俱进了。
抛失落对IE/Mac的撑持以后,新的扫除浮动办法:- /*newclearfix*/.clearfix:after{visibility:hidden;display:block;font-size:0;content:"";clear:both;height:0;}*html.clearfix{zoom:1;}/*IE6*/*:first-child+html.clearfix{zoom:1;}/*IE7*/
复制代码 申明:
IE6和IE7都不撑持:after这个伪类,因而必要前面两条来触发IE6/7的haslayout,以扫除浮动。侥幸的是IE8撑持:after伪类。因而只必要针对IE6/7的hack了。
糖伴西红柿说:
JeffStarr在这里针对IE6/7用了两条语句来触发haslayout。我在想作者为何不间接用*来间接对IE6/7同时使用zoom:1大概间接就写成:- .clearfix:after{visibility:hidden;display:block;font-size:0;content:"";clear:both;height:0;}.clearfix{*zoom:1;}
复制代码 以我今朝的浅陋认知来说,以上写法应当也能够间接到达一样效果。关于这个中央,在文章的批评里也有些会商,我但愿再听听人人的卓识。
我平常都是用overflow:hidden来扫除浮动的,由于够复杂粗犷。可是overflow偶然候也不太合用:
父级元素利用overflow:hidden时,假如其子元素定位到部分或全体在父元素以外,父元素就会对超越其外的子元素部分举行裁剪。
对css3来讲,也会overflow:hidden也会对一些属性发生影响。
比方box-shadow,当父元素利用overflow:hidden属性时,box-shadow会被裁剪。
其他大概被影响的元素如text-shadow和transform。能够参考AndyFord的demo
关于那些不肯意再给标签增加分外的clearfix类来扫除浮动的人来讲,间接将必要扫除浮动的元素增加进扫除浮动代码块这个组也是一个举措。- .group:after,#content:after,#sidebar:after,#some.other.thing:after{visibility:hidden;display:block;font-size:0;content:"";clear:both;height:0;zoom:1;}
复制代码 这类情形下,html和css文件就像一个跷跷板的两端。html代码却是整齐了,css代码却呈现了必定的繁杂。并且一旦专题页面太长,大概在项目中利用,用这个扫除组的体例反而会不堪其扰。
回结上去,仍是得看团体、项目标衡量选择.固然我一向用复杂粗犷的overflow:hidden,可是如今更偏向于利用clearfix,感到这类一体化的器材更靠谱,能制止偶然对zoom的忘记。
成熟的器材不乱性好,可是会对照庞大、厚重;复杂的天真性好,可是过于零星、随便,没有构造性,还没那末不乱.衡量决意究竟要利用那种办法,偶然候反而比成绩自己还让人头疼.
我团体的设法是没有好与坏的区分,只要符合分歧适的区分。可是我们一向都受困于所受的教导,甚么成绩都有尺度谜底,非对即错,非好即坏。常常可见对一些工具的会商,都是奔着争出个谁好谁坏而往的,比方jQuerymootoolsYUI.比拟起究竟是好谁坏,我们仍是最好赶忙变化头脑,摒弃”一刀切”的头脑吧。
最初,关于为何要接纳一下这类庞大体例来针对IE6/7,而不接纳其他略微简便的体例,还但愿人人给我指导下迷津。- *html.clearfix{zoom:1;}/*IE6*/*:first-child+html.clearfix{zoom:1;}/*IE7*/
复制代码 Reference:
- [1].JeffStarr,TheNewClearfixMethod,December6,2009
- [2].AndyFord,SayingGoodbyetotheoverflow:hiddenClearingHack,December10th,2009
</p>
强大的字体控制和排版能力。CSS控制字体的能力比糟糕的FONT标签好多了。 |
|