您现在的位置:学赛首页 > 新手教程 > HTML&CSS > 正文
精通CSS:浮动[4]
http://www.educity.cn 作者:《精通CSS:高级Web标准解决方案》 来源:希赛网 2007年9月12日 发表评论 进入社区
对于这两种方法,需要指定进行清理的元素应该出现在哪里,而且常常要添加一个类名:

    <div class="news clear">
    <img src="news-pic.jpg" />
    <p>some text</p>
    </div>

    在使用CSS方法时,结合使用:after伪类和内容声明在指定的现有内容的末尾添加新的内容。在这个示例中,我添加了一个句点,因为它是个非常小的不引人注意的字符。不希望新内容占据垂直空间或者在页面上显示,所以需要将height设置为0,将visibility设置为hidden。因为被清理的元素在它们的顶空白边上添加了空间,所以生成的内容需要将它的display属性设置为block。

    这样设置之后,就可以对生成的内容进行清理:

    .clear:after {
    content: ".";
    height:0;
    visibility: hidden;
    display: block;
    clear:both;
    }

    这个方法在大多数现代浏览器中是有效的,但是在IE 6和更低版本中不起作用。有各种解决方案,其中许多记录在www.positioniseverything.net/easyclearing.html中。最常用的解决方案涉及使用Holly招数(见第8章),从而迫使IE 5-6应用“布局”(见第9章)和不正确地清理浮动元素。

    .clear{
    display: block;
    }
    /* holly hack targets ie win only \*/
    * html .clear {height:1%;}
    .clear {display:block;}
    /* end holly hack */

    但是,由于其复杂性,这个方法可能不适合所有人采用。

    对JavaScript方法的解释超出了本书的范围,但是需要简要地提及一下。与前面的方法不同,JavaScript方法在所有主流浏览器上都是有效的(在打开脚本功能的情况下)。但是,如果使用这个方法,就需要确保在关闭脚本功能的情况下内容仍然是可读的。

  2.3  小结

  在本章中,学习了框模型的一些性质。看到了相邻垂直空白边的叠加如何形成单一空白边,以及Windows上的IE 5.x如何以与其他浏览器不同的方式解释width属性。理解了绝对定位和相对定位之间的差异,以及在相对定位的容器中进行绝对定位是多么有用。最后,还看到了浮动在各种情况下的表现,学习了如何通过增加顶空白边对元素进行清理。

  具备了这些知识之后,我们就可以开始运用它们了。在本书的下一部分中,我们将讲解许多CSS核心概念,你将看到如何使用这些概念创建各种有用且实用的技术。打开惯用的文本编辑器,我们要开始编程了。

购买《精通CSS:高级Web标准解决方案》http://shop.csai.cn/itbook/itbookinfo.asp?lbbh=10014414

[1]  [2]  [3]  [4]