【网页前端】CSS的常用布局(上)·二

简介: 【网页前端】CSS的常用布局(上)·二

4. 清除浮动

4.1 准备代码

image.png

4.2 引言

通常情况下,未设置高度的 标准流父元素,在子元素进行浮动时,会导致父元素失去子元素,高度消失。进而影响页面排版。

image.png

该问题的解决方案有多种,常见两种快速解决方案:

1父元素也设置浮动(可能会影响其他垂直排版)

image.png

2、 清除子元素的浮动效果,让浮动状态的子元素影响标准流

注:有同学可能会使用 float:none;或者 删除 float 代码,这确实可以清除浮动效果。除此之外,在开发中,我们还有多种规范化的清除浮动的代码,下面让我们来一起学习。

4.3 概念&格式

清除浮动:清除兄弟元素带来的浮动影响。

格式:clear:属性值;

准备代码:

image.png

image.png

默认效果:

image.png

常见属性值:(为绿色块设置清除浮动)

image.png

image.png

 注意:clear 不会清除元素自身的浮动状态,仅会清除该元素左侧或右侧的浮动效果。

image.png

总结:一般我们使用 clear:both;这样就不用再区分我们是 左浮动还是右浮动,直接清空两端浮动效果。

问题引出:

单一使用 clearboth 虽然能清除元素左右的浮动效果,但是仍然无法解决

image.png

所以下面我们来介绍一些结合了 clear:both 的综合方式来解决以上问题。

4.4 额外标签法 (隔墙法)

额外标签法:通过添加一个 clear 样式的额外标签来清除浮动效果。

一般在父元素末尾添加一个空标签: < div style =" clear : both" ></ div >

注意:一般使用块级元素 div , p 标签也能达到对应效果

示例代码:

image.png

示例效果:

image.png

分析:

image.png

image.png

注意:

浮动元素仍然是浮动状态 ,仅因为额外标签,使得影子在额外标签的父元素中生效。

浮动元素仅有一个“影子”,

“影子”仅被生效一次 。(多次添加额外标签,作用于某个浮动元素,该浮动元素的“影子”也仅生效一次)

总结:额外标签法在开发中会遇到

4.5 单伪元素法

单伪元素法:为标准流的父元素添加伪元素:after,利用:after 模拟生成额外标签,来清除浮动。

(是额外标签法的另一种写法)

语法:

image.png

示例代码:

image.png

image.png

示例效果及分析:

image.png

总结:用法较额外标签法复杂,而且要照顾低版本浏览器。

但因为不会添加额外标签,很多美工人员用伪元素可以应对需求反复的修改,所以会见到其他人的代码中使用

扩展:特殊条件下,当伪元素生成的内容有高度、且内容被显示影响版式时,我们会多加入两个属性:

语法:

image.png

visibility : hidden ; 隐藏元素,但是需要在页面占用位置。

(相当于有一个披了隐身衣的隐身人,占着地方,却看不见他)

一般用不上,因为伪元素 :after 在 content 为空时,默认生成的就是高度为 0 ,看不见的元素。

4.6 双伪元素法

双伪元素法:为标准流的父元素添加伪元素 :before 和 :after ,利用 :before 和 :after 模拟生成额外标签,来清除浮动。

(是额外标签法的另一种写法)

语法:

image.png

示例代码:

image.png

image.png

示例效果及分析:

image.png

总结:用法较额外标签法和单伪元素法更复杂,而且要照顾低版本浏览器。但会见到其他人的代码中使用,但因为不会添加额外标签,很多美工人员用伪元素可以应对需求反复的修改,所以会见到其他人的代码中使用

4.7 overflow:超出隐藏法

overflow: 用于设置溢出元素部分的策略。(兼顾清除浮动的妙用)

格式: overflow : 属性值 ;

属性值列表(后面课程会详细介绍其他属性值)

image.png

总结:清除浮动的代码虽然简洁,但是容易被上方的浮动元素影响,且无法显示出溢出部分,若对

内容不溢出 没有十足把握,不建议用此来清除浮动。

4.8 总结

未设置高度的 标准流父元素,在子元素进行浮动时,会导致父元素失去子元素,高度消失。这时我们可以采取清除浮动来让布局可控。

image.png

5. 布局总结

网页布局中,行内元素 尤其是行内块元素,在布局上,无论垂直还是水平都容易操作。

块元素布局上需要采取对应策略:

竖向排列使用:标准流

横向排列使用:浮动

叠加排列使用:定位

(定位将在后面课程中讲解体现)


相关文章
|
20天前
|
缓存 前端开发 JavaScript
前端开发的必修课:如何让你的网页在弱网环境下依然流畅运行?
【10月更文挑战第30天】随着移动互联网的普及,弱网环境下的网页性能优化变得尤为重要。本文详细介绍了如何通过了解网络状况、优化资源加载、减少HTTP请求、调整弱网参数和代码优化等方法,提升网页在弱网环境下的加载速度和流畅性,从而改善用户体验。
100 4
|
12天前
|
XML 前端开发 JavaScript
前端大神揭秘:如何让你的网页秒变炫酷,让用户欲罢不能的5大绝招!
前端开发不仅是技术活,更是艺术创作。本文揭秘五大前端开发技巧,包括合理运用CSS动画、SVG图形、现代JavaScript框架、优化网页性能及注重细节设计,助你打造炫酷网页,提升用户体验。
58 30
|
13天前
|
存储 编解码 前端开发
惊!前端新手也能秒懂的高级技巧,轻松提升网页颜值与性能!
本文针对前端新手,介绍了三个简单易学的高级技巧,帮助提升网页的颜值和性能。包括使用CSS框架快速美化网页、优化图片资源加快加载速度,以及利用ARIA属性和媒体查询提高网页的可访问性和响应性。示例代码清晰,适合初学者上手实践。
25 3
|
16天前
|
存储 前端开发 搜索推荐
(前端直接编辑CAD)网页CAD二次开发中线型表的使用方法
在DWG数据库中,线型样式存储在线型样式表 `McDbLinetypeTable` 中,每个线型表记录对象 `McDbLinetypeTableRecord` 对应一种线型样式。本文介绍了如何获取、添加、遍历、删除和修改线型样式,并提供了绘制不同线型的示例代码,包括虚线、点划线和带文字的线型。通过在线示例demo,用户可以实践修改CAD图纸中的实体线型及其样式。
|
19天前
|
搜索推荐 前端开发 开发者
前端开发的必修课:如何让你的网页在搜索引擎中脱颖而出?
【10月更文挑战第31天】前端开发不仅是构建网页与用户间桥梁的关键,还需注重搜索引擎优化(SEO)。优化网页结构、合理使用关键词、提升加载速度及整合社交媒体等技巧,能帮助网页在搜索引擎中脱颖而出,吸引更多用户。
29 5
|
19天前
|
机器学习/深度学习 前端开发 JavaScript
前端小白也能学会的高大上技巧:如何让你的网页支持语音控制?
【10月更文挑战第31天】你是否曾梦想过只需动动嘴皮子就能操控网页?现在,这个梦想触手可及。即使你是前端小白,也能轻松学会让网页支持语音控制的高大上技巧。本文将介绍语音控制的基本概念、实现方法和具体示例,带你走进语音控制的奇妙世界。通过Web Speech API,你只需掌握基本的HTML、CSS和JavaScript知识,就能实现语音识别和控制功能。快来尝试吧!
65 4
|
19天前
|
Web App开发 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用CSS3,打造炫酷视觉效果!
【10月更文挑战第31天】前端开发面临复杂布局的挑战,本文介绍了几种提升开发效率和代码质量的工具和技术。基础的HTML和CSS可以应对大部分布局需求,而Firefox开发者工具、VS Code、Vue、React等则能应对更复杂的布局,帮助开发者构建高性能、用户友好的网页应用。
25 4
|
20天前
|
前端开发 JavaScript 搜索推荐
前端小白也能学会的高大上技巧:如何让你的网页支持暗黑模式?
【10月更文挑战第30天】随着现代网页设计的发展,暗黑模式已成为一种流行趋势,提升了用户的阅读体验并增强了网页的适应性。本文介绍了如何通过简单的HTML、CSS和JavaScript实现网页的暗黑模式。首先,定义两种主题的CSS样式;然后,使用JavaScript实现模式切换逻辑,并自动检测系统主题。通过这些步骤,前端小白也能轻松掌握暗黑模式的实现,提升网页的用户体验和个性化水平。
40 4
|
19天前
|
前端开发 JavaScript 数据处理
前端界的宝藏技术:掌握这些,让你的网页秒变交互神器!
【10月更文挑战第31天】前端开发藏有众多宝藏技术,如JavaScript异步编程和Web Components。异步编程通过Promise、async/await实现复杂的网络请求,提高代码可读性;Web Components则允许创建可重用、封装良好的自定义组件,提升代码复用性和独立性。此外,CSS动画、SVG绘图等技术也极大丰富了网页的视觉和交互体验。不断学习和实践,让网页秒变交互神器。
24 2
下一篇
无影云桌面