【网页前端】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. 布局总结

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

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

竖向排列使用:标准流

横向排列使用:浮动

叠加排列使用:定位

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


相关文章
|
2月前
|
前端开发 JavaScript API
(前端3D模型开发)网页三维CAD中加载和保存STEP模型
本文介绍了如何使用`mxcad3d`库在网页上实现STEP格式三维模型的导入与导出。首先,通过官方教程搭建基本项目环境,了解核心对象如MxCAD3DObject、Mx3dDbDocument等的使用方法。接着,编写了加载和保存STEP模型的具体代码,包括HTML界面设计和TypeScript逻辑实现。最后,通过运行项目验证功能,展示了从模型加载到保存的全过程。此外,`mxcad3d`还支持多种其他格式的三维模型文件操作。
|
1月前
|
前端开发 JavaScript 开发者
前端 CSS 优化:提升页面美学与性能
前端CSS优化旨在提升页面美学与性能。通过简化选择器(如避免复杂后代选择器、减少通用选择器使用)、合并样式表、合理组织媒体查询,可减少浏览器计算成本和HTTP请求。利用硬件加速和优化动画帧率,确保动画流畅。定期清理冗余代码并使用缩写属性,进一步精简代码。这些策略不仅加快页面加载和渲染速度,还提升了视觉效果,为用户带来更优质的浏览体验。
|
8天前
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
26 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
1月前
|
前端开发 开发者 UED
《前端技术基础》第02章 CSS基础【合集】
层叠样式表(Cascading Style Sheets,简称CSS)是一种用于描述网页视觉表现的语言。该语言与HTML协同工作,其中HTML负责构建网页的结构,而CSS则负责定义网页的外观和格式。CSS通过一系列规则来实现样式的应用,这些规则由选择器(Selectors)和声明块(Declaration Blocks)构成。选择器的作用是明确指出哪些HTML元素将受到特定样式规则的影响,而声明块则包含了具体的样式声明,这些声明定义了元素的视觉属性和相应的值。
53 1
|
3月前
|
XML 前端开发 JavaScript
前端大神揭秘:如何让你的网页秒变炫酷,让用户欲罢不能的5大绝招!
前端开发不仅是技术活,更是艺术创作。本文揭秘五大前端开发技巧,包括合理运用CSS动画、SVG图形、现代JavaScript框架、优化网页性能及注重细节设计,助你打造炫酷网页,提升用户体验。
111 30
|
3月前
|
前端开发 UED 开发者
CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度
本文探讨了CSS Sprites和图标字体在网页图标加载优化中的应用。CSS Sprites通过合并多图标减少HTTP请求,提升加载速度;图标字体则以字体形式呈现图标,便于调整样式。文章分析了两者的优缺点及应用场景,并提供了应用技巧和注意事项,旨在帮助开发者提升页面性能,改善用户体验。
48 5
|
3月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
88 5
|
3月前
|
前端开发 JavaScript 开发者
掌握 CSS 弹性布局(Flexbox):构建复杂页面布局的高效秘籍与实战案例
CSS弹性布局(Flexbox)是现代网页设计中构建复杂页面布局的高效工具。本文将深入浅出地介绍Flexbox的核心概念、使用技巧及实际应用案例,帮助读者快速掌握这一强大布局方法。
|
3月前
|
存储 编解码 前端开发
惊!前端新手也能秒懂的高级技巧,轻松提升网页颜值与性能!
本文针对前端新手,介绍了三个简单易学的高级技巧,帮助提升网页的颜值和性能。包括使用CSS框架快速美化网页、优化图片资源加快加载速度,以及利用ARIA属性和媒体查询提高网页的可访问性和响应性。示例代码清晰,适合初学者上手实践。
60 3

热门文章

最新文章

  • 1
    css3 svg制作404页面动画效果HTML源码
  • 2
    【02】v1.0.1更新增加倒计时完成后的放烟花页面-优化播放器-优化结构目录-蛇年新年快乐倒计时领取礼物放烟花html代码优雅草科技央千澈写采用html5+div+CSS+JavaScript-优雅草卓伊凡-做一条关于新年的代码分享给你们-为了C站的分拼一下子
  • 3
    CSS 过渡和动画
  • 4
    Css实现文本超出长度隐藏并用三个点结尾
  • 5
    如何使用CSS过渡实现页面元素的淡入淡出效果?
  • 6
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 7
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 8
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 9
    详解智能编码在前端研发的创新应用
  • 10
    巧用通义灵码,提升前端研发效率
  • 1
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    29
  • 2
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    51
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 4
    巧用通义灵码,提升前端研发效率
    93
  • 5
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    141
  • 6
    详解智能编码在前端研发的创新应用
    96
  • 7
    智能编码在前端研发的创新应用
    83
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    37
  • 9
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    121
  • 10
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    75