深入解析CSS—基础

news2024/9/23 16:10:15

 层叠、相对单位及盒模型是CSS最基本的部分。

1 基础

1.1 层叠、优先级和继承

层叠是指多个css样式在对同一个元素配置同一属性时,依据权重来处理冲突。

权重判断:

  1. 样式表来源:浏览器默认样式及开发时定义的样式。
  2. 选择器优先级。
  3. 源码顺序。

图 层叠的优先顺序

!import: 标记重要的声明。优先级最高。

元素状态的优先级:link < visited < hover < active (记忆口诀 LoVe/HAte)

开发过程中尽量不要使用id选择器及!import。

1.1.1 继承

如果一个元素的某个属性没有层叠值,则可能会继承某个祖先元素的值。并不是所有属性都能被继承。

inherited

继承祖先的层叠值。这个关键字可以继承默认不被继承的属性。

.con {

  height: inherited;

}

initial

将属性的值重置为默认值。(每个CSS属性都有初值值)

.con {

  height: initial;

}

表 inherit 与 initial关键字

1.1.2 简写属性

简写属性是用于同时给多个属性赋值的属性,比如background。

  1. 简写属性会默默覆盖其他样式。尽管可以省略一些值,但这些省略的值会被隐式地设置为初始值。
  2. 简写值的顺序。如果值的类型不同,则属性的顺序可以随意。例如,border: 1px solid black; 等价于 border:black 1px solid; 否则需要遵循约定的顺序,有以下两种:
  1. 上右下左。(可以缩写,只有三个值时,左边和右边会使用第2个值;只有两个值时,上下使用第1个值,左右第2个值, 只有一个值,上下左右共用这个值)
  2. 水平、垂直(这两个值代表了笛卡尔网络)。

1.2 相对单位

em

1em 等于当前的字号。适合基于特定字号进行排版。

使用em定义字号时,例如 font-size: 1.2em; 表示字号大小为继承的字号 * 1.2。

rem

参照根元素的字号。

vh

1vh = 视口高度的 1/100。

vw

1vw = 视口宽度的1/100。

vmin

视口宽、高中较小的一方的1/100。

vmax

视口宽、高中较大的一方的1/100。

图 相对单位

1.2.1 无单位的数值和行高

有些属性允许无单位的值。例如 line-height(也可以有单位)、z-index、font-weight等。

使用无单位的数值时,继承的是声明值,即每个继承子元素上会重新算它的计算值。

图 无单位的数值和行高

1.2.2 css变量

定义一个变量,只需像其他CSS属性那样声明,但变量名前面必须有两个连字符: “--”。变量必须在一个声明块内声明(即选择器,它会决定变量的作用范围。)。调用变量时需要使用var函数。

    :root {
        --custom-color: red;
    }
    .block1 {
        color: var(--custom-color);
        --custon-font-size: 20px;
        font-size: var(--custon-font-size);
    }
    .block2 {
        font-size: var(--custon-font-size); // 不生效
    }

1.3 盒模型

盒模型是指将HTML元素看作一个盒子,它包括边距、边框和内容。

图 盒模型

content-box

指定的宽或高只会设置盒子内容的大小。

border-box

指定的宽或高是内容+内边距+边框的总和。

表 盒模型的行为

box-sizing: border-box; (设置盒模型的行为,默认为content-box)

1.3.1 等高列

可以使用display:table; 或display: flex; 实现等高列。

表 display: table与display:flex 实现等高列

vertical-align: middle; 垂直居中只会影响行内元素或table-cell元素。

1.3.2 负外边距

图 负外边距

外边距可以设置为负值:

  1. 如果设置left或top的负外边距,元素会相应向左或向上移动。
  2. 如果设置right或bottom的负外边距,元素并不会移动,而是会将它后面的元素拉过来。
  3. 块级元素如果不指定宽度,则它会填充容器的宽度。如果设置左右负外边距,则它都会扩展到容器外。

1.3.3 外边距折叠

当顶部和底部的外边距相邻时,外边距会折叠,取这两者最大值作为两者相距距离。即使这两个元素不是相邻的兄弟节点。

图 外边距折叠

图 外边距折叠失效的情况

  1. 对容器使用overflow:auto(或其他非visible值)。
  2. 两个外边距之间加上边框或内边距。
  3. 容器为浮动元素、内联块、绝对定位或固定定位。
  4. 弹性和网格布局内的元素之间。
  5. table-cell 元素(其不具备外边距属性)。

注意:1、2、4情况中,子元素的下外边距与容器的下外边距仍会发生折叠。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2068031.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于AT32F421的开源电调项目测试

基于AT32F421的开源电调项目测试 &#x1f4cd;开源固件地址&#xff1a;https://github.com/lax-fly/lax-esc&#x1f9e8;开源硬件地址&#xff1a;https://oshwhub.com/lax-fly/lax-esc-dev&#x1f4fa;演示视频&#xff1a;https://www.bilibili.com/video/BV1di421d7yH/?…

CTEA论文翻译

CTEA论文翻译 Embedding-Based Entity Alignment of Cross-Lingual Temporal Knowledge Graphs 基于嵌入的跨语言时序知识图谱实体对齐 ABSTRACT 实体对齐旨在通过匹配多源知识图谱中的相同实体来构建完整的知识图谱(KG)。现有的实体对齐研究主要集中在知识边缘图中的静态多…

【案例57】记一次类加载导致系统卡死

问题现象 顾问反馈系统卡顿&#xff0c;系统无法使用。所有节点打开都在转圈。 问题分析 排查了nmc&#xff0c;发现在master上有很多堵塞线程&#xff0c;都在做锁相关线程。 查看相关的线程信息发现是在做类加载。Master撑不住&#xff0c;需要把锁独立出来。 线程信息-1 …

EmguCV学习笔记 VB.Net 6.1 边缘检测

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

Docker中镜像文件的打包传输、容器导出镜像及虚拟机端口映射的实现

内网私有仓库 1、Docker 私有仓库 是集中存放镜像的地⽅&#xff0c;⽽注册服务器 &#xff08;Registry&#xff09;是存放仓库的具体服务器。仓库可以被认为是⼀个具体 的项⽬或⽬录。 Docker 公共仓库&#xff1a;https://hub.docker.com 2、Docker 私有仓库的作⽤&#…

2、spring生态圈

咱们打开spring.io网站 可以看到spring的功能是很强大的&#xff0c;再看看它的生态圈

即用型封闭容器市场规模:未来几年年复合增长率CAGR为8.3%

一、市场趋势演变 即用型封闭容器行业近年来呈现出快速增长的趋势&#xff0c;这主要得益于其在制药、生物科技、食品加工等多个领域的广泛应用。随着全球对产品质量和安全性的要求不断提高&#xff0c;即用型封闭容器因其便捷性、高效性和可靠性而备受青睐。预计未来几年&…

PMBOK® 第六版 控制范围

目录 读后感—PMBOK第六版 目录 结果固然重要&#xff0c;过程同样不可或缺。过程不仅是通往预期成果的途径&#xff0c;也是个人和团队能力提升与经验积累的关键阶段。过程中的每一步都是学习和成长的机会&#xff0c;每一次尝试都能激发创新&#xff0c;而公正透明的流程更增…

《黑神话:悟空》的开发语言与开发团队揭秘

在国产游戏领域&#xff0c;《黑神话&#xff1a;悟空》无疑是一颗璀璨的新星&#xff0c;它以独特的视角重新诠释了中国古典名著《西游记》中的孙悟空形象&#xff0c;并以其惊人的视觉效果、深邃的游戏剧情以及精湛的技术实现&#xff0c;赢得了国内外玩家的广泛关注与期待。…

粘包现象 | wireshark抓包的使用

在TCP协议的通信过程中&#xff0c;由于其面向流的特性&#xff0c;数据在传输过程中可能会发生粘包现象&#xff0c;即多个发送的数据包被接收方一次性接收&#xff0c;导致应用层无法正确解析数据。 1.粘包现象概述 TCP协议为了保证传输效率&#xff0c;可能会将多次send调…

java 实体常用校验注解方法

1、常用注解&#xff1a; 注解说明Null只能为nullNotNull(message “id不能为空”)必须不为null&#xff0c;可以为空字符串Min(value)必须为一个不小于指定值的数字Max(value)必须为一个不大于指定值的数字NotBlank(message “姓名不能为空”)验证注解的元素值不为空&#…

vscode中Vue别名路径提示的实现

配置文件中配置别名&#xff1a; 在对应的jsconfig 或者 tsconfig文件中 配置&#xff1a; 文件中使用时候就会出现相应提示&#xff1a;

计算机毕业设计选题推荐-高校学术交流平台-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

从HTTP到HTTPS:SSL加密如何重塑互联网安全格局

从HTTP到HTTPS&#xff1a;SSL加密如何重塑互联网安全格局 随着互联网技术的飞速发展&#xff0c;网络安全问题日益凸显&#xff0c;保护用户数据的安全性和隐私性成为了不可忽视的重要议题。从HTTP&#xff08;超文本传输协议&#xff09;到HTTPS&#xff08;超文本传输安全协…

webrtc ns 降噪之粉红噪声参数推导

webrtc中降噪中&#xff0c;前50帧需要进行简单噪声估计&#xff0c;使用白噪声和粉红噪声模型估算。 首先我们 复习 有色噪声&#xff08;包含白噪声&#xff09;的一般模型&#xff1a; S(f) 是频率 f 处的功率谱密度。f是频率。α 是一个频谱指数&#xff0c;通常在1左右。…

如何使用ssm实现海鲜自助餐厅系统+vue

TOC ssm068海鲜自助餐厅系统vue 绪论 1.1 选题背景 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。计算机软件可以针对不同行业的营业特点以及管理需…

【C++ Primer Plus习题】3.3

问题: 解答: #include <iostream> using namespace std;const int DE_TO_MI 60; const int MI_TO_SE 60;int main() {int degree 0, minute 0, second 0;float degrees 0;cout << "请输入度:";cin >> degree;cout << "请输入分…

Selenium + Python 自动化测试23(综合实战)

我们的目标是:按照这一套资料学习下来,大家可以独立完成自动化测试的任务。 上一篇我们讨论了PO模式和unittest框架、数据驱动结合起来使用。 本篇文章我们综合一下之前学习的内容,试着编写实际项目易用的测试用例脚本。 今天应该是此项目最后一次分享,大家快看,有完整的…

IntelliJ IDEA的maven配置

前言 在 IntelliJ IDEA 中&#xff0c;Maven 的默认配置文件是 settings.xml&#xff0c;它通常位于以下路径&#xff1a; 配置文件位置 全局配置文件&#xff1a; Windows: %USER_HOME%\.m2\settings.xmlmacOS/Linux: ~/.m2/settings.xml 这个文件是 Maven 的全局配置文件。…

闲鱼IP属地地址:去外地会自动变化吗?解析实时更新机制

在数字化时代&#xff0c;网络交易平台如闲鱼已成为我们日常生活中不可或缺的一部分。在进行二手交易时&#xff0c;了解对方的地理位置信息成为许多买家和卖家的关切点。那么&#xff0c;去外地闲鱼IP会变吗&#xff1f;闲鱼IP属地地址是实时更新吗&#xff1f;本文将深入探讨…