解决浮动层没有高度,高度不自动适应的问题
在容器上添加以下这个 class
-
.clearfix:after {
-
content
:
"."
;
-
display
:
block
;
-
height
:
0
;
-
clear
:
both
;
-
visibility
:
hidden
;
-
}
-
-
* html .clearfix {height
:
1%
;}
-
在使用Div+Css布局的时候,Float往往比Position更常用,有以下几个值:left,right,none。
Left:元素会移至父元素中的左侧。
Right:元素会移至父元素中的右侧。
None:元素会显示于它在文档中默认出现的位置。
Float的概念很简单,但是实际使用的时候,浮动溢出的问题却很棘手。所谓“浮动溢出”是指:当容器内有浮动元素的时候,由于浮动元素已经脱离了流,所以容器的高度不能自动伸长以适应浮动元素的高度,使得内容溢出到容器外面。
下面代码演示可以看出浮动溢出的实际情况,为了方便,我给外部容器设置了一个边框:
-
<
div
style
=
"border:1px solid #000000;"
mce_style
=
"border:1px solid #000000;"
>
-
<
div
style
=
"float: left;"
mce_style
=
"float: left;"
>
hello, world.
</
div
>
-
</
div
>
方法一:W3推荐的解决方法 是在浮动元素的下面使用clear,代码如下:
-
<
div
style
=
"border:1px solid #000000;"
mce_style
=
"border:1px solid #000000;"
>
-
<
div
style
=
"float: left;"
mce_style
=
"float: left;"
>
hello, world.
</
div
>
-
<
div
style
=
"clear: both;"
mce_style
=
"clear: both;"
>
</
div
>
-
</
div
>
虽然这是W3推荐的标准方法,但是在网页里平白无故加入一个空的Div,无论如何都是坏味道。
方法二:有人提出了利用overflow清除浮动的方法,代码如下:
-
<div style=
"border:1px solid #000000; overflow: auto; zoom: 1;"
mce_style=
"border:1px solid #000000; overflow: auto; zoom: 1;"
>
-
<div style="float: left;"
mce_style=
"float: left;"
>hello, world.</div>
-
</div>
或者:
-
<
div
style
=
"border:1px solid #000000; overflow: hidden; zoom: 1;"
mce_style
=
"border:1px solid #000000; overflow: hidden; zoom: 1;"
>
-
<
div
style
=
"float: left;"
mce_style
=
"float: left;"
>
hello, world.
</
div
>
-
</
div
>
其中的zoom是为了兼容IE。
可惜overflow有时候会引起一些意料之外的麻烦,所以,还是少用为妙。
方法三:利用after伪类清除浮动的方法,代码如下:
-
<
mce:style
type
=
"text/css"
>
<!--
-
.clearfix:after {
-
content: ".";
-
display: block;
-
height: 0;
-
clear: both;
-
visibility: hidden;
-
}
-
-->
</
mce:style
>
<
style
type
=
"text/css"
mce_bogus
=
"1"
>
.clearfix:after {
-
content: ".";
-
display: block;
-
height: 0;
-
clear: both;
-
visibility: hidden;
-
}</
style
>
-
<!--[if IE]>
-
<
mce:style
type
=
"text/css"
>
<!--
-
.clearfix {
-
zoom: 1;
-
}
-
-->
</
mce:style
>
<
style
type
=
"text/css"
mce_bogus
=
"1"
>
.clearfix {
-
zoom: 1;
-
}</
style
>
-
<![endif]-->
-
---
-
<
div
style
=
"border:1px solid #000000;"
mce_style
=
"border:1px solid #000000;"
class
=
"clearfix"
>
-
<
div
style
=
"float: left;"
mce_style
=
"float: left;"
>
hello, world.
</
div
>
-
</
div
>
其中的<!--[if IE]>...<![endif]-->部分是为了兼容IE
分享到:
相关推荐
CSS 浮动属性 Float 详解 CSS 浮动属性 Float 是一种重要的定位属性,允许页面元素浮动在其他元素旁边。Float 属性可以取四个值:Left、Right、None 和 Inherit。其中,Left 和 Right 分别浮动元素到左边和右边,...
在Web开发中,CSS布局是构建网页结构的关键技术之一,而“浮动”(Float)是CSS布局中一个重要的概念,它主要用于创建多列布局和实现图文混排效果。本篇文章将深入探讨CSS浮动的原理、用途以及如何在实践中应用。 ...
在“CSS无难事-浮动floatright的应用和li的高度问题”这个主题中,我们将探讨`float:right`的用法以及`<li>`元素高度问题的解决策略。 首先,让我们了解`float:right`。当将一个元素的`float`属性设置为`right`时,...
标题中的“css1--关于float的div撑不起父div的问题”指的是在CSS布局中常见的一个技术挑战。在网页设计中,我们经常使用`float`属性来实现元素的浮动,以便进行布局,比如创建多列布局或者使文本环绕图片。然而,...
浮动(float)属性是CSS3中用于布局的重要工具,主要包含`left`和`right`两个值。`float:left`使元素向左浮动,`float:right`则使其向右浮动。当元素浮动后,它们会尽可能地向左或向右移动,直到碰到父元素的边缘或...
### CSS 浮动基础知识与常见问题解析 #### CSS 浮动概述 在CSS布局中,`float`属性是一个非常重要的概念,它允许元素脱离文档流并漂浮到一边,这样其他内容可以环绕在该元素周围。`float`属性主要用于创建多列布局...
CSS浮动属性Float详解 CSS浮动属性Float是CSS中的一种定位方式,它可以使元素在网页流中浮动,周围的元素可以围绕它排列。浮动元素仍然是网页流的一部分,这与使用绝对定位的页面元素不同。绝对定位的页面元素被从...
.overflow-clear-float { overflow: hidden; } ``` 4. 使用`display:table`清除:将父元素的`display`属性设为`table`,使其行为类似表格,自动适应其内容的高度。例如: ```css .table-clear-float { ...
- IE5/Mac浏览器对未指定宽度的浮动元素处理存在兼容性问题,需要额外的CSS hack来解决。 5. **与其他定位方式的区别** - 相对于绝对定位,浮动元素仍然参与文档流,只是脱离了常规的布局模式。 - 绝对定位的...
浮动(float)是CSS布局中的一个核心概念,尤其在传统网页设计中扮演了重要角色。它允许元素在容器内水平移动,直到其边缘碰到容器的边框或其他浮动元素。本篇文章将深入探讨浮动的工作原理,以及如何有效地利用它来...
在示例的`overflow-clear-float`类中,通过设置`overflow: hidden`,可以实现清除浮动的效果,使得父元素能正确计算包含浮动子元素的尺寸。 在实际应用中,浮动常用于创建多列布局,如两列布局,其中一列包含主内容...
在高洛峰老师的 `div+css` 视频教程中,他可能详细讲解了如何创建浮动布局,包括设置 `div` 的宽高、设置 `float` 属性、清理浮动(clear floats)以防止父元素高度塌陷,以及如何使用媒体查询进行响应式设计。...
### CSS知识点总结 #### 基础语法 CSS(层叠样式表)是用来描述网页呈现样式的语言。它的基础语法包括选择器...- `clear`:指定元素是否允许在其左侧、右侧或两侧有浮动元素。 - `z-index`:设置元素的堆叠顺序。
3. **浮动** (`float`) - 定义元素是否浮动以及向哪边浮动。 4. **清除** (`clear`) - 控制元素周围不允许有浮动元素。 5. **边距** (`margin`) - 定义元素周围的空白区域。 6. **填充** (`padding`) - 定义...
浮动(Float)是CSS布局中的一个关键概念,它主要用于创建多列布局和控制元素的排列方式。`float`属性允许元素在文档流中浮动,从而影响周围元素的布局。本篇将详细介绍`float`属性及其在页面布局中的作用。 ### 1....
然而,浮动元素可能会引起父元素高度塌陷的问题,即当所有浮动子元素的高度都不足以填充父元素时,父元素的高度会自动缩小,导致下面的元素上移。解决这个问题的方法是使用clearfix方法,或者设置`overflow`属性,如...
在网页布局设计中,`Float`(浮动)是一种常见的CSS技术,用于实现元素的定位,如创建多列布局或让文本环绕图片等效果。然而,`Float` 的使用有时会导致父容器的一些意外行为,比如背景颜色无法正常显示,这通常被...
【CSS浮动(float属性)详解】 一、浮动的概念 浮动(float)是CSS布局中的一个重要概念,它使得元素能够脱离正常文档流,向左或向右移动,直至其边框接触到包含框或另一个浮动元素的边框。这个特性最初设计是为了...