浮动以后父DIV包不住子DIV解决方案

转载自http://blog.sina.com.cn/s/blog_6c363acf0100v4cz.html

当DIV1里面嵌套有一个DIV2,当DIV2设置了浮动,那么DIV1是无法被撑开的,也就是说DIV2在这里相当于浮在了页面上方,跟DIV1不在同一个层面,导致了DIV2无法把DIV1给撑开,这是一个老生常谈的问题,也是困扰很多刚接触DIV+CSS的朋友的一个问题。

先来看看这个问题的实际效果

这里本来DIV1是套在了DIV2的外面的,如果是使用表格做的话,那么DIV1肯定被撑开了,效果应该是如下所示

那如何解决这个浮动了之后无法把容器撑开的局面呢?解决的方法这里介绍2仲。

第一种:在浮动结束的容器后面加上这段代码

<div style=”clear:both;”></div>
意思是清除浮动。

第二种:在外层DIV,也就是这里的DIV1的CSS里面加入以下CSS代码

overflow: auto;
这2种方法都可以实现DIV2把DIV1撑开。不过这里建议大家使用第一种方法,要养成一个习惯,在浮动应用完后消除浮动,这样后面的DIV就不会继承这个浮动(就像在编程的时候,在打开数据库,操作完后,要养成个习惯在后面把数据库关闭)。也就是说浮动这个东西会被继承,除非消除这个浮动,才不会让后面接着的DIV受到继承。其实不仅是DIV,其他的像P等其他的容器都会有继承的效应,大家要养成一个习惯记得要消除浮动。

时间: 2024-11-10 16:49:53

浮动以后父DIV包不住子DIV解决方案的相关文章

如何阻止div中的子div触发div的事件

<div class="sideFrame" v-on:click="hideside"> <div class="sideFrameDiv" v-on:click.stop="test"> </div> </div> <script> hideside:function(){ hideside要执行的事件 }, test:function(){ 不做任何动作 } &

子DIV浮动(float)后父DIV高度自动失效解决方案

高度的自适应(父div高度随子div的高度改变而改变): 1.如果父div不定义height.子div均为标准流的时候,父div的height随内容的变化而变化,实现父div高度随子div的高度改变而改变. 2.如果父div定义height,子div均为标准流的时候,在IE下父div的height随内容变化而变化,如父div设置height:50px 如下所示,子元素div 本身具有高度和宽度,但由于其具有float:left属性后,其父元素div不具有高度. <html> <head&

jQuery滚动广告 解决子div绝对定位与父div重叠引起的闪烁问题

这两天做了一个滚动广告栏的demo 功能有自动轮播 左右箭头移动 导航点选中图片移动效果 模仿的是新浪体育的广告 最难的问题就是子div绝对定位于父div 鼠标移入子div 系统会判定鼠标移出了父div 所以会触发子div消失的效果 消失完因为鼠标在父div中 所以又触发了子div出现的效果 这样就会导致子div一直重复消失出现 形成闪烁的效果 在网上没有找到合适的解决问题办法 我通过设定状态和js的setTimeout解决了此问题 效果如图 需要设定两个状态 var arrow = false

解决子级用css float浮动 而父级div没高度不能自适应高度

解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法. 最外层的父级DIV不能自适应高度-不能随对象撑开没有高度 当在对象内的盒子使用了float后,导致对象本身不能被撑开自适应高度,这个是由于浮动产生原因. 如何解决父div对象自适应高度,方法有三种,接下来DIVCSS5逐一介绍. 1.首先我们先看HTML源代码: <!DOCTYPE html> <html> <head> <meta cha

子div用了float浮动之后,如何撑开父元素,让父元素div自动适应高度的问题

方法一: html: <div id="all1"> <div id="left1">1</div> <div id="left2">1</div> <div style=" clear:both; "></div> </div> css: #left1{ float:left;width:200px;} #left2{ float

子级用css float浮动 而父级div没高度不能自适应高度

子级对象使用css float浮动 而父级div不能自适应高度. 对父级div标签闭合</div>前加一个clear清除浮动对象. <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>父div不自适应高度实例</title> <style> .divcss5{width:500px;border:1px solid #0

浮动子div撑开父div的几种方法、给select赋值、zoom样式的含义、实现select下拉框readonly

1.浮动子div撑开父div的几种方法: (1)在父div中在添加一个清除浮动的子div<div style=" clear:both;"></div>,该div不设置任何样式,只用来清除浮动 (2)在父div的css样式中设置overflow:hidden;zoom:1; (3)设置父div也为浮动元素float:left:,这样设置的坏处是不能用margin:auto:实现居中 (4)设置父元素display:inline-block;,这样设置的坏处是不能

html布局-子div浮动后,父容器撑不开解决

文章:子div撑不开父div的几种解决办法: 1,可以在所有子元素后增加<div style="clear:both;"></div> 2,给父容器增加样式: .clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } 兼容IE样式: /* Hides from IE-mac \*/ * html .clearfix

判断子div存在勾选的input就将父元素的input勾选上;负责格式化父元素的input

$(".manage_xin_hou input").click(function() { //给子div的input绑定点击事件 var inputes=$(this).parent().parent().find('input'); //父元素下所有的input var k=1; for(var g=0;g<inputes.length;g++){ if($(inputes[g]).prop('checked')){ //如果父元素下所有的input中存在已经勾选的input