清除浮动是连续浮动元素之后的必备工作,在工作中我做到需要清除浮动的地方都要清除。
比如,我在瑞星的项目中一直这样使用:
.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浏览器,腾讯的代码针对所有浏览器,这里腾讯的代码可能
在浏览器针对性上不如瑞星的代码。当然也有可能是为了更多浏览器的兼容,而我还没有研究到。
分享到:
相关推荐
清除浮动是一个解决CSS布局问题的关键技术,特别是当我们在处理浮动元素时。 在CSS中,浮动(float)属性主要用于创建多列布局或让文本环绕图像。当一个元素被设置为浮动,它会脱离正常的文档流,向左或向右移动,...
div+css清除浮动
浏览器CSS兼容性问题一直是Web开发中的痛点,尤其是在处理IE6、IE7以及Firefox等不同浏览器时。以下是一些常见的CSS兼容性BUG及其解决方案: 1. **垂直居中问题**: 在IE6、7和Firefox中,实现元素的垂直居中可以...
标题中的“让CSS兼容IE和Firefox的技巧集合”是指在网页设计中,针对Internet Explorer(IE)和Firefox这两种浏览器之间CSS样式兼容性问题的解决策略。描述中的“嘿呌,IE不再是个bug”暗示了这些技巧能帮助开发者...
资源名称:CSS 属性兼容性对照表内容简介: CSS属性兼容性对照表 PDF,主要是列出一些CSS2.0/CSS2.1在各个版本的IE、火狐等主流浏览器下的兼容支持问题,此表有助于以后书写出全兼容的WEB标准化网页打下基础,前端...
随着Web技术的发展,前端开发变得越来越复杂,特别是CSS的跨浏览器兼容性问题一直是开发者们头疼的问题之一。不同的浏览器对CSS的支持程度不同,导致同样的一段CSS代码在不同的浏览器下可能会呈现出完全不同的效果。...
### CSS清除浮动详解 #### 一、引言 在网页设计与前端开发中,CSS(层叠样式表)是用于定义HTML文档外观的关键技术之一。其中,“清除浮动”是一项非常重要的概念,它解决了布局中常见的一个问题——即由于元素...
### CSS_浏览器兼容知识点详解 #### 一、引言 在Web开发中,浏览器兼容性问题一直是前端开发者面临的重要挑战之一。不同的浏览器由于其解析引擎的不同,在渲染网页时可能会出现差异,导致页面显示效果不一致。本文...
【CSS浏览器兼容问题详解】 在Web开发中,CSS(层叠样式表)的浏览器兼容性问题一直是开发者面临的挑战,特别是针对老旧的Internet Explorer版本,如IE6和IE7。了解和掌握这些兼容性技巧,能有效提升网页在不同...
浮动清除问题 - **问题描述**:清除浮动通常是为了避免浮动元素对其后元素的影响。 - **解决方案**: - 使用`:after`伪元素结合`clear`属性来清除浮动。 - 示例代码: ```css .clearfix:after { content: "";...
CSS浏览器兼容性是前端开发者经常面临的一个挑战,尤其是在处理IE和Firefox等不同浏览器时。以下是一些关键的CSS兼容性问题及解决方案: 1. **垂直居中问题**: - 在IE和Firefox中,实现`div`的垂直居中可以通过...
### CSS样式兼容不同浏览器的问题 #### 一、CSS兼容性的基本概念 在Web开发中,浏览器兼容性一直是前端开发者面临的挑战之一。不同的浏览器对于CSS的支持程度各不相同,这可能导致同一段代码在不同浏览器下的显示...
HTML(HyperText Markup Language)和CSS(Cascading Style Sheets)是构建网页的两种核心技术。HTML用于定义网页的结构和内容,而CSS则负责样式和布局的呈现。在这篇文章中,我们将深入探讨HTML标签和CSS在不同...
当我们提到“CSS 清除浮动Clear”时,我们实际上是在讨论如何解决由于浮动元素导致的布局问题。 在上述例子中,红色方块通过设置`float: left;`使其浮动到左侧,从而允许蓝色方块与其在同一行。这种布局方式在多列...
【CSS浏览器兼容问题详解】 在Web开发中,CSS(层叠样式表)是用于控制网页元素样式的关键技术,但它在不同浏览器之间的兼容性问题一直是开发者面临的挑战。尤其是针对老版本的Internet Explorer(如IE7、IE6)和...
在编写兼容性良好的CSS代码时,为了确保在各种浏览器中都能正确清除浮动,通常需要结合使用这两个属性。了解并掌握这些技巧对于前端开发者来说至关重要,特别是在进行页面重构和跨浏览器兼容性优化时。通过持续学习...
本文将重点探讨一种高效且兼容性良好的清除浮动的方法,即利用CSS中的`overflow`属性。 传统的清除浮动方法包括使用`clear:both`、`clearfix`类或者在父元素内添加空元素等。然而,这些方法在某些情况下可能会带来...