re:从0开始的CSS学习之路 3. CSS三大特性

0. 写在前面

很多的学习其实并不知道在学什么,学一个新东西学着学着就变成了抄代码,背概念。把看视频学习变成了一个赶进度的任务,到头来只学到了一些皮毛。
在这里插入图片描述

文章目录

  • 0. 写在前面
  • 1. CSS三大特性——层叠性
  • 2. CSS三大特性——优先级
  • 3. CSS三大特性——继承性

1. CSS三大特性——层叠性

层叠性:相同选择器(同等权重)对同一个元素设置样式时
不冲突的样式:样式都生效
冲突的样式:会根据“就近原则”,书写位置接近元素的样式会将位置远的样式覆盖
示例如下:

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Three Characteristics - Stackability</title>
	.div1 {
		color: red;
	}
	
	.div1 {
		font-size: 50px;
		color: yellowgreen;
	}
</head>

<body>
	<div class="div1">我是div1</div>

</body>

</html>

实际上层叠性就是说,最底下的样式会最优先生效,这并不难理解,实际上就和程序的执行顺序一样

2. CSS三大特性——优先级

优先级:(权重)不同选择器选择同一个元素,并且设置相同样式时,CSS会根据优先级选择使用样式。
选择器的权重:

	行内样式								1,0,0,0
	id选择器								0,1,0,0
	类、属性、伪类选择器					0,0,1,0
	标签选择器							0,0,0,1
	通配符、继承							0,0,0,0

注意:

  1. 权重由四位整数组成,权重高优先执行。
  2. 权重从左到右依次比较,如高位相同,则比较下一位
  3. 权重可以叠加,但是不会进位
  4. 选择器分组单独计算

示例如下:

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Three Characteristics - priority</title>
	/* #d1 {
		color: yellowgreen;
	} */
	
	/* 0,0,0,1+0,0,1,0=0,0,1,1 */
	div[class="div1"] {
		color: orange;
	}
	
	/* 0,0,1,0+0,0,1,0=0,0,2,0 */
	.div1.div2 {
		color: red;
	}
</head>

<body>
	<div class="div1" id="d1">我是div</div>
</body>

</html>

可以看到每一位的优先级都是独立计算的,而且不会进位
这里的属性选择器实际上是两部分组成:标签选择器+属性选择器,这也是在2. 选择器超长大合集中提到过的

3. CSS三大特性——继承性

继承性:一个元素的某些样式可以被后代元素继承
优点:合理使用继承性,可以简化代码
注意:

  1. 通常文本、字体相关样式可以继承。但是背景、布局相关的样式不会被继承。
  2. a 链接不能继承文本颜色与下划线
  3. h 标题标签不能继承字体大小

示例如下:

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>three Characteristics - Inheritance</title>
	.father {
		color: red;
		background-color: #c7decc;
	}
	
	body {
		font-size: 20px;
	}
</head>

<body>
	<div class="father">
		我是father
		<div class="son">我是son</div>
		<span>我是孙子span</span>
		<a href="#">超链接</a>
		<h1>我是标题</h1>
	</div>

</body>

</html>

可以看到father里面的标签继承了father的样式,father整个的继承了body的字体大小也就是font-size
也可以看到a不能继承字体的颜色,h不能继承字体的大小

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot框架入门指南

文章目录 SpringBoot的特点Spring&#xff0c;SpringBoot的区别SpringBoot常用注解标签SpringBoot概述SpringBoot简单Demo搭建读取配置文件的内容 SpringBoot自动配置Condition自定义beanSpringBoot常用注解原理EnableAutoConfiguration SpringBoot监听机制SpringBoot启动流程分…

【JavaScript 漫游】【013】Date 对象知识点摘录

文章简介 本文为【JavaScript 漫游】专栏的第 013 篇文章&#xff0c;记录了 JS 语言中 Date 对象的重要知识点。 普通函数的用法构造函数的用法日期的运算静态方法&#xff0c;包括&#xff1a;Date.now()、Date.parse() 和 Date.UTC()实例方法&#xff0c;包括&#xff1a;…

以太网协议

以太网 .以太网协议格式&#x1f3a8;目的地址,源地址mac地址格式 . 以太网协议格式&#x1f3a8; 目的地址,源地址 此处的地址,叫做mac地址(物理地址),长度是6个字节 mac地址的作用也是用来区分不同的主机 IP地址的长度是4字节 IP地址负责网络层(整体)转发,mac地址负责数据链…

K8S之运用节点选择器指定Pod运行的节点

node节点选择器的使用 使用场景实践使用nodeName使用nodeSelectornodeName和nodeSelector混合使用1、设置了nodeName 和 设置 Node上都不存在的标签。看调度情况2、设置nodeName 为node1 和 设置 node2上才有的标签。看调度情况 实践总结 使用场景 默认情况&#xff0c;在创建…

计算机网络——05Internet结构和ISP

Internet结构和ISP 互连网络结构&#xff1a;网络的网络 端系统通过接入ISPs连接到互连网 住宅、公司和大学的ISPs 接入ISPs相应的必须是互联的 因此任何2个端系统可相互发送分组到对方 导致的“网络的网络”非常复杂 发展和演化是通过经济的和国家的政策来驱动的 问题&…

Windows下搭建Redis Sentinel

下载安装程序 下载Redis关于Windows安装程序&#xff0c;下载地址 下载成功后进行解压&#xff0c;解压如下&#xff1a; 配置redis和sentinel 首先复制三份redis.windows.conf&#xff0c;分别命名为&#xff1a;redis.6379.conf、redis.6380.conf、redis.6381.conf&…

多线程JUC:等待唤醒机制(生产者消费者模式)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;多线程&JUC&#xff1a;解决线程安全问题——synchronized同步代码块、Lock锁 &#x1f4da;订阅专栏&#xff1a;多线程&am…

【C语言】深入理解指针

目录 1.字符指针 2.指针数组 3.数组指针 4.数组传参与指针传参 一维数组传参 二维数组传参 一级指针传参 二级指针传参 5.函数指针 6.函数指针数组 7.指向函数指针数组的指针&#xff08;了解即可&#xff09; 8.回调函数 回调函数的应用&#xff1a;库函数qsort …

Codeforces Round 923 (Div. 3) E. Klever Permutation (Java)

比赛链接&#xff1a;Round 923 (Div. 3) EE题传送门&#xff1a;E. Klever Permutation 题目&#xff1a;E. Klever Permutation 样例 #1 样例输入 #1 5 2 2 3 2 10 4 13 4 7 4样例输出 #1 2 1 1 3 2 1 8 4 10 2 7 5 9 3 6 4 10 1 13 5 9 2 12 6 8 3 11 7 1 6 3 7 2 5 4分…

【06】C++ 模板初阶

文章目录 &#x1f308; Ⅰ 泛型编程&#x1f308; Ⅱ 函数模板1. 函数模板概念2. 函数模板格式 &#x1f308; Ⅰ 泛型编程 1. 泛型编程引入 假设当前要实现交换两个变量的功能&#xff0c;那么就得根据实参的数据类型来对该函数进行重载。重载的函数只是数据类型不同而已&a…

逐行拆解Guava限流器RateLimiter

逐行拆解Guava限流器RateLimiter 常见限流算法 计数器法 设置一个时间窗口内允许的最大请求量&#xff0c;如果当前窗口请求数超过这个设定数量&#xff0c;则拒绝该窗口内之后的请求。 关键词&#xff1a;时间窗口&#xff0c;计数器。 举个例子&#xff0c;我们设置1秒钟…

解决“使用Edge浏览器每次鼠标点击会出现一个黑色边框”的问题

目录 一 问题描述 二 解决方案 三 方案来源 四 参考资料 & AI工具 一 问题描述 为了方便进行收藏夹同步&#xff0c;开始从Chrome浏览器切换到Edge浏览器。在使用Edge浏览器过程中发现“每次鼠标点击会出现一个黑色边框”&#xff08;效果如下图所示&#xff09;&#…

基于物联网的实时数据分析(简单介绍)

在当今这个信息化、数字化飞速发展的时代&#xff0c;物联网&#xff08;Internet of Things, IoT&#xff09;和实时数据分析成为了技术革新的两大支柱。对于刚入行的新手来说&#xff0c;理解这两个概念及其相互作用不仅是迈入这一领域的第一步&#xff0c;更是掌握未来技术趋…

Android 粒子喷泉动效

一、前言&#xff1a; 在学习open gl es实现动效的时候&#xff0c;打算回顾了一下用普通的2D坐标系实现粒子效果和 open gl 3d 坐标系的区别&#xff0c;以及难易程度&#xff0c;因此本篇以Canvas 2D坐标系实现了一个简单的demo。 粒子动效原理&#xff1a; 粒子动效本质上…

Springboot 整合 Elasticsearch(二):使用HTTP请求来操作ES

&#x1f4c1;前情提要&#xff1a;Springboot整合Elasticsearch&#xff08;一&#xff09;&#xff1a;Linux下安装 Elasticsearch 8.x 目录 一、使用 elasticsearch-head 插件连接 1、下载压缩包 2、在 chrome 浏览器中添加扩展程序 3、修改IP地址&#xff0c;点击连接 …

Excel+VBA处理高斯光束

文章目录 1 图片导入与裁剪2 获取图片数据3 数据拟合 1 图片导入与裁剪 插入图片没什么好说的&#xff0c;新建Excel&#xff0c;【插入】->【图片】。 由于图像比较大&#xff0c;所以要对数据进行截取&#xff0c;选中图片之后&#xff0c;点击选项卡右端的【图片格式】…

Postgresql 的编译安装与包管理安装, 全发行版 Linux 通用

博客原文 文章目录 实验环境信息编译安装获取安装包环境依赖编译安装安装 contrib 下工具代码 创建用户创建数据目录设置开机自启动启动数据库常用运维操作 apt 安装更新源安装 postgresql开机自启修改配置修改密码 实验环境信息 Ubuntu 20.04Postgre 16.1 编译安装 获取安装…

HiveSQL——不使用union all的情况下进行列转行

参考文章&#xff1a; HiveSql一天一个小技巧&#xff1a;如何不使用union all 进行列转行_不 union all-CSDN博客文章浏览阅读881次&#xff0c;点赞5次&#xff0c;收藏10次。本文给出一种不使用传统UNION ALL方法进行 行转列的方法,其中方法一采用了concat_wsposexplode()方…

[经验] 喉咙沙哑的原因及应对方法是什么 #学习方法#其他#媒体

喉咙沙哑的原因及应对方法是什么 生活中&#xff0c;喉咙不舒服是很常见的情况&#xff0c;尤其是喉咙沙哑&#xff0c;让人感到特别难受&#xff0c;影响睡眠和生活质量。那么喉咙沙哑怎么办呢&#xff1f;接下来我会分享一些简单易行的方法&#xff0c;帮助你缓解这种不适感…

搭建yum仓库服务器

安装 1.安装linux 1.1安装依赖 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel 1.2下载 cd /opt/nginx wget http://nginx.org/download/nginx-1.25.3.tar.gz 1.3解压 tar -xvf nginx-1.25.3.tar.gz 1.4配置 cd nginx-1.25.3 ./configure --pre…