[css] 清除浮动的方式有哪些及优缺点?

[css] 清除浮动的方式有哪些及优缺点?

什么是盒子塌陷?
外部盒子本应该包裹住内部的浮动盒子,结果却没有。问题出现的原因
父元素只包含浮动元素,那么它的高度就会塌缩为零(前提就是你们没有设置高度(height)属性,或者设置了为auto,就会出现这种情况,如果父元素不包含任何的可见背景,这个问题会很难被注意到。
因为子元素设置了float属性,而float属性会把元素从标准文档流中抽离,直接结果就是外部盒子丢了两个孩子,因为内部没有其它盒子了,所以外部盒子只包裹文本节点内容,却把两个内部盒子扔在外面了。解决方案上面分析了问题出现的原因,不难找到第一种解决方案(既然孩子丢了,那就去找呗)——给外部盒子也添加浮动把外部盒子也从标准文档流中抽离,让它和孩子们见面。
缺点:可读性差,不易于维护(别人很难理解为什么要给父元素也添上float),而且可能需要调整整个页面布局。在外部盒子内最下方添上带clear属性的空盒子可以是div也可以是其它块级元素,把 <div style="clear:both;"></div>放在盒内底部,用最下面的空盒子清除浮动,把盒子重新撑起来。
缺点:引入了冗余元素用overflow:hidden清除浮动给外部盒子添上这个属性就好了,非常简单。缺点:有可能造成溢出元素不可见,影响展示效果。用after伪元素清除浮动给外部盒子的after伪元素设置clear属性,再隐藏它这其实是对空盒子方案的改进,一种纯CSS的解决方案,不用引入冗余元素。.clearfix {*zoom: 1;}
.clearfix:before,.clearfix:after {display: table;line-height: 0;content: "";}
.clearfix:after {clear: both;}这也是bootstrap框架采用的清除浮动的方法。题外话其实还有一种最直接的办法:给每个盒子规定width和height,要多大给多大即可。但这并不算什么解决方案,因为这样的布局不是内容自适应的,但如果页面内容极少发生变动,这也是一个不错的方案,因为它的兼容性是毋庸置疑的。

个人简介

我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易,
但坚持一定很酷。欢迎大家一起讨论

主目录

与歌谣一起通关前端面试题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412487.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows10 C盘清理

大家好&#xff0c;我是烤鸭&#xff1a; 身为一个号称修电脑的&#xff0c;磁盘清理是必备技能了。前几天刚出的新闻 男子帮女友清理电脑C盘&#xff0c;扫出17万个文件。 想必大家都经历过清理C盘的痛苦&#xff0c;这两天正好又清了&#xff0c;分享下。 先给个结论&#…

JS代码计算股票涨停

这个纯粹是给自己留做备份用的&#xff0c;股票涨停有一个计算公式&#xff0c;但是为了自己方便查看股票涨了多少钱&#xff0c;还是决定自己写了一个 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>…

[css] 简述你对BFC规范的理解

[css] 简述你对BFC规范的理解 是CSS中的一个渲染机制&#xff0c;BFC就相当于一个盒子&#xff0c;内部的元素与外界的元素互不干扰。它不会影响外部的布局&#xff0c;外部的布局也不会影响到它。形成条件&#xff08;任意一条&#xff09;float的值不是noneposition 的值不是…

《实现领域驱动设计》读书笔记

大家好&#xff0c;我是烤鸭&#xff1a; 《实现领域驱动设计》&#xff0c;读书笔记&#xff0c;贴个封面&#xff0c;要不不知道是哪本。 了解概念 刚开始接触DDD&#xff0c;肯定懵逼&#xff0c;很多名词&#xff0c;一点点看下。 领域&#xff1a;带有业务属性的范…

[css] 用css创建一个三角形,并简述原理

[css] 用css创建一个三角形&#xff0c;并简述原理 width: 0;height: 0;margin: 100px auto;border-top: 50px solid transparent;border-left: 50px solid transparent;border-right: 50px solid transparent;border-bottom: 50px solid red;个人简介 我是歌谣&#xff0c;欢…

spring junit单元测试

项目是有很多个功能块组成的&#xff0c;我们开发的时候&#xff0c;当我们开发出来一个功能&#xff0c;想要测试这个功能是否正确&#xff0c;不可能等到前端和后端全部写好了再进行测试&#xff0c;这样太浪费时间&#xff0c;有没有什么方法能直接测试后台的功能写的是否正…

windows docker redis

大家好&#xff0c;我是烤鸭&#xff1a; docker真的太方便了&#xff0c;尤其是对windows系统&#xff0c;友好的不得了。以前还只能是正版的专业版才能用&#xff0c;现在已经没有限制了&#xff0c;虽然加了收费&#xff0c;个人用免费就够了。redis 新版也不支持windows系统…

[css] CSS3新增伪类有哪些并简要描述

[css] CSS3新增伪类有哪些并简要描述 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

模拟微信自动化发送(微信公众号文章自动点击)

大家好&#xff0c;我是烤鸭&#xff1a; 分享个微信自动化发送的新方式&#xff0c;仅技术分享。 本来是公众号文章抓取相关的&#xff0c;审核一直不过&#xff0c;将就看吧。 需要的工具 Java&#xff08;jdk1.8&#xff09; Fiddler Python&#xff08;3.8&#xff09;…

Entity FrameWork 操作使用详情

Entity FrameWork 是以ADO.net为基础发展的ORM解决方案。 一、安装Entity FrameWork框架 二、添加ADO.Net实体数据模型 三、EF插入数据 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace EFDem…

[css] CSS选择器有哪些?哪些属性可以继承?

[css] CSS选择器有哪些&#xff1f;哪些属性可以继承&#xff1f; 选择器通配符idclass标签后代选择器子选择器兄弟选择器属性选择器伪类选择器伪元素选择器可以继承的属性font-sizefont-weightfont-stylefont-familycolor个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前…

《redis 设计与实现》读书笔记

大家好&#xff0c;我是烤鸭&#xff1a; 《redis 设计与实现》&#xff0c;读书笔记。 第一部分 数据结构与对象 第2章 简单动态字符串 Redis 使用SDS 作为字符串表示。 O(1) 复杂度获取字符串长度。 杜绝缓冲区溢出。 减少修改字符串长度时所需的内存重分配次数。 …

网络通信中TCP出现的黏包以及解决方法 socket 模拟黏包

粘包问题概述 1.1 描述背景 采用TCP协议进行网络数据传送的软件设计中&#xff0c;普遍存在粘包问题。这主要是由于现代操作系统的网络传输机制所产生的。我们知道&#xff0c;网络通信采用的套接字(socket)技术&#xff0c;其实现实际是由系统内核提供一片连续缓存(流缓冲)来…

[css] 在页面上隐藏元素的方法有哪些?

[css] 在页面上隐藏元素的方法有哪些&#xff1f; position配合z-index; 或者 left/top/bottom/right &#xff1a; -100%&#xff1b;margin-left: -100%;width: 0; height: 0; overflow: hidden;这个算吗opacity: 0;display:none;transform: scale(0)/translateX(-100%)/tran…

[css] CSS3有哪些新增的特性?

[css] CSS3有哪些新增的特性&#xff1f; 边框圆角border-radius盒子阴影box-shadow文字阴影text-shadow2d、3d变换transformrotate()scale()skew()translate()过度动画transition自定义动画animation(只记得这些了)个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知…

windows docker redis 集群部署

大家好&#xff0c;我是烤鸭&#xff1a; 上次分享了windows docker redis&#xff0c;这么快就不够用了&#xff0c;单机的不行&#xff0c;整个集群的&#xff0c;看了网上的教程都好麻烦&#xff0c;简单点。 单机的&#xff1a;https://blog.csdn.net/Angry_Mills/article…

[css] 圣杯布局和双飞翼布局的理解和区别,并用代码实现

[css] 圣杯布局和双飞翼布局的理解和区别&#xff0c;并用代码实现 一&#xff1a; section{height: 100%; overflow: hidden;clear:both; } .left{ height: 100%;float:left;width:30%;background: #f00; } .right{ height: 100%;float:right;width:30%; background: #0f0; }…

某音数据分析

大家好&#xff0c;我是烤鸭&#xff1a; 某音竟然有pc版了&#xff0c;不过搜索的数据有限&#xff0c;会限制条数&#xff0c;亲测只能搜索400条数据&#xff0c;简单分析下过程。 工具使用 java chromedriver fiddler java selenium 自动化网页&#xff0c;需要登录&a…

Codeforces Round #530 Div. 1 自闭记

A&#xff1a;显然应该让未确定的大小尽量大。不知道写了啥就wa了一发。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #…

自研redis sdk支持自动dns切换(附源码)

大家好&#xff0c;我是烤鸭&#xff1a; 标题起的有点大了&#xff0c;说是自研&#xff0c;其实就是个封装&#xff0c;不过倒是解决了dns切换的问题&#xff08;虽然不太优雅&#xff09;。 背景 之前做活动的时候&#xff0c;用域名链接的redis&#xff0c;当时做了主备集…