html--css排版--float(浮动排版):块级元素(占据父容器的一整行)在一行中显示、文字围绕图片进行摆放、父元素高度塌陷的问题( 浮动元素的清除 属性 clear<伪元素、标签的使用>)1

本文主要是介绍html--css排版--float(浮动排版):块级元素(占据父容器的一整行)在一行中显示、文字围绕图片进行摆放、父元素高度塌陷的问题( 浮动元素的清除 属性 clear<伪元素、标签的使用>)1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CSS提供的四种排版模型:标准流排版、浮动排版、定位排版、flex排版

一个页面中:默认的排版方式就是普通文档流的方式进行排版(页面的内容按照标签的顺序 从上到下 从左到右排列)

 

浮动排版:通过修改元素的默认派饭方式达到排版效果

float属性--在前面的表格使用下划线使用过

属性值
none默认值,元素不浮动,按照标准流排列元素
left元素浮动在父元素的左侧
right元素浮动在父元素的右侧
inherit继承父元素的float属性

 特点:

浮动可以让块级元素(占据父容器的一整行)在一行中显示

这是在普通文档流的形式下:块状元素默认占据一整行 

 

 float: left

使得每个小盒子可以在同一行显示

 特点:

浮动的元素可以脱离文档流--及文字围绕图片进行摆放

 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>浮动排版</title><style type="text/css">/*类选择器*/.wrapper{width: 300px;}/*后代选择器*/.wrapper img{float: left;}</style></head>
<body><div class="wrapper"><img src="https://image.gushimi.org/file/0e190026d4d90159db75a743569d7016.jpg" alt="李清照"><p>1084年3月13日-约1155年),号易安居士,汉族,齐州济南人。宋代女词人,婉约词派代表,有千古第一才女之称。李清照出生于书香门第,早期生活优裕,其父李格非藏书甚富,她小时候就在良好的家庭环境中打下文学基础。出嫁后与...</p></div>
</body>
</html>

 margin: 0 auto/*浏览器实现居中*/
       

 margin: 10px;/*文字围绕图片摆放之间不要太紧密 流出10像素的具体*/

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>浮动排版</title><style type="text/css">/*类选择器*/.wrapper{width: 350px;margin: 0 auto/*浏览器实现居中*/}/*后代选择器*/.wrapper img{float: right;/*文字围绕图片摆放*/margin: 10px;/*文字围绕图片摆放之间不要太紧密 流出10像素的具体*/}</style></head>
<body><div class="wrapper"><img src="https://image.gushimi.org/file/0e190026d4d90159db75a743569d7016.jpg" alt="李清照"><p>1084年3月13日-约1155年),号易安居士,汉族,齐州济南人。宋代女词人,婉约词派代表,有千古第一才女之称。李清照出生于书香门第,早期生活优裕,其父李格非藏书甚富,她小时候就在良好的家庭环境中打下文学基础。出嫁后与...</p></div>
</body>
</html>

 

 特点:

父元素高度塌陷的问题

 

 高度塌陷问题的发生

 浮动元素的清除 属性 clear

属性值
left不允许左侧出现浮动元素
right不允许右侧出现浮动元素
both不允许左右两侧出现浮动元素
none默认值,允许左、右侧出现浮动元素
inherit继承父级clear属性的值
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>浮动排版</title><style type="text/css">/*类选择器*/.outer{width: 500px;border: 1px  #000 solid;/*方便观察 边框线打开*/}.box{width:100px;height: 50px;border: 1px #03CBDC solid;/*方便观察 边框线打开*/float:left;}.clear{clear:both;/*div4不允许左右两侧出现浮动元素 所以独占了一整行父盒子的大小由div4决定 */}</style></head>
<body><div class="outer"><div class="box">div1</div><div class="box">div2</div><div class="box">div3</div><div class="clear">div4</div></div>
</body>
</html>

 使用单独的标签做清除浮动的操作----实际上这个标签没有实际的语义

所以由此可以想到伪元素

使用伪元素解决 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>浮动排版</title><style type="text/css">/*类选择器*/.outer{width: 500px;border: 1px  #000 solid;/*方便观察 边框线打开*/}.box{width:100px;height: 50px;border: 1px #03CBDC solid;/*方便观察 边框线打开*/float:left;}.clear{clear:both;/*div4不允许左右两侧出现浮动元素 所以独占了一整行父盒子的大小由div4决定 */}/*在选择器选中元素之后添加样式 或者内容*/.outer:after{clear:both;content:"div4";display:block;}</style></head>
<body><div class="outer"><div class="box">div1</div><div class="box">div2</div><div class="box">div3</div></div>
</body>
</html>

 

 

这篇关于html--css排版--float(浮动排版):块级元素(占据父容器的一整行)在一行中显示、文字围绕图片进行摆放、父元素高度塌陷的问题( 浮动元素的清除 属性 clear<伪元素、标签的使用>)1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/569120

相关文章

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

Spring核心思想之浅谈IoC容器与依赖倒置(DI)

《Spring核心思想之浅谈IoC容器与依赖倒置(DI)》文章介绍了Spring的IoC和DI机制,以及MyBatis的动态代理,通过注解和反射,Spring能够自动管理对象的创建和依赖注入,而MyB... 目录一、控制反转 IoC二、依赖倒置 DI1. 详细概念2. Spring 中 DI 的实现原理三、

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

使用Python将长图片分割为若干张小图片

《使用Python将长图片分割为若干张小图片》这篇文章主要为大家详细介绍了如何使用Python将长图片分割为若干张小图片,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果1. Python需求

vue解决子组件样式覆盖问题scoped deep

《vue解决子组件样式覆盖问题scopeddeep》文章主要介绍了在Vue项目中处理全局样式和局部样式的方法,包括使用scoped属性和深度选择器(/deep/)来覆盖子组件的样式,作者建议所有组件... 目录前言scoped分析deep分析使用总结所有组件必须加scoped父组件覆盖子组件使用deep前言

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

使用Vue.js报错:ReferenceError: “Vue is not defined“ 的原因与解决方案

《使用Vue.js报错:ReferenceError:“Vueisnotdefined“的原因与解决方案》在前端开发中,ReferenceError:Vueisnotdefined是一个常见... 目录一、错误描述二、错误成因分析三、解决方案1. 检查 vue.js 的引入方式2. 验证 npm 安装3.