子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


相关文章
|
9月前
|
存储
浮点数float转换成十六进制字符串的方法(FloatToHex)
浮点数float转换成十六进制字符串的方法(FloatToHex)
228 0
浮点数float转换成十六进制字符串的方法(FloatToHex)
|
移动开发
快应用div纵向排列-----快应用无法使用float
在开发快应用布局时,要兼容各种大小屏幕的div的纵向排列,传统h5过度过来的同学会用到float:left但是在快应用中无法使这类写法生效 这时需要使用以上方向代替:display: flex; flex-direction: column; padding:20px; 此方法请写在需要纵向排列元素的父div中。
1074 0
快应用div纵向排列-----快应用无法使用float
|
容器
子div设置float后会导致父div无法自动撑开
注: 文章部分转载 彩泉 - 博客园 原因:内部的DIV因为float:left之后,就丢失了clear:both和display:block的样式,所以外部的DIV不会被撑开。
872 0
|
前端开发
子级用css float浮动 而父级div没高度不能自适应高度
子级对象使用css float浮动 而父级div不能自适应高度。   对父级div标签闭合前加一个clear清除浮动对象。 父div不自适应高度实例 .
768 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之间会有一个奇怪的间隙。
558 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之间会有一个奇怪的间隙。
|
4月前
|
存储 Java
百度搜索:蓝易云【Java语言之float、double内存存储方式】
由于使用IEEE 754标准进行存储,float和double类型可以表示非常大或非常小的浮点数,并且具有一定的精度。然而,由于浮点数的特性,它们在进行精确计算时可能会存在舍入误差。在编写Java程序时,需要注意使
59 0