当前位置:网站首页>学编程的第十三天
学编程的第十三天
2022-08-11 03:09:00 【五八同城】
高度塌陷:
父元素的高度一般是被子元素或者叫内容撑开的,若设置子元素浮动,则子元素就会脱离文档流也就撑不开父元素的高度了,从而导致父 元素的高度丢失,页面布局混乱
解决高度塌陷的方案一:
设置父元素的高度
这种方式不推荐使用
页面元素中的隐含属性:Block Formatting Context 即块格式化上下文,简称BFC
当开启元素的BFC以后,元素会变成一个独立的布局区域,不会在布局上影响到外面的元素
BFC 理解为一个封闭的大箱子,箱子内部的元素不会影响到外部。
开启BFC后,元素将会具有如下的特性:
1.父元素的垂直外边距不会和子元素重叠(解决父子外边距重叠的问题)
2.开启BFC的元素不会被浮动元素所覆盖
3.开启BFC的元素可以包含浮动的子元素(可解决高度塌陷)
如何开启元素的BFC
1.设置元素浮动(不推荐)
- 使用这种方式开启,虽然可以撑开父元素,但是会导致父元素的宽度丢失
而且使用这种方式也会导致下边的元素上移,不能解决问题
2.设置元素为inline-block(不推荐) - 可以解决高度丢失的问题,但是会导致宽度丢失,而且会有一个三像素的空白,不推荐使用这种方式
3.将元素的overflow设置为一个非visible的值
副作用比较小,推荐使用
4.设置元素绝对定位(暂时没学习)
元素也会脱离文档流,虽然可以撑开父元素,但是会导致父元素的宽度丢失
而且使用这种方式也会导致下边的元素上移,不能解决问题
推荐方式:将overflow设置为hidden是副作用最小的开启BFC的方式。
我们有时希望清除掉其他元素浮动对当前元素产生的影响,这时可以使用clear来完成功能
clear可以用来清除其他浮动元素对当前元素的影响
可选值:
none,默认值,不清除浮动
left,清除左侧浮动元素对当前元素的影响
right,清除右侧浮动元素对当前元素的影响
both,清除两侧浮动元素对当前元素的影响
清除对他影响最大的那个元素的浮动
解决高度塌陷方案三:
可以直接在高度塌陷的父元素的最后,添加一个空白的块元素,
由于这个块元素并没有浮动,所以他是可以撑开父元素的高度的,
然后在对其进行清除浮动,这样可以通过这个空白的块元素来撑开父元素的高度,
基本没有副作用
使用这种方式虽然可以解决问题,但是会在页面中添加多余的结构。
当元素设置浮动以后,会完全脱离文档流,元素的一些特点也会发生改变
脱离文档流的特点
块元素:
1:块元素不再独占页面的一行
2:块元素的宽高被内容撑开
行内元素:
1:浮动过后的行内元素更像行内块元素,因问一行可以显示多个,并且默认宽度为内容的宽度
总结:当元素设置浮动以后,脱离文档流,就不需要再区分块和行内
边栏推荐
- Typescript study notes | Byte Youth Training Notes
- [Pdf generated automatically bookmarks]
- 代码 Revert 后再次 Merge 会丢失的问题,已解决
- 21 Day Learning Challenge Week 1 Summary
- 入职数字ic设计后的一些工作心得
- OpenCV founder: Open source must not be completely free!
- Talk about the understanding of RPC
- UNI-APP_iphone苹果手机底部安全区域
- MySQL的主从复制+读写分离+分库分表,看这一篇文章就够了
- 字体反扒
猜你喜欢

leetcode: 358. Reorder strings at K distance intervals

Environment configuration of ESP32 (arduino arduino2.0 VScode platform which is easy to use?)

BUU brushing record

正式发布丨VS Code 1.70

alibaba数据同步组件canal的实践整理

入职数字ic设计后的一些工作心得

ES进阶 数组功能语法新特性详解

互换性与测量技术——表面粗糙度选取和标注方法

没想到MySQL还会问这些...

The problem that Merge will be lost again after code Revert has been solved
随机推荐
混币器Tornado遭制裁 对DeFi市场意味着什么?
什么是三方支付?
Ninjutsu_v3_08_2020-安全渗透系统安装
《如何戒掉坏习惯》读书笔记
rac备库双节点查询到的表最后更新时间不一致
Logstash日志数据写入异常排查问题总结
互换性测量与技术——偏差与公差的计算,公差图的绘制,配合与公差等级的选择方法
轮转数组问题:如何实现数组“整体逆序,内部有序”?“三步转换法”妙转数组
求和、计数的窗口函数应用
没想到MySQL还会问这些...
JS-DOM元素对象
ES进阶 数组功能语法新特性详解
正式发布丨VS Code 1.70
The problem that Merge will be lost again after code Revert has been solved
Idea (优选)cherry-pick操作
电商项目——商城限时秒杀功能系统
Official release丨VS Code 1.70
Environment configuration of ESP32 (arduino arduino2.0 VScode platform which is easy to use?)
基于FPGA状态机的自动售货机功能实现
一次简单的 JVM 调优,学会拿去写到简历里