当前位置: 首页 > news >正文

CSS(四)display和float

display

display 属性用于控制元素的显示类型,用的 display 值包括:

  • block:块级元素
    • 使元素成为块级元素,占据一整行,前后有换行
    • 宽度默认为父容器的 100%,可以设置宽高,支持 marginpaddingborder 等属性
    • 常见的块级元素<div>, <h1> - <h6>, <p>, <form>, <section>, <article>
  • inline:行内元素

    • 行内元素不会占据一整行,它只会占据内容所需的空间,元素之间没有换行。
    • 行内元素的特点是:不支持设置宽度和高度,不能使用 margin-topmargin-bottom
    • 常见的行内元素<span>, <a>, <strong>, <em>
  • inline-block:行内块级元素

     
    • blockinline 的结合体,它不换行,但可以设置宽度和高度,支持 marginpadding 等。
    • 常见用法:常用来让导航条的列表项水平排列,或者需要在一行中放置多个块元素

例如:

ul {list-style: none;margin: 0;padding: 0;
}li {display: inline-block;margin-right: 10px;
}

以上代码会让导航栏中的 li 元素排成一行

Float

浮动是将元素从正常的文档流中脱离出来,其他元素(比如文本)将围绕其周围排布,通常用于实现网页的布局效果

float 的属性包括

  • left:元素浮动到容器的左侧,其他元素会围绕在其右侧
  • right:元素浮动到容器的右侧,其他元素会围绕在其左侧
  • none:默认值,元素不会浮动,保持在正常文档流中

例如:

img {float: left; /* 将图片浮动到左侧 */margin-right: 10px; /* 给图片右侧添加间距 */
}

这段代码让图片浮动到左侧,文字将会围绕着图片排布

父级边框塌陷问题

当使用 float 来布局元素时,浮动的元素脱离了正常的文档流,其他元素会忽略浮动元素的存在,直接排布在它们的旁边

假设有一个浮动的div元素:

<div class="container"><div class="float-item">浮动元素</div><div class="normal-item">普通元素</div>
</div>

其对应的css为: 

.container {border: 1px solid #000;
}.float-item {float: left;width: 50%;background-color: #f0f0f0;
}.normal-item {background-color: #ccc;
}

在这个例子中,float-item 会浮动到容器的左边,而 normal-item 会在其旁边显示。但是,.container 元素不会自动扩展以包含 .float-item,因为 .float-item 脱离了正常的文档流。结果,.container 元素的高度可能为 0,导致外观上看不到边框,这就是父级边框塌陷问题

增加父级元素高度(不建议)

为了解决父级边框塌陷问题,我们可以选择直接为父级元素设置足够的高度,使浮动的子元素能够包含在内。例如直接将父容器设置为height:300px; 但是,这种方法无法动态适应子元素的高度,如果浮动的子元素内容发生变化,则需要手动调整父元素的高度。

使用空div标签

在父容器的最后插入一个空的清除浮动元素 div,并通过 CSS 设置其 clear: both; 来清除浮动。这样可以确保父容器的高度扩展到浮动元素的高度。

clear:清除浮动,可以让块既有浮动的效果,也排成标准文档流的样式

  • right:右侧不允许有浮动
  • left:左侧不允许有浮动
  • both:两侧都不允许有浮动

例如:

<div id="father"><div class="child">浮动元素1</div><div class="child">浮动元素2</div><div class="clear"></div> <!-- 清除浮动 -->
</div>
.clear {clear: both;margin: 0;padding: 0;
}

这种方法通过插入一个额外的空 div 来清除浮动。缺点是每次都需要手动插入比较麻烦。

使用 overflow 属性

通过在父容器上使用 overflow 属性,可以解决父容器塌陷的问题。设置 overflow 的值为 hiddenauto 会迫使父容器扩展到包含所有浮动子元素的大小,从而避免塌陷。

#father {overflow: hidden;
}

overflow 的值:

  • hidden:溢出的部分会被隐藏。如果容器内的浮动元素超出容器范围,这些部分会被裁剪掉,不显示。
  • scroll:如果容器内的内容超出容器范围,会出现滚动条,用户可以通过滚动查看超出的内容。
  • auto:如果内容超出容器的范围,则会自动显示滚动条。

overflow: hidden; 虽然能够解决父容器塌陷问题,但它会裁剪掉溢出部分的内容。因此,这种方法适用于容器内内容不会超出父容器的场景

使用 ::after 伪类

通过为父容器添加 ::after 伪元素,相当于在父类后面添加了一个宽、高都为0的小块,该小块不允许周围有浮动,逻辑和添加div标签差不多

清除的方法:

.container::after {content: "";display: block;clear: both;
}

  • content: "":创建一个空的伪元素
  • display: block:确保伪元素是块级元素,能够触发清除浮动的效果。
  • clear: both:清除左右浮动,使得父容器能够包裹所有浮动元素

相关文章:

CSS(四)display和float

display display 属性用于控制元素的显示类型&#xff0c;用的 display 值包括&#xff1a; block&#xff1a;块级元素 使元素成为块级元素&#xff0c;占据一整行&#xff0c;前后有换行宽度默认为父容器的 100%&#xff0c;可以设置宽高&#xff0c;支持 margin、padding、…...

MMaudio AI:如何通过 AI 实现精准的视频到音频合成

1. 引言&#xff1a;视频音效制作的新纪元 无论是短视频创作者还是电影后期制作团队&#xff0c;音效始终是提升作品质量的关键。然而&#xff0c;手动调整音效不仅耗时&#xff0c;还容易出错。试想&#xff0c;如果一项 AI 技术能够根据视频内容自动生成与画面完美同步的音效…...

SQL进阶技巧:如何分析双重职务问题?

目录 0 背景描述 1 数据准备 2 问题分析 方法2:利用substr函数,充分利用数据特点【优秀解法】 3 小结...

OpenCV相机标定与3D重建(37)计算两幅图像之间单应性矩阵(Homography Matrix)的函数findHomography()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 找到两个平面之间的透视变换。 cv::findHomography 是 OpenCV 库中用于计算两幅图像之间单应性矩阵&#xff08;Homography Matrix&#xff09;的…...

Nacos配置管理+共享配置、配置热更新

1. 什么是配置管理? Nacos 配置管理是一个集中管理配置的工具。 它把微服务的配置集中存放&#xff0c;方便管理。可以动态更新配置&#xff0c;配置变了&#xff0c;微服务能马上知道并更新&#xff0c;不用重启。还能进行版本控制&#xff0c;记录配置的历史版本方便回滚。…...

asp.net core系统记录当前在线人数

实时记录当前在线人数&#xff0c;登录后保持120秒在线状态&#xff0c;在线状态保存在缓存中&#xff0c;采用滑动过期&#xff0c;在120秒内请求了系统&#xff0c;自动续活120秒&#xff1b;超过时间则移除用户在线状态&#xff1b; 需要在登录过滤器标记用户在线状态需要排…...

秒杀场景的设计思考

秒杀场景的设计思考 在学习Redis的之后&#xff0c;一个绕不开的话题就是秒杀系统的设计。本文将从下面&#x1f447;&#x1f3fb;几个方面展开一下个人简单的理解&#xff1a; 秒杀场景的介绍设计的核心思路怎么限流、削峰、异步planB总结 ‍ 秒杀场景的介绍 秒杀场景是…...

快速掌握Haproxy原理架构

文章目录 一、原理架构二、无负载均衡三、四层负载均衡的工作流程四、七层负载均衡工作流程五、基础属性mode 属性retries 属性maxconn 属性clitimeout 属性servtimeout 属性states uri 属性 一、原理架构 四层tcp代理&#xff1a;Haproxy仅在客户端和服务器之间双向转发流量&…...

基于Centos7.X系统端口占用处理

1、查看当前端口占用情况 使用 netstat 查看系统中占用的端口和相关的进程。 netstat -tuln 或者 ss -tnl 选项解释&#xff1a; -t 显示 TCP 连接-u 显示 UDP 连接-l 显示监听的端口-n 以数字形式显示端口号和 IP 2、具体进程的pid netstat -anp | grep <port_numb…...

MySQL的索引失效的原因有那些

1. 数据类型不匹配 详细说明&#xff1a;MySQL在比较不同数据类型的值时&#xff0c;可能会尝试进行隐式转换。如果这种转换导致了复杂度增加或无法直接利用索引&#xff0c;则会导致索引失效。 实例与解决方案&#xff1a; -- 错误示例&#xff1a;数据类型不匹配 select *…...

Java重要面试名词整理(十):Kafka

文章目录 Kafka简介相关概念Kraft集群 Kafka收发消息梳理客户端工作机制消费者分组消费机制生产者拦截器机制消息序列化机制消息分区路由机制生产者消息缓存机制发送应答机制生产者消息幂等性生产者消息事务 Kafka集群架构设计-Kafka的Zookeeper元数据梳理Leader Partition选举…...

内置ALC的前置放大器D2538A/D3308

一、概述 D2538A/D3308是芯谷科技推出的带有ALC&#xff08;自动电平控制&#xff09;的前置音频放大器芯片&#xff0c;最初产品为单声道/立体声收录机及盒式录音机而开发&#xff0c;作为录音/回放的磁头放大器使用&#xff1b;由于产品的高增益、低噪声及ALC外部可调的特性&…...

04-微服务02

我们将黑马商城拆分为5个微服务&#xff1a; 用户服务 商品服务 购物车服务 交易服务 支付服务 由于每个微服务都有不同的地址或端口&#xff0c;相信大家在与前端联调的时候发现了一些问题&#xff1a; 请求不同数据时要访问不同的入口&#xff0c;需要维护多个入口地址…...

Java中的this关键字详解:深入理解与应用

目录 一、this关键字的基本概念 二、this指代当前对象 示例&#xff1a; 三、this区分成员变量与方法参数 示例&#xff1a; 四、使用this()调用构造方法 示例&#xff1a; 五、使用this传递当前对象 示例&#xff1a; 六、this的其他注意事项输出结果&#xff1a; …...

2、C#基于.net framework的应用开发实战编程 - 设计(二、四) - 编程手把手系列文章...

二、设计&#xff1b; 二&#xff0e;四、制定设计规范&#xff1b; 编码规范在软件编程里起到了非常重要的作用&#xff0c;主要是让代码更加的规范化&#xff0c;更加的简洁&#xff0c;更加的漂亮&#xff0c;更加的能够面向对象显示。 以前那个系列就有发布C#的编码规范的文…...

设置首选网络类型以及调用Android框架层的隐藏API

在Android SDK中提供的framework.jar是阉割版本的&#xff0c;比如有些类标记为hide&#xff0c;这些类不会被打包到这个jar中&#xff0c;而有些只是类中的某个方法或或属性被标记为hide&#xff0c;则这些类或属性会被打包到framework.jar&#xff0c;但是我们无法调用&#…...

“Gold-YOLO:基于聚合与分发机制的高效目标检测新范式”

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;编程探索专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年12月26日8点00分 神秘男子影, 秘而不宣藏。 泣意深不见, 男子自持重, 子夜独自沉。 论文源地址&#xff08;有视频&#xf…...

神经网络-AlexNet

AlexNet是在2012年的ImageNet竞赛后&#xff0c;整理发表的文章&#xff0c;也是对CNN网络的衍生。 网络结构 AlexNet网络结构如下图所示&#xff0c;网络分为了上下两部分&#xff0c;对应两个不同的GPU训练&#xff0c;可以更好的利用GPU算力。只有在特殊的网络层后&#x…...

Hutool 发送 HTTP 请求的几种常见写法

最简单的 GET 请求&#xff1a; String result HttpUtil.get("https://www.baidu.com");带参数的 GET 请求&#xff1a; // 方法1: 直接拼接URL参数 String result HttpUtil.get("https://www.baidu.com?name张三&age18");// 方法2: 使用 HashMap…...

【Linux】进度条

本文中&#xff0c;我们来写一个进度条。 本文大纲&#xff1a; 写一个命令行版的进度条。 1.回车换行 2.缓冲区问题&#xff08;本文不深究&#xff09; ​ 2.1测试代码 3.写一个什么样的进度条&#xff1f; ​ version1 ​ version2 回车换行 这俩不是一个概念&…...

【zookeeper核心源码解析】第四课:客户端与服务端读写的io核心流程

系列文章目录 【zookeeper核心源码解析】第一课&#xff1a;zk启动类核心流程序列图 【zookeeper核心源码解析】第二课&#xff1a;俯瞰QuorumPeer启动核心流程&#xff0c;实现选举关键流程 【zookeeper核心源码解析】第三课&#xff1a;leader与follower何时开始同步&#…...

强化学习蘑菇书笔记

绪论 强化学习就是一个智能体在一个不确定的环境中最大化它的奖励。智能体在一个环境中获取某个状态后&#xff0c;做一个动作&#xff0c;也称为决策&#xff0c;在环境中执行这个决策以后&#xff0c;会有一个奖励。尽可能多地获得更多的奖励。 强化学习概述 强化学习与监…...

《机器学习》——线性回归模型

文章目录 线性回归模型简介一元线性回归模型多元线性回归模型误差项分析一元线性模型实例完整代码 多元线性模型实例完整代码 线性回归模型简介 线性回归是利用数理统计中回归分析&#xff0c;来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。 相关关系&…...

Linux(Centos 7.6)网卡信息没有了问题处理

1.问题现象 虚拟机打开后&#xff0c;使用ifconfig查看IP信息&#xff0c;虚拟机默认的网卡名称是ens33&#xff0c;ifconfig没有看到相关问题&#xff0c;远程连接工具Xshell也不能正常访问该虚拟机。 [rootnode1 ~]# ifconfig lo: flags73<UP,LOOPBACK,RUNNING> mtu…...

WEB攻防-通用漏洞-文件上传-js验证-MIME验证-user.ini-语言特征

目录 定义 1.前端验证 2.MIME验证 3.htaccess文件和.user. ini 4.对内容进行了过滤&#xff0c;做了内容检测 5.[ ]符号过滤 6.内容检测php [] {} ; 7.()也被过滤了 8.反引号也被过滤 9.文件头检测 定义 文件上传漏洞是指攻击者上传了一个可执行文件&#xff08;如木马…...

mybatis-plus代码生成器

<!--mybatis-plus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.2</version></dependency><!--mybatis-plus-generator 生成器--><depende…...

12.24-12.28Mysql锁阅读笔记

1.Mysql的锁有哪些种类 全局锁&#xff0c; 通过flush tables with read lock 应用场景是全局备份&#xff0c;备份的时候如果有两个表&#xff0c;备份 先备份了用户表&#xff0c;然后用户了商品&#xff0c;再备份商品表 那么商品表库存减少了&#xff0c;然而用户表的育儿…...

支持最新 mysql9的workbench8.0.39 中文汉化教程来了

之前在 B 站上发布了 mysql8 workbench 汉化教程&#xff0c;一年多来帮助很多初学者解决了不熟悉英文的烦恼。 汉化视频可以访问&#xff1a; 2024最新版mysql8.0.39中文版mysql workbench汉化 中文升级 旧版汉化报错解决_哔哩哔哩_bilibili MySql Workbench汉化_哔哩哔哩_…...

golang连接jenkins构建build

1.安装jenkins依赖 go get github.com/bndr/gojenkins2.代码 import ("context""file/utils/logs""github.com/bndr/gojenkins""github.com/gin-gonic/gin""net/http""time" )// 接收单个静态文件上线参数 type…...

SCAU高程进阶题(自用)

18711 字符串去重 Description 一个完全由小写字母组成的长度为n的字符串&#xff0c;现在要求你去除所有重复的字母&#xff0c;并将剩下的字母按从小到大的次序输出。 如输入baaadccaab&#xff0c;输出abcd。 输入格式 第一行一个整数n&#xff0c;表示字符串长度(0<n&…...