`

css-float-浮动,高度问题,clear,overflow

阅读更多

解决浮动层没有高度,高度不自动适应的问题 

    在容器上添加以下这个 class

  1. .clearfix:after {  
  2.     content "." ;  
  3.     display block ;  
  4.     height 0 ;  
  5.     clear both ;  
  6.     visibility hidden ;  
  7. }  
  8. /* Hides from IE-mac \*/   
  9. * html .clearfix {height 1% ;}  
  10. /* End hide from IE-mac */   

 

在使用Div+Css布局的时候,Float往往比Position更常用,有以下几个值:left,right,none。

Left:元素会移至父元素中的左侧。

Right:元素会移至父元素中的右侧。

None:元素会显示于它在文档中默认出现的位置。

Float的概念很简单,但是实际使用的时候,浮动溢出的问题却很棘手。所谓“浮动溢出”是指:当容器内有浮动元素的时候,由于浮动元素已经脱离了流,所以容器的高度不能自动伸长以适应浮动元素的高度,使得内容溢出到容器外面。

下面代码演示可以看出浮动溢出的实际情况,为了方便,我给外部容器设置了一个边框:

  1. < div   style = "border:1px solid #000000;"   mce_style = "border:1px solid #000000;" >   
  2.     < div   style = "float: left;"   mce_style = "float: left;" > hello, world. </ div >   
  3. </ div >   

 

方法一:W3推荐的解决方法 是在浮动元素的下面使用clear,代码如下:

  1. < div   style = "border:1px solid #000000;"   mce_style = "border:1px solid #000000;" >   
  2.     < div   style = "float: left;"   mce_style = "float: left;" > hello, world. </ div >   
  3.     < div   style = "clear: both;"   mce_style = "clear: both;" > </ div >   
  4. </ div >   

虽然这是W3推荐的标准方法,但是在网页里平白无故加入一个空的Div,无论如何都是坏味道。

方法二:有人提出了利用overflow清除浮动的方法,代码如下:

  1. <div style= "border:1px solid #000000; overflow: auto; zoom: 1;"  mce_style= "border:1px solid #000000; overflow: auto; zoom: 1;" >  
  2.     <div style="float: left;"  mce_style= "float: left;" >hello, world.</div>  
  3. </div>  

 

或者:

  1. < div   style = "border:1px solid #000000; overflow: hidden; zoom: 1;"   mce_style = "border:1px solid #000000; overflow: hidden; zoom: 1;" >   
  2.     < div   style = "float: left;"   mce_style = "float: left;" > hello, world. </ div >   
  3. </ div >   

 

其中的zoom是为了兼容IE。

可惜overflow有时候会引起一些意料之外的麻烦,所以,还是少用为妙。

方法三:利用after伪类清除浮动的方法,代码如下:

  1. < mce:style   type = "text/css" > <!--  
  2. .clearfix:after {  
  3.     content: ".";  
  4.     display: block;  
  5.     height: 0;  
  6.     clear: both;  
  7.     visibility: hidden;  
  8. }  
  9. --> </ mce:style > < style   type = "text/css"   mce_bogus = "1" > .clearfix:after {  
  10.     content: ".";  
  11.     display: block;  
  12.     height: 0;  
  13.     clear: both;  
  14.     visibility: hidden;  
  15. }</ style >   
  16. <!--[if IE]>   
  17. < mce:style   type = "text/css" > <!--  
  18. .clearfix {  
  19.     zoom: 1;  
  20. }  
  21. --> </ mce:style > < style   type = "text/css"   mce_bogus = "1" > .clearfix {  
  22.     zoom: 1;  
  23. }</ style >   
  24. <![endif]-->   
  25. ---  
  26. < div   style = "border:1px solid #000000;"   mce_style = "border:1px solid #000000;"   class = "clearfix" >   
  27.     < div   style = "float: left;"   mce_style = "float: left;" > hello, world. </ div >   
  28. </ div >   

 

其中的<!--[if IE]>...<![endif]-->部分是为了兼容IE

分享到:
评论

相关推荐

    CSS浮动属性Float详解 什么是CSS Float?

    CSS 浮动属性 Float 详解 CSS 浮动属性 Float 是一种重要的定位属性,允许页面元素浮动在其他元素旁边。Float 属性可以取四个值:Left、Right、None 和 Inherit。其中,Left 和 Right 分别浮动元素到左边和右边,...

    Day06-CSS布局-浮动

    在Web开发中,CSS布局是构建网页结构的关键技术之一,而“浮动”(Float)是CSS布局中一个重要的概念,它主要用于创建多列布局和实现图文混排效果。本篇文章将深入探讨CSS浮动的原理、用途以及如何在实践中应用。 ...

    CSS无难事-浮动floatright的应用和li的高度问题.pdf

    在“CSS无难事-浮动floatright的应用和li的高度问题”这个主题中,我们将探讨`float:right`的用法以及`&lt;li&gt;`元素高度问题的解决策略。 首先,让我们了解`float:right`。当将一个元素的`float`属性设置为`right`时,...

    css1--关于float的div撑不起父div的问题

    标题中的“css1--关于float的div撑不起父div的问题”指的是在CSS布局中常见的一个技术挑战。在网页设计中,我们经常使用`float`属性来实现元素的浮动,以便进行布局,比如创建多列布局或者使文本环绕图片。然而,...

    HTML5+CSS3网页设计-第七章 浮动.pptx

    浮动(float)属性是CSS3中用于布局的重要工具,主要包含`left`和`right`两个值。`float:left`使元素向左浮动,`float:right`则使其向右浮动。当元素浮动后,它们会尽可能地向左或向右移动,直到碰到父元素的边缘或...

    css浮动的有关问题

    ### CSS 浮动基础知识与常见问题解析 #### CSS 浮动概述 在CSS布局中,`float`属性是一个非常重要的概念,它允许元素脱离文档流并漂浮到一边,这样其他内容可以环绕在该元素周围。`float`属性主要用于创建多列布局...

    CSS浮动属性Float详解[收集].pdf

    CSS浮动属性Float详解 CSS浮动属性Float是CSS中的一种定位方式,它可以使元素在网页流中浮动,周围的元素可以围绕它排列。浮动元素仍然是网页流的一部分,这与使用绝对定位的页面元素不同。绝对定位的页面元素被从...

    清理浮动的几种方法

    .overflow-clear-float { overflow: hidden; } ``` 4. 使用`display:table`清除:将父元素的`display`属性设为`table`,使其行为类似表格,自动适应其内容的高度。例如: ```css .table-clear-float { ...

    CSS中的Float语法.docx

    - IE5/Mac浏览器对未指定宽度的浮动元素处理存在兼容性问题,需要额外的CSS hack来解决。 5. **与其他定位方式的区别** - 相对于绝对定位,浮动元素仍然参与文档流,只是脱离了常规的布局模式。 - 绝对定位的...

    浮动float深入了解

    浮动(float)是CSS布局中的一个核心概念,尤其在传统网页设计中扮演了重要角色。它允许元素在容器内水平移动,直到其边缘碰到容器的边框或其他浮动元素。本篇文章将深入探讨浮动的工作原理,以及如何有效地利用它来...

    CSS使用float属性设置浮动元素的实例教程

    在示例的`overflow-clear-float`类中,通过设置`overflow: hidden`,可以实现清除浮动的效果,使得父元素能正确计算包含浮动子元素的尺寸。 在实际应用中,浮动常用于创建多列布局,如两列布局,其中一列包含主内容...

    div+css float 布局,适配手机

    在高洛峰老师的 `div+css` 视频教程中,他可能详细讲解了如何创建浮动布局,包括设置 `div` 的宽高、设置 `float` 属性、清理浮动(clear floats)以防止父元素高度塌陷,以及如何使用媒体查询进行响应式设计。...

    CSS-Cheat-Sheet.pdf

    ### CSS知识点总结 #### 基础语法 CSS(层叠样式表)是用来描述网页呈现样式的语言。它的基础语法包括选择器...- `clear`:指定元素是否允许在其左侧、右侧或两侧有浮动元素。 - `z-index`:设置元素的堆叠顺序。

    CSS-网页样式大全.pdf

    3. **浮动** (`float`) - 定义元素是否浮动以及向哪边浮动。 4. **清除** (`clear`) - 控制元素周围不允许有浮动元素。 5. **边距** (`margin`) - 定义元素周围的空白区域。 6. **填充** (`padding`) - 定义...

    css float属性_动力节点Java学院整理

    浮动(Float)是CSS布局中的一个关键概念,它主要用于创建多列布局和控制元素的排列方式。`float`属性允许元素在文档流中浮动,从而影响周围元素的布局。本篇将详细介绍`float`属性及其在页面布局中的作用。 ### 1....

    详细说明了div怎么在div上实现浮动的代码

    然而,浮动元素可能会引起父元素高度塌陷的问题,即当所有浮动子元素的高度都不足以填充父元素时,父元素的高度会自动缩小,导致下面的元素上移。解决这个问题的方法是使用clearfix方法,或者设置`overflow`属性,如...

    Float(浮动)导致的父容器背景不显示的解决方法

    在网页布局设计中,`Float`(浮动)是一种常见的CSS技术,用于实现元素的定位,如创建多列布局或让文本环绕图片等效果。然而,`Float` 的使用有时会导致父容器的一些意外行为,比如背景颜色无法正常显示,这通常被...

    css浮动 float属性详解

    【CSS浮动(float属性)详解】 一、浮动的概念 浮动(float)是CSS布局中的一个重要概念,它使得元素能够脱离正常文档流,向左或向右移动,直至其边框接触到包含框或另一个浮动元素的边框。这个特性最初设计是为了...

Global site tag (gtag.js) - Google Analytics