子Div使用Float后撑开父Div的几种方法

简介:

一个Div包含了多个子Div,并且子Div使用了浮动后,父Div确不能被撑开,如下图: 
 
部分代码如下: 

复制代码

代码如下:


<style> 
#div1{border:1px solid red;float:left;} 
#div2,#div3{float:right;border:1px solid blue;} 
</style> 
<div id="div1"> 
<div id="div2">two</div> 
<div id="div3">one</div> 
</div> 


如果想要撑开父元素可以采用以下方法: 

方法一: 

父元素设置overflow以及zoom,样式如下: 

复制代码

代码如下:


<style> 
#div1{border:1px solid red;overflow:hidden;zoom:1;} 
#div2,#div3{float:right;border:1px solid blue;} 
</style> 


方法二: 

父元素也是设置浮动效果,样式如下: 

复制代码

代码如下:


<style> 
#div1{border:1px solid red;float:left;} 
#div2,#div3{float:right;border:1px solid blue;} 
</style> 


此方法有个缺陷是,父元素的宽度需要设置。 

方法三: 

在添加一个子元素,并设置clear样式: 

复制代码

代码如下:


<div id="div1"> 
<div id="div2">two</div> 
<div id="div3">one</div> 
<div style="clear:both"></div> 
</div> 


此方法添加了一个div元素,有些情况下可能这个div会影响元素的遍历。 

以上方法 使用doctype html 4.0 以及 doctype xhtml 1.0 的 Transitional 在FF IE6 IE7 IE8 下测试通过,其他浏览器没有测试。

本文转自  陈小龙哈   51CTO博客,原文链接:http://blog.51cto.com/chenxiaolong/1701672


相关文章
|
24天前
|
存储 数据采集 数据处理
Pandas中批量转换object至float的高效方法
在数据分析中,常需将Pandas DataFrame中的object类型列转换为float类型以进行数值计算。本文介绍如何使用`pd.to_numeric`函数高效转换,并处理非数字值,包括用0或平均值填充NaN值的方法。
28 1
|
2月前
|
前端开发
前端基础(十一)_Float浮动、清除浮动的几种方法
本文介绍了浮动的概念、属性、特性以及清除浮动的几种方法,并通过实例演示了如何使用CSS实现元素的浮动和处理浮动带来的问题。
70 3
|
存储
浮点数float转换成十六进制字符串的方法(FloatToHex)
浮点数float转换成十六进制字符串的方法(FloatToHex)
560 0
浮点数float转换成十六进制字符串的方法(FloatToHex)
|
Python
Python 数值类型方法|内建函数的对比汇总 (int bool float complex bytes str)
Python 数值类型方法|内建函数的对比汇总 (int bool float complex bytes str)
121 0
|
移动开发
快应用div纵向排列-----快应用无法使用float
在开发快应用布局时,要兼容各种大小屏幕的div的纵向排列,传统h5过度过来的同学会用到float:left但是在快应用中无法使这类写法生效 这时需要使用以上方向代替:display: flex; flex-direction: column; padding:20px; 此方法请写在需要纵向排列元素的父div中。
1134 0
快应用div纵向排列-----快应用无法使用float
|
容器
子div设置float后会导致父div无法自动撑开
注: 文章部分转载 彩泉 - 博客园 原因:内部的DIV因为float:left之后,就丢失了clear:both和display:block的样式,所以外部的DIV不会被撑开。
901 0
|
Web App开发 容器
Internet Explorer中Float DIV和Clear DIV之间奇怪间隙的Bug
Container: padding: 20px; Float Float Clear 在浮动的DIV下面放一个有clear属性的DIV是我们做布局的时候常常用的一种方式。如果这个浮动的DIV和有clear属性的DIV是放在一个作为容器的DIV里面,而这个最外层的DIV由具有padding的时候,在IE浏览器里面,浮动的DIV和有clear属性的DIV之间会有一个奇怪的间隙。
572 0