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

1.CSS的三大特性

css有三个非常重要的三个特性:层叠性、继承性、优先级

1.1 层叠性

想通选择器给设置想听的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要是解决样式冲突的问题。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {color: red;}div {color: pink;}</style>
</head>
<body><div>长江后浪推前浪,前浪死在沙滩上</div>
</body>
</html>

层叠性原则:

  • 样式冲突,遵循就近原则
  • 样式不冲突,不会层叠

1.2 继承性

现实中的继承,我们继承了父亲的姓

CSS中的继承,子标签会继承父标签的某些样式,如文本颜色和自豪,简单的理解就是:子承父业

  • 恰当地使用继承可以简化代码,降低CSS样式的复杂性
  • 子元素可以继承父元素的样式(text,font,line-这些元素开头的可以继承,以及color属性)
  • 继承性口诀:龙生龙,凤生凤,老鼠的孩子会打洞
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {color: pink;font-size: 14px;}</style>
</head>
<body><div><p>龙生龙,凤生凤,老鼠生的孩子会打洞</p></div>
</body>
</html>

1.2.1行高继承

body {

font:12px/1.5 Microsoft YaHei;

}

  • 行高可以跟单位也可以不跟单位
  • 如果子元素没有设置行高,则会继承父元素的行高为1.5
  • 此时子元素的行高是:当前资源素的文字大小*1.5

1.3 优先级

当同一个元素的指定多个选择器,就会有优先级产生。

  • 选择器相同,则执行层叠性
  • 选择器不同,则根据选择器权重执行
选择器选择器权重
继承 或者 *0
元素选择器1
类选择器、伪类选择器10
ID选择器100
行内样式 style=""1000
!important∞无穷大

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {color: pink!important;}.test {color: red;}#demo {color: green;}</style>
</head>
<body><div class="test" id="demo" style="color: purple;">你笑起来真好看</div></body>
</html>

注意事项:

  • 权重是有4组数字组成的,但是不会有进位。
  • 可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择器,依此类推
  • 等级判断从左向右,如果某一位数值相同,则判断下一位数值。
  • 可以简单记忆法:通配符和继承权重为0,标签选择器为1,类选择器10,id选择器100,行内样式表1000,!important无穷大
  • 继承的权重是0:,如果钙元素没有直接选中,不管父元素权重有多高,子元素得到的权重都是0。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>#father {color: red;}p {color: pink;}</style>
</head>
<body><div id="father"><p>你还是很好看</p></div>
</body>
</html>

权重叠加:如果是复合选择器,则会有权叠加,需要计算权重

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>li {color: red;}ul li {color: rgb(37, 74, 37);}.nav li {color: pink;}</style>
</head>
<body><ul class="nav"><li>大猪蹄子</li><li>大肘子</li><li>猪尾巴</li></ul>
</body>
</html>

 div ul li ------>0,0,0,3

.nav ul li ------>0,0,1,2

a:hover ------>0,0,1,1

.nav a  -------->0,0,1,1

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.nav li{color: red;}li {color: pink;}.nav .pink {color: pink;font-weight: 700;}</style>
</head>
<body><ul class="nav"><li class="pink">人生四大悲</li><li>家里没宽带</li><li>网速不够快</li><li>手机没流量</li><li>学校没wifi</li></ul>
</body>
</html>

http://www.lryc.cn/news/525345.html

相关文章:

  • 【分布式日志篇】从工具选型到实战部署:全面解析日志采集与管理路径
  • 基于springcloud汽车信息分析与可视化系统
  • TOGAF之架构标准规范-信息系统架构 | 数据架构
  • Databend x 沉浸式翻译 | 基于 Databend Cloud 构建高效低成本的业务数据分析体系
  • cuda的并行运算介绍
  • 「全网最细 + 实战源码案例」设计模式——抽象工厂模式
  • 领域驱动设计(DDD)四 订单管理系统实践步骤
  • leetcode 面试经典 150 题:简化路径
  • 基于 STM32 的智能农业温室控制系统设计
  • 【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用
  • 【Postgres_Python】使用python脚本将多个PG数据库合并为一个PG数据库
  • Tailwind CSS v4.0 发布
  • pandas基础:文件的读取和写入
  • 【MySQL — 数据库增删改查操作】深入解析MySQL的create insert 操作
  • 每日OJ_牛客_小红的子串_滑动窗口+前缀和_C++_Java
  • HTTP 配置与应用(局域网)
  • ultralytics 是什么?
  • AI竞争:从技术壁垒到用户数据之争
  • MySQL 主从复制(单组传统复制,GTID复制。双主复制)
  • python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖
  • vue3 中如何监听 props 中的值的变化
  • Scrapy之一个item包含多级页面的处理方案
  • hive 自动检测、自动重启、记录检测日志、自动清理日志
  • HFSS同轴替换波端口
  • 【2024年华为OD机试】 (C卷,100分)- 素数之积(JavaScriptJava PythonC/C++)
  • 【C++模板】:如何判断自定义类型是否实现某个函数
  • 基于微信小程序的汽车保养系统设计与实现(LW+源码+讲解)
  • 电子应用设计方案102:智能家庭AI鱼缸系统设计
  • 【Elasticsearch】RestClient操作文档
  • 内存条的构造、原理及性能参数