CSS学习记录11
CSS布局 - display属性
display属性是用于控制布局的最终要的CSS属性。display 属性规定是否/如何显示元素。每个HTML元素都有一个默认的display值,具体取决于它的元素类型。大多数元素的默认display值为block 或 inline。
块级元素(block element)
块级元素总是从新行开始,并占据可用的全部宽度(尽可能向左和向右伸展)。
块级元素举例:
<div>、<h1> - <h6>、<p> 、<form> 、<header>、<footer>、<section>等
行内元素(inline element)
内联元素不从新行开始,仅占用所需的宽度。
行内元素举例:
<span>、<a>、<img>等
Display:none;
display:none; 通常与JavaScript一起使用,以隐藏和显示元素,而无需删除和重新创建它们。
覆盖默认的Display值
每个元素都有一个默认display值。但是,您可以覆盖它。将行内元素更改为块级元素,反之亦然,对于使页面以特定方式显示同时仍遵循Web标准很有用。
一个常见例子是为实现水平菜单而生成的行内<li>元素:
li {display: inline;
}
注意:设置元素的display属性会更改元素的显示方式,而不会更改元素的种类。因此,带有dispaly:block;的行内元素不允许在其包含其他块元素。
举例:将<span>元素显示为块元素:
span {display: block;
}
隐藏元素- display:none 还是 visibility:hidden?
通过将display属性设置为none可以隐藏元素。该元素将被隐藏,并且页面将显示为好像该元素不在其中:
visibility:hidden;也可以隐藏元素。
但是,该元素仍将占用之前相同的空间。元素将被隐藏,但仍会影响布局。
h1.hidden {visibility: hidden;
}
CSS布局 - 溢出
CSS overflow 属性控制对太大而区域无法容纳的内容的处理方式。overflow属性指定在元素的内容太大而无法放入指定区域时是剪裁内容还是添加滚动条。
overflow 属性可设置以下值:
- visible - 默认。溢出没有被剪裁。内容在元素框外渲染。
- hidden - 溢出被剪裁,其余内容将不可见。
- scroll - 溢出被剪裁,同时添加滚动条以查看其余内容
- auto - 与 scroll 类似,但仅在必要时添加滚动条
注意:overflow属性仅适用于具有指定高度的块元素。
overflow:visible
默认情况下,溢出是可见的(visible),这意味着它不会被裁剪,而是在元素框外渲染:
div {width: 200px;height: 50px;background-color: #eee;overflow: visible;
}

overflow:hidden
如果使用hidden值,溢出会被裁剪,其余内容被隐藏:
div {overflow: hidden;
}

overflow:scroll
如果将值设置为scroll,溢出将被裁剪,并添加滚动条以便在框内滚动。请注意,这将在水平和垂直方向上添加一个滚动条(即使您不需要它):
div {overflow: scroll;
}

overflow: auto
auto值类似于scroll,但是它仅在必要时添加滚动条:
div {overflow: auto;
}

overflow-x 和 overflow-y
overflow-x 和 overflow-y 属性规定是仅水平还是垂直地(或同时)更改内容地溢出:
- overflow-x指定如何处理内容地左/右边缘。
- overflow-y指定如何处理内容地上/下边缘。
div {overflow-x: hidden; /* 隐藏水平滚动栏 */overflow-y: scroll; /* 添加垂直滚动栏 */
}

所有CSS overflow属性
| 属性 | 描述 |
|---|---|
| overflow | 规定如果内容溢出元素框会发生什么情况。 |
| overflow-x | 规定在元素的内容区域溢出时如何处理内容的左/右边缘。 |
| overflow-y | 指定在元素的内容区域溢出时如何处理内容的上/下边缘。 |
CSS布局 - position属性
position 属性规定应用于元素的定位方法的类型(static、relative、fixed、absolute 或 sticky)。
有五个不同的位置值
- static
- relative
- fixed
- absolute
- sticky
元素其实是使用top、bottom、left 和 right 属性定位的。但是,除非首先设置了position属性,否则这些属性将不起作用。根据不同的position值,它们的工作方式也不同。
position:static;
HTML元素默认情况下的定位方式为static(静态)。
静态定位的元素不受top、bottom、left 和 right 属性的影响。
position:static;的元素不会以任何特殊方式定位;它始终根据页面的正常流进行定位。
div.static {position: static;border: 3px solid #73AD21;
}
![]()
position:relative;
position: relative;的元素相对于其正常位置进行定位。
设置相对定位元素的top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。不会对其余内容进行调整来适应元素留下的任何空间。
div.relative {position: relative;left: 30px;border: 3px solid #73AD21;
}

position:fixed;的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。top、right、bottom 和 left 属性用于定位此元素。
固定定位的元素不会在页面中通常应放置的位置上留出空隙。
div.fixed {position: fixed;bottom: 0;right: 0;width: 300px;border: 3px solid #73AD21;
}
position:absolute;的元素相对于最近的定位祖先元素进行定位(而不是相对于视口定位,如fixed)。然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面一起滚动。
注意:”被定位的“元素是其位置除了static以外的任何元素。
div.relative {position: relative;width: 400px;height: 200px;border: 3px solid #73AD21;
} div.absolute {position: absolute;top: 80px;right: 0;width: 200px;height: 100px;border: 3px solid #73AD21;
}

position:sticky; 的元素根据用户的滚动位置进行定位。
粘性元素根据滚动位置在相对(relative)和固定(fixed)之间切换。起先它会被相对定位,直到在视口中遇到给定的偏移位置为止- 然后将其”粘贴“在适当的位置。
div.sticky {position: -webkit-sticky; /* Safari */position: sticky;top: 0;background-color: green;border: 2px solid #4CAF50;
}
注意:Internet Explorer、Edge 15 以及更早的版本不支持粘性定位。 Safari 需要 -webkit- 前缀(请参见下面的实例)。您还必须至少指定 top、right】bottom 或 left 之一,以便粘性定位起作用。

重叠元素
在对元素进行定位时,它们可以与其他元素重叠。
z-index 属性指定元素的堆栈顺序(哪个元素应放置在其他元素的前面或后面)。元素可以设置正或负的堆叠顺序:
img {position: absolute;left: 0px;top: 0px;z-index: -1;
}
具有较高堆叠顺序的元素始终位于具有较低堆叠顺序的元素之前。
注意:如果两个定位的元素重叠而未指定z-index,则位于HTML代码中最后的元素将显示在顶部。

所有CSS定位属性
| 属性 | 描述 |
|---|---|
| clip-path | 剪裁绝对定位的元素。 |
| left | 设置定位框的左侧外边距边缘。 |
| position | 规定元素的定位类型。 |
| right | 设置定位框的右侧外边距边缘。 |
| top | 设置定位框的顶部外边距边缘。 |
| z-index | 设置元素的堆叠顺序。 |
补充知识:
clip-pathCSS属性使用裁剪方式创建元素的可显示区域。区域内的部分显示,区域外的隐藏。
clip-path属性指定为下面列出的值的一个或多个值的组合。
<clip-source>
用<url>引用SVG的<clipPath>元素
<baisc-shape>,其大小和位置由<geometry-box>的值定义。如果没有指定<geometry-box>,则将使用border-box作为参考框。取值可以为以下值的任意一个:
inset():定义一个inset矩形。
circle():定义一个圆形(使用一个半径和一个圆心位置)。
ellipse():定义一个椭圆(使用两个半径和一个圆心位置)。
polygon():定义一个多边形(使用一个SVG填充规则和一组顶点)。
示例:
/*当提供四个参数时,它们分别代表从参考框的上侧、右侧、下侧和左侧向内的偏移量,
这些参数遵循边距简写的语法,它允许您定义具有一个两个或四个值的inset。可选的<border-radius> 参数使用边框半径简写语法为内嵌矩形定义圆角*/
clip-path:inset(20% 30% round 20px);

/*<shape-radius> 这可以是一个长度值,或者是一个百分比值,
或者是closest-side和farthest-side关键字值,<position>移动圆的中心,可以是一个长度值,或者是一个百分比值,或者是类似left的值。
如果省略了<position>值,则默认为中心。*/
clip-path: circle(30%);
clip-path: circle(6rem at right center);

/*100px 140px 分别代表x轴和y轴椭圆的长度,50% 和 0% 分别代表在原图50%宽处和0%高处*/
clip-path: ellipse(100px 140px at 50% 0%);

/*这里用逗号分隔点,一共由四个点,第一个点位于原图50%宽,0%高处,
第二个点位于100%宽,50%高处,
第三个点位于50%宽,100%高处,
第四个点位于0%宽,50%高处*/
clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);

相关文章:
CSS学习记录11
CSS布局 - display属性 display属性是用于控制布局的最终要的CSS属性。display 属性规定是否/如何显示元素。每个HTML元素都有一个默认的display值,具体取决于它的元素类型。大多数元素的默认display值为block 或 inline。 块级元素(block element&…...
D95【python 接口自动化学习】- pytest进阶之fixture用法
day95 pytest的fixture详解(二) 学习日期:20241210 学习目标:pytest基础用法 -- pytest的fixture详解(二) 学习笔记: fixture(autouseTrue) func的autouse是TRUE时,所有函数方法…...
Abaqus断层扫描三维重建插件CT2Model 3D V1.1版本更新
更新说明 Abaqus AbyssFish CT2Model3D V1.1版本更新新增对TIF、TIFF图像文件格式的支持。本插件用户可免费获取升级服务。 插件介绍 插件说明: Abaqus基于CT断层扫描的三维重建插件CT2Model 3D 应用案例: ABAQUS基于CT断层扫描的细观混凝土三维重建…...
隐式对象和泛型
implicit object 作用: case class DatabaseConfig(driver:String,url:String)//作为函数的隐士参数的默认值implicit object MySqlDefault extends DatabaseConfig("mysql","localhost:443")def getConn(implicit config: DatabaseConfig):Uni…...
CSS的颜色表示方式
以下介绍几种常见的CSS颜色表示方式: 颜色名称 html和css规范中定义了147种可用的颜色名用的相对较少 16进制表示 css三原色:红、绿、蓝16进制的颜色值: #rrggbb16进制整数规定颜色成分,所有的值均介于 00 - ff 之间ÿ…...
单链表常见面试题 —— LeetCode
一.删除链表中与val相等的所有节点 1.题目描述 ----- 203. 移除链表元素 - 力扣(LeetCode) 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 列表中的节点数目在范…...
Pydantic中的discriminator:优雅地处理联合类型详解
Pydantic中的discriminator:优雅地处理联合类型详解 引言1. 什么是discriminator?2. 基本使用示例3. discriminator的工作原理4. 更复杂的实际应用场景5. 使用建议6. 潜在陷阱和注意事项结论最佳实践 引言 在Python的类型系统中,有时我们需要…...
pgloader SQLSERVER -> PostgreSQL 配置文件样例
pgloader 是什么?安装和基本用户法可以去其他同道的blog上去看,这里不占用网络空间了。刚开始用官方的文档读起还是很费劲的,所以把常用的配置例子放在这里。 官方文档:https://pgloader.readthedocs.io/en/latest/index.html 迁…...
APP、小程序对接聚合广告平台,有哪些广告变现策略?
开发者对接聚合广告平台,可以让自身流量价值最大化,获得更多的广告曝光机会,对接单一的广告联盟容易造成广告填充不足,收益不稳定的问题。#APP广告变现# APP开发者根据应用的生命周期、用户特征和产品定位,选择最适合…...
HarmonyOs DevEco Studio小技巧39-模拟器的使用
使用环境 模拟器在本地计算机上创建和运行,在运行和调试应用/元服务时可以保持良好的流畅性和稳定性,但是需要耗费一定的计算机资源,具体的运行环境要求为: 系统类型 运行环境要求 Windows(X86) Windows 10 企业版、专业版或教…...
【C语言】浮点数的原理、整型如何转换成浮点数
众所周知C语言中浮点数占四个字节,无论在32位或者64位机器上。不免会发出疑问四个字节是怎么计算出小数的呢?其实物理存放还是按照整型存放的。 IEEE 754 单精度浮点数格式 浮点数在计算机中是使用 IEEE 754 标准进行表示的。在 IEEE 754 标准中&#…...
TesseractOCR-GUI:基于WPF/C#构建TesseractOCR简单易用的用户界面
前言 前篇文章使用Tesseract进行图片文字识别介绍了如何安装TesseractOCR与TesseractOCR的命令行使用。但在日常使用过程中,命令行使用还是不太方便的,因此今天介绍一下如何使用WPF/C#构建TesseractOCR简单易用的用户界面。 普通用户使用 参照上一篇教…...
Elasticsearch高性能实践
前言 本方案主要从运维层面分析es是实际生产使用过程中的参数优化,深入理解es各个名词及含义,深入分析es的使用过程中应注意的点,详细解释参数设置的原因以及目的,主要包括系统层面,参数层面。除此之外,优…...
软件测试--录制与回放脚本
准备工作 安装phpstudy 配置两个内容 放demo44文件夹 在浏览器输入http://localhost/demo44/index.html,出现如图所示的网站 输入用户名和密码 步骤一:打开Virtual User Generator,点击新建,点击new 步骤二:点击如下…...
nodejs 06.npm的使用以及package.json详解
一.npm(npm | Home)的介绍 npm(Node Package Manager)是一个node.js的包管理工具,允许用户下载安装更新分享node.js包 二.npm相关命令以及作用 1.npm init -y 这条命令主要是当项目中没有package.json这个文件的时候生成package.json这个文件 2.npm i / npm install (包名) 这条…...
如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档
本文介绍使用 WinCC DataMonitor 的 "Excel Workbooks" 功能,通过 Excel 表格显示 WinCC 项目的过程值、归档变量值和报警归档消息。并可以通过 Web 发布浏览访问数据 1.WinCC DataMonitor是什么 ? DataMonitor 是 SIMATIC WinCC 工厂智能中…...
颜色的基本处理
数码相机能够获取彩色图像,但相机的色彩处理是一个非常复杂的过程,是非常重要的。 此过程生产制造商在细节方面都是不公布的,但是基本的概念是相同的。当相机捕捉一个真实场景时,是怎么还原成人眼所看到的图像呢? 1.R…...
跟李笑来学美式俚语(Most Common American Idioms): Part 66
Most Common American Idioms: Part 66 前言 本文是学习李笑来的Most Common American Idioms这本书的学习笔记,自用。 Github仓库链接:https://github.com/xiaolai/most-common-american-idioms 使用方法: 直接下载下来(或者clone到本地…...
爬虫技术简介
1、爬虫简介 爬虫(Web crawler)是一种用于自动获取网页内容的程序。它可以通过模拟浏览器访问网页,并从中提取所需的信息,如文本、图片、链接等。爬虫在互联网上进行广泛应用,用于搜索引擎的网页抓取、数据挖掘、信息收集、内容监测等领域。 2、爬虫分类 爬虫的分类有以…...
如何打开Windows10的设备管理器
如何打开Windows10的设备管理器? 01 02...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
C#学习第29天:表达式树(Expression Trees)
目录 什么是表达式树? 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持: 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...
jmeter聚合报告中参数详解
sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample(样本数) 表示测试中发送的请求数量,即测试执行了多少次请求。 单位,以个或者次数表示。 示例:…...
FFmpeg avformat_open_input函数分析
函数内部的总体流程如下: avformat_open_input 精简后的代码如下: int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...
