`
star65225692
  • 浏览: 273390 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类

细微之处:比较两种CSS清除浮动的兼容

阅读更多

清除浮动是连续浮动元素之后的必备工作,在工作中我做到需要清除浮动的地方都要清除。

比如,我在瑞星的项目中一直这样使用:

.clear:after { content : '\0020' ; display : block ; height : 0 ; clear : both } .clear { *zoom : 1 }

观察腾讯微博项目,并不是每个浮动必须清除,但是如果内部元素连续浮动,其外部元素必然定高以避免找不到高度的情况,其清除浮动的代码如下:

.clear:after { content : '.' ; clear : both ; display : block ; height : 0 ; visibility : hidden ; line-height : 0 } .clear { zoom : 1 }

腾讯微博的.clear和许多选择器并列在一起,如:

.clear,.LC,.topicList,.mediaWrap,.cellMod { zoom : 1 }

我和腾讯微博的技术总监聊过这里可以去掉.LC等其余的选择器,并在这些类上定义clear的类,这个问题肯定是遗留的,不过对性能没有影响。瑞星 一个老资历的前端说是尽量减小html文件,这些大小可以作为代价转移到css文件上,不过我个人觉得css简洁一些,方法统一一些也是好事。商账追收

比较瑞星和腾讯的清除浮动的代码,有一些地方是不一样的,我在做瑞星的项目时,一开始采用的也是和腾讯一样的办法,在连续浮动元素后面追加'.', 这样一来,页面中会出现大量的'.'字符,所以这种办法一定要定义visibility:hidden的属性。现在的瑞星项目采用的办法是在连续浮动元素 后面追加空格(\0020),这样就不需要visibility和line-height属性,因空格在页面中是不可见的,而且html代码中的单个空格 对页面显示并不会产生影响。在zoom:1的定义上,瑞星的定义只针对了会出问题的IE7和IE6浏览器,腾讯的代码针对所有浏览器,这里腾讯的代码可能 在浏览器针对性上不如瑞星的代码。当然也有可能是为了更多浏览器的兼容,而我还没有研究到。

分享到:
评论

相关推荐

    HTML5 清除浮动

    清除浮动是一个解决CSS布局问题的关键技术,特别是当我们在处理浮动元素时。 在CSS中,浮动(float)属性主要用于创建多列布局或让文本环绕图像。当一个元素被设置为浮动,它会脱离正常的文档流,向左或向右移动,...

    div+css清除浮动

    div+css清除浮动

    目前比较全面的浏览器CSS BUG兼容汇总

    浏览器CSS兼容性问题一直是Web开发中的痛点,尤其是在处理IE6、IE7以及Firefox等不同浏览器时。以下是一些常见的CSS兼容性BUG及其解决方案: 1. **垂直居中问题**: 在IE6、7和Firefox中,实现元素的垂直居中可以...

    让CSS兼容IE和Firefox的技巧集合

    标题中的“让CSS兼容IE和Firefox的技巧集合”是指在网页设计中,针对Internet Explorer(IE)和Firefox这两种浏览器之间CSS样式兼容性问题的解决策略。描述中的“嘿呌,IE不再是个bug”暗示了这些技巧能帮助开发者...

    CSS属性兼容性对照表

    资源名称:CSS 属性兼容性对照表内容简介: CSS属性兼容性对照表 PDF,主要是列出一些CSS2.0/CSS2.1在各个版本的IE、火狐等主流浏览器下的兼容支持问题,此表有助于以后书写出全兼容的WEB标准化网页打下基础,前端...

    CSS浏览器的兼容问题

    随着Web技术的发展,前端开发变得越来越复杂,特别是CSS的跨浏览器兼容性问题一直是开发者们头疼的问题之一。不同的浏览器对CSS的支持程度不同,导致同样的一段CSS代码在不同的浏览器下可能会呈现出完全不同的效果。...

    css清除浮动

    ### CSS清除浮动详解 #### 一、引言 在网页设计与前端开发中,CSS(层叠样式表)是用于定义HTML文档外观的关键技术之一。其中,“清除浮动”是一项非常重要的概念,它解决了布局中常见的一个问题——即由于元素...

    CSS_浏览器兼容

    ### CSS_浏览器兼容知识点详解 #### 一、引言 在Web开发中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。不同的浏览器由于其解析引擎的不同,在渲染网页时可能会出现差异,导致页面显示效果不一致。本文...

    最全的CSS浏览器兼容问题整理(IE6、IE7)

    【CSS浏览器兼容问题详解】 在Web开发中,CSS(层叠样式表)的浏览器兼容性问题一直是开发者面临的挑战,特别是针对老旧的Internet Explorer版本,如IE6和IE7。了解和掌握这些兼容性技巧,能有效提升网页在不同...

    CSS浏览器兼容汇总

    浮动清除问题 - **问题描述**:清除浮动通常是为了避免浮动元素对其后元素的影响。 - **解决方案**: - 使用`:after`伪元素结合`clear`属性来清除浮动。 - 示例代码: ```css .clearfix:after { content: "";...

    css浏览器兼容性总结.pdf

    CSS浏览器兼容性是前端开发者经常面临的一个挑战,尤其是在处理IE和Firefox等不同浏览器时。以下是一些关键的CSS兼容性问题及解决方案: 1. **垂直居中问题**: - 在IE和Firefox中,实现`div`的垂直居中可以通过...

    css样式兼容不同浏览器的问题

    ### CSS样式兼容不同浏览器的问题 #### 一、CSS兼容性的基本概念 在Web开发中,浏览器兼容性一直是前端开发者面临的挑战之一。不同的浏览器对于CSS的支持程度各不相同,这可能导致同一段代码在不同浏览器下的显示...

    HTML标签和CSS兼容举例

    HTML(HyperText Markup Language)和CSS(Cascading Style Sheets)是构建网页的两种核心技术。HTML用于定义网页的结构和内容,而CSS则负责样式和布局的呈现。在这篇文章中,我们将深入探讨HTML标签和CSS在不同...

    CSS 清除浮动Clear

    当我们提到“CSS 清除浮动Clear”时,我们实际上是在讨论如何解决由于浮动元素导致的布局问题。 在上述例子中,红色方块通过设置`float: left;`使其浮动到左侧,从而允许蓝色方块与其在同一行。这种布局方式在多列...

    css浏览器兼容问题大全

    【CSS浏览器兼容问题详解】 在Web开发中,CSS(层叠样式表)是用于控制网页元素样式的关键技术,但它在不同浏览器之间的兼容性问题一直是开发者面临的挑战。尤其是针对老版本的Internet Explorer(如IE7、IE6)和...

    详解CSS中zoom属性或overflow:auto属性清除浮动的作用

    在编写兼容性良好的CSS代码时,为了确保在各种浏览器中都能正确清除浮动,通常需要结合使用这两个属性。了解并掌握这些技巧对于前端开发者来说至关重要,特别是在进行页面重构和跨浏览器兼容性优化时。通过持续学习...

    CSS:清除浮动的最优方法

    本文将重点探讨一种高效且兼容性良好的清除浮动的方法,即利用CSS中的`overflow`属性。 传统的清除浮动方法包括使用`clear:both`、`clearfix`类或者在父元素内添加空元素等。然而,这些方法在某些情况下可能会带来...

Global site tag (gtag.js) - Google Analytics