浮动会使元素尽量向左或向右移动,直到碰到包含框或另外一个浮动元素的盒子模型的边缘 包含框并不会改变里面浮动元素的宽高,浮动元素宽高不会限制在包含块以内 <!DOCTYPE html> <html> <head> <style type="text/css"> * { margin:0; padding:0; } .container { width:110px; height:100px; border:1px solid blue; }…
1.BFC 全称是块级排版上下文,用于对块级元素排版,默认情况下只有根元素(body)一个块级上下文,但是如果一个块级元素 设置了float:left,overflow:hidden或position:absolute样式,就会为这个块级元素生成一个独立的块圾上下文,就像在window全局作用域内,声明了一个function就会生成 一个独立的作用域一样,新开僻的BFC像是开僻了一个新的小宇宙,使这个块圾元素内部的排版完全独立隔绝.2.独立的块级上下文可以包裹浮动流,全部浮动子元素也不会引起容器…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{margin:0px; padding:0px;} .box1{ width: 300px; height: 300px; background-color: red } .box2{ width…
<div class="img_box"> <img src="http://sms-shop.oss-cnbeijing.aliyuncs.com/${item.bannerpic.split(',')[0]}"/> </div> .img_box { position: relative; width: 90%; padding-bottom: 100%; } .img_box img { position: absolute…
浮动引发的高度塌陷问题 高度塌陷问题的产生 BFC(Block Formatting Context)的引入 元素开启BFC后的特点 开启BFC的元素不会被其他浮动元素所覆盖 开启BFC的元素不会发生父子元素外边距重叠 开启BFC后可以包含浮动的子元素 如何开启BFC 设置元素浮动 将元素display属性设置为inline-block.table等 overflow属性设置为非visible值 开启定位 高度塌陷解决方法1: 父元素高度写死 高度塌陷解决方法2: 为父元素也设置浮动 高度塌陷解…
1. 高度塌陷 在浮动布局中,父元素的高度默认是被子元素撑开的  当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离将会无法撑起父元素的高度,导致父元素的高度丢失  父元素高度丢失以后,其下的元素会自动上移,导致页面的布局混乱 2. clear(有一定的弊端和隐患) clear作用:清除浮动元素对当前元素所产生的影响(本质是为元素添加一个margin-top属性,值由浏览器自动计算) 可选值:  left 清除左侧浮动元素对当前元素的影响  right 清除右侧浮动元素对当前元素的影响 …
<div class="box1"> <tabl></table> <div class="box2"></div> </div> 原理1: <table> 将会隔离父子元素, 所以解决垂直外边距重叠问题方法1: .clearfix:before{ content:""; display:table; } 原理2:  解决高度塌陷方法2: .clearfix:af…
高度塌陷是如何引起的? 解析: 当一个 div中所有的子  div都进行了浮动后,那么会出现该问题,那么解决方就是在父 div中 设置其  overflow:hidden;即可解决高度塌陷问题. 方式二:在父 div结束标签前添加一个子的  div,给该 div设置一个 id,然后通过样式清除浮动.代码如下: #littlediv{clear:left;} //左侧不允许浮动 或者是 #littlediv{clear:both;} //清除左右两侧浮动元素…
Float是我们在页面布局中常用的,也是非常重要的一个属性,可以让页面布局变得更加灵活. 但是在继续学习之后,尤其是掌握了宽高自适应之后,我们常常会发现一个奇怪的现象:如果父元素没有设置高度,而子元素都浮动了的话,父元素就“瘪”了. 就像下面这样 <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css">…
解决高度塌陷问题的方法: 方法一. //给父元素添加声明 overflow:hidden; 缺点:回隐藏溢出的元素: 方法二. 在浮动的元素下添加空div标签,并给该元素添加声明: clear:both; height:0; overflow:hidden; 缺点:在结构里增加了空标签,不利于代码可读性,且降低了浏览器性能: 方法三. 万能清除浮动法: 选择符: .clear:after{ content: ' ', clear: both; display:block; height:0; v…