css浮动导致的高度塌陷问题及清楚浮动的方法
浮动很好用,但是用浮动后,当浮动元素的父级元素没有高度时,就会造成高度塌陷,从而影响布局。下面就从一开接触前端时,渐渐发现解决高度塌陷的问题的方式。
一、给浮动元素的父级元素添加固定的高度css【height:200px】
很多时候就是不想把如下布局中的父极元素的高度定死,讲究的是自适应,从而才出现了高度塌陷的问题,因此,该方法一般都不适用。
二、给浮动元素的父级元素添加样式css【overflow:hidden/overflow:auto】---- 是将父级元素形成一个BFC区(独立的布局环境,BFC中的元素的布局是不受外界的影响)
给如下情况的父级元素添加overflow:hidden/overflow:auto的样式一般情况下很适用,但由于overflow是一种样式的属性,(规定当内容溢出元素框时发生的事情),所以使用该样式虽然可以解决高度塌陷的问题,但是有时候可能会影响元素的样式,所以不要作为主要清理浮动方式。
三、给浮动元素的父级元素添加样式css【float:left】---- 是将父级元素形成一个BFC区(该方式要在不影响其外部的布局的前提上使用)
给如下情况的父级元素添加float:left的样式不建议使用,该方法可能影响到将父级元素外部的布局。
四、在浮动元素后(父级元素中)添加一个带有clear:both属性的任意空元素,【<div style='clear:both'></div>】(可以是div,也可以是span等标签)
如下清楚浮动的方式一般情况下都是可行的,容易理解,而且兼容所有浏览器、随用随清,需要添加大量无语义的html元素,是不建议使用的。
五、同第四种方式差不多,在如下情况下的父级元素中,浮动元素后(父级元素中)有一个需要的元素且不浮动,给该元素添加样式css【clear:both】
该方式和上面的方式差不多,该方式实在有需要的标签上写上需要的样式,不需要无用的空标签,但该方式在布局中也很少会存在。有存在这种情况的时候可以使用,浮动元素和不浮动元素必须要在同一个父级元素中。
六、给浮动元素的父级元素添加样式css【:after】的伪元素(主要样式如下)----- 所谓的万能清楚法
给如下父级元素添加一个after伪元素,首先给父级元素加一个类名clearfix,然后书写样式
.clearfix:after{
content: ' '; ----- 可以是看不见的空格“/20”或点“.”
display: block;
height: 0;
clear: both; ----- 清除浮动
}
.clearfix{
zoom:1; ----- 为了IE6和IE7浏览器
}
这类方式叫万能清楚法,只要能给元素添加class类名即可,不会有无用的空标签,也不会修改父级元素的样式,推荐使用。
以上是我参考其他博客并结合我自身理解去总结的,有错的地方希望可以指点。
css浮动导致的高度塌陷问题及清楚浮动的方法的更多相关文章
- 浮动引发的高度塌陷问题及其解决方法(BFC相关概念及性质)
浮动引发的高度塌陷问题 高度塌陷问题的产生 BFC(Block Formatting Context)的引入 元素开启BFC后的特点 开启BFC的元素不会被其他浮动元素所覆盖 开启BFC的元素不会发生 ...
- css float父元素高度塌陷
css float父元素高度塌陷 float 使父元素高度塌陷不是BUG,反而是标准. float 原本是为了解决文字环绕才出现的. 当然有的时候要解决高度塌陷的问题 以下几个方法可以解决float ...
- CSS浮动布局带来的高度塌陷以及其解决办法
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- 浅谈BFC与高度塌陷
这个概念我大概是去年时候接触到的吧,略略记录了一下,没有深入研究,恰逢最近秋招,在这里写一写,顺便加深自己的印象. 什么是BFC? 页面中的元素都隐含一个属性Block Formatting Cont ...
- 高度塌陷与BFC
高度塌陷的产生条件 子元素浮动,脱离文档流 子元素绝对定位或固定定位,脱离文档流 定位产生的高度塌陷只能通过加固定高度或更换其他方案解决塌陷,本文主要讨论浮动产生塌陷的解决方法. 高度塌陷的解决方法 ...
- CSS笔记 - fgm练习 2-10 - 提示框效果 (清除子元素浮动高度塌陷的影响)
CSS清除浮动方法参考: https://blog.csdn.net/promiseCao/article/details/52771856 <style> *{ margin: 0; p ...
- css关于浮动的高度塌陷
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 如何解决浮动元素高度塌陷---CSS
解决高度塌陷问题的方法: 方法一. //给父元素添加声明 overflow:hidden; 缺点:回隐藏溢出的元素: 方法二. 在浮动的元素下添加空div标签,并给该元素添加声明: clear:bot ...
- CSS: inline-block的应用和float块高度塌陷
普通流高度塌陷: 当块float浮动时,不会对块布局产生影响,块仍然会按照左右或者上下的顺序排列.但是会影响文档的排列,当文档的高度超过块的高度时,块的高度会产生塌陷现象. 高度塌陷解决方法: ...
随机推荐
- sturts2 回顾
第一个简单的struts2例子: 1. 创建一个web project 2. 导入jar包 具体jar包在struts 的例子中的lib文件夹中copy
- shell 结合expect实现ssh登录并执行命令
#!/bin/bash ips=( '127.0.0.1' ) ;i<${#ips[*]};i++)) do expect <<EOF #这里的 expect <<EOF ...
- WebLogic的服务搭建
一.简介 WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发.集成.部署和管理大型分布式Web ...
- 然而,该来的还是来了(Diary)
2017-05-07 LG月赛成功炸掉...发现自己真的好多东西不会啊.对某些知识仅仅有最基础的一点理解啊!连线段树都理解不了怎么办?归并排序(including分治+贪心)全部炸掉啊.感觉自 ...
- NOIP2016 DAY2 T3 愤怒的小鸟
传送门 题目描述 Kiana 最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于 (0,0)(0,0) 处,每次 Kiana 可以用它向第一象限发射一只红色的 ...
- PHP socket初探 --- 关于IO的一些枯燥理论
[原文地址:https://blog.ti-node.com/blog...] 要想更好了解socket编程,有一个不可绕过的环节就是IO.在Linux中,一切皆文件.实际上要文件干啥?不就是读写么? ...
- HDU - 4323 - Magic Number
先上题目: Magic Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Other ...
- 0807再整理SQL执行流程
转自http://www.cnblogs.com/annsshadow/p/5037667.html MySQL架构总览->查询执行流程->SQL解析顺序 前言: 一直是想知道一条SQ ...
- [bzoj3062][Usaco13Feb]Taxi_贪心
Taxi bzoj-3062 Usaco13Feb 题目大意:有n个奶牛想坐出租车.第i头奶牛在起点a[i]等候,想坐出租车到b[i].Bessie从0出车,车上只能坐一头奶牛.她必须完成所有奶牛的要 ...
- # 从零開始搭建Hadoop2.7.1的分布式集群
Hadoop 2.7.1 (2015-7-6更新),Hadoop的环境配置不是特别的复杂,可是确实有非常多细节须要注意.不然会造成很多配置错误的情况.尽量保证一次配置正确防止重复改动. 网上教程有非常 ...