当前位置: 首页 > 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、…...

python中使用selenium执行组合快捷键ctrl+v不生效问题

在执行ctrlv进行粘贴时&#xff0c;绑定一个页面上的元素对象&#xff08;无论元素对象是否是引用过期或者是粘贴的目标文本区&#xff0c;但前提需要粘贴的目标文本区获取焦点&#xff09;执行ctrlv后可以生效。执行粘贴组合快捷键&#xff08;ctrlv&#xff09;的示例代码 se…...

数据结构 C/C++(实验五:图)

&#xff08;大家好&#xff0c;今天分享的是数据结构的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 提要&#xff1a;实验题目 一、实验目的 二、实验内容及要求 三、源程序及注释 实验1代码 &#xff08;折半查…...

非零掩码矩阵邻接矩阵

文章目录 1. 举例&#xff1a;2. python 代码3. 邻接矩阵 1. 举例&#xff1a; 在深度学习过程中&#xff0c;我们经常会用到掩码矩阵&#xff0c;比如我们有一个矩阵A表示如下,希望得到矩阵B&#xff0c;在矩阵A的非零位置表示为1&#xff0c;零位置表示为0&#xff0c; A …...

Docker安装

目录 1. 联网安装 Docker 2. 离线安装 Docker 3. 安装 Docker Compose 4. 卸载 Docker 和 Docker Compose 1. 联网安装 Docker 在 CentOS 上通过 yum 安装 Docker&#xff1a; # 安装 Docker yum -y install docker # 启动 Docker systemctl start docker # 查看 D…...

嵌入式驱动开发详解21(网络驱动开发)

文章目录 前言以太网框架ENET 接口简介MAC接口MII \ RMII 接口MDIO 接口RJ45 接口 PHY芯片以太网驱动驱动挂载wifi模块挂载后续 前言 linux驱动主要是字符设备驱动、块设备驱动还有网络设备驱动、字符设备驱动在本专栏前面已经详细将解了&#xff0c;网络设备驱动本文会做简要…...

2024年12月25日Github流行趋势

项目名称&#xff1a;system-design-primer 项目维护者&#xff1a;donnemartin, cclauss, satob, fluency03, linhe0x0项目介绍&#xff1a;学习如何设计大规模系统。为系统设计面试做准备。包括 Anki 卡片。项目star数&#xff1a;282,387项目fork数&#xff1a;47,226 项目…...

6、mysql的MHA故障切换

MHA的含义 MHA&#xff1a;master high availability&#xff0c;建立在主从复制基础上的故障切换的软件系统。 主从复制的单点问题&#xff1a; 当主从复制当中&#xff0c;主服务器发生故障&#xff0c;会自动切换到一台从服务器&#xff0c;然后把从服务器升格成主&…...

#error: WinSock.h has already been included解决方案

原因&#xff1a; 在工程中使用了 Boot 库之后&#xff0c;使用了socket、tcp 相关的头文件&#xff0c;在其他地方还是包括了头文件<windows.h>&#xff0c;该头文件内包含了<winsock.h>。导致遇到报错问题&#xff1a;WinSock.h has already been included 解决…...

npm淘宝镜像

通过命令行配置npm的淘宝镜像源和官方镜像源&#xff0c;以及如何安装和使用cnpm来解决安装包卡顿或无法安装的问题。通过设置registry和disturl&#xff0c;配合清理缓存&#xff0c;可以优化npm的下载速度。 1、​官方默认镜像 npm config set registry https://registry.n…...

光谱相机的工作原理

光谱相机的工作原理主要基于不同物质对不同波长光的吸收、反射和透射特性存在差异&#xff0c;以下是其具体工作过程&#xff1a; 一、光的收集 目标物体在光源照射下&#xff0c;其表面会对光产生吸收、反射和透射等相互作用。光谱相机的光学系统&#xff08;如透镜、反射镜…...

安全筑堤,效率破浪 | 统一运维管理平台下的免密登录应用解析

在信息技术迅猛发展的今天&#xff0c;企业运维管理领域正面临着前所未有的复杂挑战。统一运维管理平台作为集中管理和监控IT基础设施的核心工具&#xff0c;其安全性和效率至关重要。免密登录作为一种新兴的身份验证技术&#xff0c;正逐渐成为提升运维管理效率和安全性的重要…...

外包干了27天,技术退步明显。。。。。

时光荏苒&#xff0c;转眼我已是一个拥有近四年功能测试经验的大专生。20年&#xff0c;我满怀激情地通过校招进入湖南某知名软件公司&#xff0c;期待在这里开启我的职业生涯。然而&#xff0c;长时间的舒适环境让我渐渐失去了前进的动力&#xff0c;技术停滞不前&#xff0c;…...

leetcode 面试经典 150 题:合并两个有序数组

链接合并两个有序数组题序号88题型数组解题方法1. 双指针法 &#xff1b;2. 合并排序法难度简单熟练度✅✅✅✅✅ 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。 请你 合并 …...

波动理论、传输线和S参数网络

波动理论、传输线和S参数网络 传输线 求解传输线方程 对于传输线模型&#xff0c;我们通常用 R L G C RLGC RLGC 来表示&#xff1a; 其中 R R R 可以表示导体损耗&#xff0c;由于电子流经非理想导体而产生的能量损耗。 G G G 表示介质损耗&#xff0c;由于非理想电介质…...

YOLO11改进-注意力-引入自调制特征聚合模块SMFA

本篇文章将介绍一个新的改进机制——SMFA&#xff08;自调制特征聚合模块&#xff09;&#xff0c;并阐述如何将其应用于YOLOv11中&#xff0c;显著提升模型性能。随着深度学习在计算机视觉中的不断进展&#xff0c;目标检测任务也在快速发展。YOLO系列模型&#xff08;You Onl…...

uniapp登录

第一步整登录 先整个appid APPID和APPSecret https://developers.weixin.qq.com/community/develop/article/doc/000ca4601b8f70e379febac985b413 一个账号只能整一个小程序 正确流程 调用uni.login https://juejin.cn/post/7126553599445827621 https://www.jb51.net/a…...

mysql,数据库主从同步搭建

1.mysql主从同步1.主从同步原理(1)复现binlog日志中的sql语句(2)主服务器启动binlog日志(3)从服务器启动binlog日志,io线程,sql线程2.主从同步结构一主一从一主多从级联复制互为主从(keepalived高可用)3.mysql复制模式异步复制:主服务器处理完sql直接返回给客户端结果半同步复制…...

云途领航:现代应用架构助力企业转型新篇

在数字化转型的浪潮中&#xff0c;现代应用架构为企业带来了灵活性、效率和创新能力。各类服务模型相继出现&#xff0c;为企业提供了强有力的支持&#xff0c;助力其顺利转型。随着技术的快速发展&#xff0c;企业面临的挑战和机遇也在不断演变&#xff0c;这促使它们必须重新…...

redis——岁月云实战

单线程序&#xff0c;基于IO多路复用&#xff0c;基于内存和c语言编写&#xff0c;性能高。redis官方命令 1 数据结构 1.1 key的层级 redis的key可以通过冒号&#xff08;:&#xff09;来划分层级&#xff0c;如下图mms:company:order&#xff0c;但系统中可以看到有不少没有…...

Flink调优----资源配置调优与状态及Checkpoint调优

目录 第 1 章 资源配置调优 1.1 内存设置 1.1.1 TaskManager 内存模型 1、内存模型详解 2、案例分析 1.1.2 生产资源配置示例 1.2 合理利用 cpu 资源 1.2.1 使用 DefaultResourceCalculator 策略 1.2.2 使用 DominantResourceCalculator 策略 1.2.3 使用 DominantRes…...

Java web的发展历史

目录 前言&#xff1a; 一.Model I和Model II 1.Model I开发模式 ​编辑 2.Model II开发模式 二. MVC模式 前言&#xff1a; 该篇文章主要介绍了Java web的发展历史&#xff0c;以及MVC相关内容 一.Model I和Model II 1.Model I开发模式 Model1的开发模式是&#xff…...

面向微服务的Spring Cloud Gateway的集成解决方案:用户登录认证与访问控制

&#x1f3af;导读&#xff1a;本文档详细描述了一个基于Spring Cloud Gateway的微服务网关及Admin服务的实现。网关通过定义路由规则&#xff0c;利用负载均衡将请求转发至不同的后端服务&#xff0c;并集成了Token验证过滤器以确保API的安全访问&#xff0c;同时支持白名单路…...

MongoDB 更新文档

关于MongoDB更新文档的操作&#xff0c;可以通过多种方法实现。以下是一些常用的方法&#xff1a; updateOne() 方法&#xff1a;用于更新匹配过滤器的单个文档。其语法为 db.collection.updateOne(filter, update, options)。其中&#xff0c;filter 用于查找文档的查询条件&a…...

静态路由与动态路由

静态路由和动态路由是网络中两种不同的路由配置方式&#xff0c;它们在网络中的运作方式、配置方法以及适用场景等方面存在显著差异。以下是对两者的详细比较&#xff1a; 一、定义与配置方式 静态路由 定义&#xff1a;静态路由是由网络管理员手动配置的固定路径&#xff0c;…...

leetcode hot二叉树的层序遍历

102. 二叉树的层序遍历 已解答 中等 相关标签 相关企业 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09; # Definition for a binary tree node. # class TreeNode(object): # …...

Windows下ESP32-IDF开发环境搭建

Windows下ESP32-IDF开发环境搭建 文章目录 Windows下ESP32-IDF开发环境搭建一、软件安装二、搭建IDF开发环境2.1 安装VS Code插件&#xff1a;2.2 配置ESP-IDF插件&#xff1a;2.3 下载例程源码&#xff1a; 三、编译和烧录代码四、Windows下使用命令行编译和烧录程序4.1 配置环…...

基于高云GW5AT-15 FPGA的SLVS-EC桥MIPI设计方案分享

作者&#xff1a;Hello,Panda 一、设计需求 设计一个4Lanes SLVS-EC桥接到2组4lanes MIPI DPHY接口的电路模块&#xff1a; &#xff08;1&#xff09;CMOS芯片&#xff1a;IMX537-AAMJ-C&#xff0c;输出4lanes SLVS-EC 4.752Gbps Lane速率&#xff1b; &#xff08;2&…...

【day18】多线程高级应用

day17回顾 在深入探讨模块18之前&#xff0c;让我们回顾一下【day17】中的关键内容&#xff1a; 创建多线程&#xff1a; 继承Thread类&#xff1a; 定义一个类&#xff0c;继承Thread。重写run方法&#xff0c;设置线程任务。创建自定义线程对象。调用start方法&#xff0c;开…...

Python接口自动化测试的实现

1)环境准备&#xff1a; 接口测试的方式有很多&#xff0c;比如可以用工具(jmeter,postman)之类&#xff0c;也可以自己写代码进行接口测试&#xff0c;工具的使用相对来说都比较简单&#xff0c;重点是要搞清楚项目接口的协议是什么&#xff0c;然后有针对性的进行选择&#x…...

nvidia docker, nvidia docker2, nvidia container toolkits区别

背景 在docker容器中用GPU时&#xff0c;查阅了网上许多教程&#xff0c;教程之间概念模糊不清&#xff0c;相互矛盾&#xff0c;过时的教程和新的教程混杂在一起。主要原因是Nvidia为docker容器的支持发生了好几代变更&#xff0c;api发生了不少变化。下面来总结一下各代支持…...

字节跳动Java开发面试题及参考答案(综合篇)

HTTP 与 HTTPS 的区别? HTTP(超文本传输协议)和 HTTPS(超文本传输安全协议)主要有以下区别。 从安全性角度看,HTTP 是明文传输协议,数据在网络中传输时是以原始文本的形式发送的。这就好比在信件传递过程中没有进行密封,任何中间节点(如路由器、代理服务器等)都可以查…...

搭建Elastic search群集

一、实验环境 二、实验步骤 Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎Elasticsearch目录文件&#xff1a; /etc/elasticsearch/elasticsearch.yml#配置文件 /etc/elasticsearch/jvm.options#java虚拟机 /etc/init.d/elasticsearch#服务启动脚本 /e…...

深入解析 Spring WebFlux:原理与应用

优质博文&#xff1a;IT-BLOG-CN WebFlux 是 Spring Framework 5 引入的一种响应式编程框架&#xff0c;和Spring MVC同级&#xff0c;旨在处理高并发和低延迟的非阻塞应用。这是一个支持反应式编程模型的新Web框架体系。 顺便一提&#xff0c;Spring Cloud Gateway在实现上是…...

Docker 部署 SpringBoot VUE项目

是一套基于若依的wms仓库管理系统 一、后端部署 后端地址&#xff1a;https://gitee.com/zccbbg/wms-ruoyi/tree/v1/ 1、用IDEA拉代码&#xff0c;并修改API统一后缀 2、复制一个配置文件 application-dev.yaml&#xff0c;并修改里面的mysql与redis配置 3、将打包的jar上传…...

【Java基础面试题031】Java运行时异常和编译时异常之间的区别是什么?

回答重点 主要有三大区别&#xff0c;分别是发生时机、捕获和处理方式和设计意图 1&#xff09;发生时机&#xff1a; 编译时异常&#xff08;Checked Exception&#xff09;&#xff1a;发生在编译阶段&#xff0c;编译器会检查此类异常&#xff0c;程序必须堆这些异常进行…...

常见网络功能概述-主要拆解功能

大家觉得有意义和参考价值记得关注和点赞&#xff01;&#xff01;&#xff01; 一、防火墙介绍 防火墙&#xff08;Firewall&#xff09;是一种网络安全系统&#xff0c;用于监控、过滤和控制进出网络的数据流量。它是一种屏障&#xff0c;通过策略规则来允许、限制或拒绝数…...

Chapter 3-1. Detecting Congestion in Fibre Channel Fabrics

Chapter 3. Detecting Congestion in Fibre Channel Fabrics This chapter covers the following topics: 本章包括以下主题: Congestion detection workflow. Congestion detection metrics. Congestion detection metrics and commands on Cisco MDS switches. Automatic A…...

Day13 用Excel表体验梯度下降法

Day13 用Excel表体验梯度下降法 用所学公式创建Excel表 用Excel表体验梯度下降法 详见本Day文章顶部附带资源里的Excel表《梯度下降法》&#xff0c;可以对照表里的单元格公式进行理解&#xff0c;还可以多尝试几次不同的学习率 η \eta η来感受&#xff0c;只需要更改学习率…...

重温设计模式--5、职责链模式

文章目录 职责链模式的详细介绍C 代码示例C示例代码2 职责链模式的详细介绍 定义与概念 职责链模式&#xff08;Chain of Responsibility Pattern&#xff09;是一种行为型设计模式&#xff0c;它旨在将请求的发送者和多个接收者解耦&#xff0c;让多个对象都有机会处理请求&am…...

C语言-08复合类型-结构体

一、结构体 1.结构体struct struct关键字&#xff0c;允许自定义复合数据类型&#xff0c;将不同类型的值组合在一起&#xff0c;这种类型称为结构体类型。 2.使用步骤 第一步&#xff1a;创建或声明结构体 第二步&#xff1a;定义结构体变量 第三步&#xff1a;调用并操作结…...

vue 基础学习

一、ref 和reactive 区别 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><div id"app"><h1>{{Web.title}}</h1><h1&…...

Elasticsearch检索方案之一:使用from+size实现分页

前面两篇文章介绍了elasticsearch以及Kibana的安装&#xff0c;检索引擎以及可视化工具都已经安装完成&#xff0c;接下来介绍下如何使用golang的sdk实现简单的分页查询。 1、下载Elastic官方golang sdk 在讲解elasticsearch检索之前&#xff0c;需要先把golang的环境安装好&…...

Highcharts 饼图:数据可视化利器

Highcharts 饼图&#xff1a;数据可视化利器 引言 在数据可视化的领域中&#xff0c;饼图作为一种经典且直观的图表类型&#xff0c;被广泛应用于各种行业和场景中。Highcharts&#xff0c;作为一个功能强大且易于使用的JavaScript图表库&#xff0c;为我们提供了创建交互式和…...

Docker部署Sentinel

一、简介 是什么&#xff1a;面向分布式、多语言异构化服务架构的流量治理组件 能干嘛&#xff1a;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开发者保障微服务的稳定性 官网地址&#xff1a;https://sentinelguard.io/zh-c…...

后端接口设计

一、基本规范 1.URL设计 应遵循RESTful风格&#xff0c;使用动词名词的方式描述接口的功能。应简洁明了&#xff0c;易于理解和记忆。 2.请求协议及方法 使用HTTPS协议进行数据传输&#xff0c;保证数据在传输过程中的安全性。如无特殊情况&#xff0c;统一使用post方法。 …...

GitLab部署到阿里云服务器上

GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能&#xff0c;能够浏览源代码&#xff0c;管理缺陷和注释。 一、安装 1.创建一…...

GitLab的卸载与重装

目录 一、GitLab的卸载 二、 GitLab的安装与配置 1. 创建安装目录 2. 安装 3. 使用 3.1 初始化 3.2 创建空白项目 ​编辑 3.3 配置SSH 3.3.1 配置公钥 ​编辑 3.3.2 配置私钥 3.4 配置本地git库 一、GitLab的卸载 1. 停止gitlab sudo gitlab-ctl stop 2. 卸载…...

动态住宅IP适合哪些数据采集项目?

在数据采集的广阔天地中&#xff0c;动态住宅IP代理能够灵活地变换身份&#xff0c;帮助我们在网络世界中自由地穿梭。这种代理IP因其住宅性质和动态变化的特点&#xff0c;成为了许多数据采集项目的理想选择。今天&#xff0c;我们就来聊聊动态住宅IP代理适合哪些数据采集项目…...

Git_撤销本地commit_查找仓库中大文件

Gitee普通账号的仓库总空间限制为5G&#xff1b; 右上角头像&#xff0c;下拉—》设置/账号设置—》数据管理下的仓库空间信息即可查看空间限额和各仓库空间大小&#xff1b;Gitee普通账号每次推送大小不能超过100MB&#xff0c;否则会推送失败&#xff1b;当提交大小超过100MB…...