CSS3 的特性

news2025/6/9 5:12:23

目录

  • CSS3 的特性
    • CSS3 的三大特性
      • 1. 层叠性
      • 2. 继承性
      • 3. 优先级
    • CSS3 新增特性
      • 1. 选择器
      • 2. 盒模型
      • 3. 背景
      • 4. 渐变
      • 5. 过渡
      • 6. 动画
      • 7. 2D/3D 变换
      • 8. 弹性布局
      • 9. 网格布局
      • 10. 媒体查询
      • 11. 多列布局
      • 12. 文字阴影和盒子阴影


CSS3 的特性

CSS3 的三大特性

1. 层叠性

  • 定义:多个 CSS 样式可以同时作用于同一个 HTML 元素
  • 原则
    • 样式冲突时,遵循就近原则
    • 权重不同时,权重高的样式生效
    • 权重相同时,遵循就近原则
  • 示例
/* 权重相同,就近原则 */
.box {
  color: red;
}
.box {
  color: blue; /* 最终显示蓝色 */
}

/* 权重不同,权重高的生效 */
#box {
  color: red; /* ID选择器权重高,显示红色 */
}
.box {
  color: blue;
}

2. 继承性

  • 定义:子标签会继承父标签的某些样式
  • 特点
    • 子元素可以继承父元素的样式
    • 不是所有属性都可以继承
    • 继承的权重为 0
  • 可继承属性
    • 文本相关:color、font-size、font-family、font-weight、line-height
    • 列表相关:list-style、list-style-type、list-style-position
    • 表格相关:border-collapse、border-spacing
    • 其他:visibility、cursor
  • 不可继承属性
    • 盒模型相关:width、height、margin、padding、border
    • 定位相关:position、top、right、bottom、left
    • 显示相关:display
    • 背景相关:background
  • 示例
.parent {
  color: red;
  font-size: 16px;
  width: 100px;
}

.child {
  /* 继承 color 和 font-size */
  /* 不继承 width */
}

3. 优先级

  • 定义:不同选择器具有不同的优先级
  • 权重计算
    • 内联样式:1000
    • ID 选择器:100
    • 类选择器、属性选择器、伪类:10
    • 元素选择器、伪元素:1
    • 通配符、子选择器、相邻选择器:0
  • 权重叠加
    • 多个选择器组合时,权重相加
    • 权重相同时,遵循就近原则
  • 示例
/* 权重计算 */
#box .title {
  /* 100 + 10 = 110 */
  color: red;
}

.box .title {
  /* 10 + 10 = 20 */
  color: blue;
}

/* 权重叠加 */
.box .title span {
  /* 10 + 10 + 1 = 21 */
  color: green;
}

/* !important 优先级最高 */
.title {
  color: red !important; /* 优先级最高 */
}

CSS3 新增特性

1. 选择器

  • 属性选择器

    /* 包含属性 */
    [class] {
    }
    
    /* 属性值等于 */
    [class='box'] {
    }
    
    /* 属性值包含 */
    [class*='box'] {
    }
    
    /* 属性值开头 */
    [class^='box'] {
    }
    
    /* 属性值结尾 */
    [class$='box'] {
    }
    
  • 结构伪类选择器

    /* 第一个子元素 */
    :first-child {
    }
    
    /* 最后一个子元素 */
    :last-child {
    }
    
    /* 第n个子元素 */
    :nth-child(n) {
    }
    
    /* 偶数子元素 */
    :nth-child(even) {
    }
    
    /* 奇数子元素 */
    :nth-child(odd) {
    }
    

2. 盒模型

  • box-sizing

    /* 标准盒模型 */
    box-sizing: content-box;
    
    /* IE盒模型 */
    box-sizing: border-box;
    

3. 背景

  • background-size

    /* 覆盖 */
    background-size: cover;
    
    /* 包含 */
    background-size: contain;
    
    /* 具体尺寸 */
    background-size: 100px 100px;
    
  • background-origin

    background-origin: padding-box;
    background-origin: border-box;
    background-origin: content-box;
    

4. 渐变

  • 线性渐变

    background: linear-gradient(to right, red, blue);
    background: linear-gradient(45deg, red, blue);
    
  • 径向渐变

    background: radial-gradient(circle, red, blue);
    

5. 过渡

  • transition

    /* 简写 */
    transition: all 0.3s ease;
    
    /* 分开写 */
    transition-property: width;
    transition-duration: 0.3s;
    transition-timing-function: ease;
    transition-delay: 0s;
    

6. 动画

  • @keyframes

    @keyframes move {
      0% {
        transform: translateX(0);
      }
      100% {
        transform: translateX(100px);
      }
    }
    
    .box {
      animation: move 1s infinite;
    }
    

7. 2D/3D 变换

  • 2D 变换

    /* 位移 */
    transform: translate(100px, 100px);
    
    /* 旋转 */
    transform: rotate(45deg);
    
    /* 缩放 */
    transform: scale(1.5);
    
    /* 倾斜 */
    transform: skew(10deg);
    
  • 3D 变换

    /* 3D位移 */
    transform: translate3d(100px, 100px, 100px);
    
    /* 3D旋转 */
    transform: rotate3d(1, 1, 1, 45deg);
    
    /* 3D缩放 */
    transform: scale3d(1.5, 1.5, 1.5);
    

8. 弹性布局

  • Flex 布局

    /* 容器属性 */
    display: flex;
    flex-direction: row | column;
    justify-content: center | space-between;
    align-items: center;
    flex-wrap: wrap;
    
    /* 项目属性 */
    flex: 1;
    order: 1;
    align-self: center;
    

9. 网格布局

  • Grid 布局

    /* 容器属性 */
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-gap: 10px;
    
    /* 项目属性 */
    grid-column: span 2;
    grid-row: span 2;
    

10. 媒体查询

  • 响应式布局
    @media screen and (max-width: 768px) {
      .box {
        width: 100%;
      }
    }
    

11. 多列布局

  • column
    .box {
      column-count: 3;
      column-gap: 20px;
      column-rule: 1px solid #ccc;
    }
    

12. 文字阴影和盒子阴影

  • 阴影效果

    /* 文字阴影 */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    
    /* 盒子阴影 */
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    

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

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

相关文章

行为型设计模式之Mediator(中介者)

行为型设计模式之Mediator(中介者) 1)意图 用一个中介对象来封装一系列的对象的交互。中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 2)结构 其中&#xff…

三维图形、地理空间、激光点云渲染技术术语解析笔记

三维图形、地理空间、激光点云渲染技术术语解析笔记 code review! 文章目录 三维图形、地理空间、激光点云渲染技术术语解析笔记1. Minecraft风格的方块渲染2. Meshing(网格化)3. Mipmapping(多级纹理映射)4. Marching Cubes&…

从webrtc到janus简介

1.基础知识 1.1 信令的基础知识 在 WebRTC(Web Real-Time Communication) 中,信令(Signaling) 是实现浏览器之间实时通信的关键机制,负责在通信双方(或多方)之间传递控制信息&…

JVM 核心概念深度解析

最近正在复习Java八股,所以会将一些热门的八股问题,结合ai与自身理解写成博客便于记忆 一、JVM内存结构/运行时数据区 JVM运行时数据区主要分为以下几个部分: 程序计数器(PC Register) 线程私有,记录当前线程执行的字节码行号唯…

api将token设置为环境变量

右上角 可以新增或者是修改当前的环境 环境变量增加一个token,云端值和本地值可以不用写 在返回token的接口里设置后执行操作,通常是登录的接口 右侧也有方法提示 //设置环境变量 apt.environment.set("token", response.json.data.token); 在需要传t…

SIFT算法详细原理与应用

SIFT算法详细原理与应用 1 SIFT算法由来 1.1 什么是 SIFT? SIFT,全称为 Scale-Invariant Feature Transform(尺度不变特征变换),是一种用于图像特征检测和描述的经典算法。它通过提取图像中的局部关键点,…

AlphaDrive:通过强化学习和推理释放自动驾驶中 VLM 的力量

AlphaDrive: Unleashing the Power of VLMs in Autonomous Driving via Reinforcement Learning and Reasoning 25年3月来自华中科技大学和地平线的论文 OpenAI 的 o1 和 DeepSeek R1 在数学和科学等复杂领域达到甚至超越了人类专家水平,其中强化学习(R…

【八股消消乐】如何解决SQL线上死锁事故

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本专栏《八股消消乐》旨在记录个人所背的八股文,包括Java/Go开发、Vue开发、系统架构、大模型开发、具身智能、机器学习、深度学习、力扣算法等相关知识点&#xff…

如何使用 HTML、CSS 和 JavaScript 随机更改图片颜色

原文:如何使用 HTML、CSS 和 JavaScript 随机更改图片颜色 | w3cschool笔记 (请勿标记为付费!!!!) 在网页开发中,为图片添加动态效果可以显著提升用户体验。今天,我将向…

CAN通信收发测试(USB2CAN模块测试实验)

1.搭建测试环境 电脑:安装 USB 驱动,安装原厂调试工具,安装cangaroo(参考安装包的入门教程即可) USB驱动路径:~\CAN分析仪资料20230701_Linux\硬件驱动程序 原厂调试工具路径:~\CAN分析仪资料2…

OSCP备战-BSides-Vancouver-2018-Workshop靶机详细步骤

一、靶机介绍 靶机地址:https://www.vulnhub.com/entry/bsides-vancouver-2018-workshop%2C231/ 靶机难度:中级(CTF) 靶机发布日期:2018年3月21日 靶机描述: Boot2root挑战旨在创建一个安全的环境&…

PDF转Markdown/JSON软件MinerU最新1.3.12版整合包下载

MinerU发布至今我已经更新多版整合包了,5天前MinerU发布了第一个正式版1.0.1,并且看到在18小时之前有更新模型文件,我就做了个最新版的一键启动整合包。 2025年02月21日更新v1.1.0版整合包 2025年02月27日更新v1.2.0版整合包 2025-06-05 更…

【深入学习Linux】System V共享内存

目录 前言 一、共享内存是什么? 共享内存实现原理 共享内存细节理解 二、接口认识 1.shmget函数——申请共享内存 2.ftok函数——生成key值 再次理解ftok和shmget 1)key与shmid的区别与联系 2)再理解key 3)通过指令查看/释放系统中…

编程基础:执行流

能帮到你的话,就给个赞吧 😘 文章目录 执行流同步:顺序执行,只有一个执行流异步:新开后台(次)执行流,后台执行流要确保不能影响主执行流。共有两个执行流。 阻塞:任务阻塞执行流,导致…

理解非结构化文档:将 Reducto 解析与 Elasticsearch 结合使用

作者:来自 Elastic Adel Wu 演示如何将 Reducto 的文档处理与 Elasticsearch 集成以实现语义搜索。 Elasticsearch 与业界领先的生成式 AI 工具和提供商有原生集成。欢迎观看我们的网络研讨会,了解如何超越 RAG 基础,或使用 Elastic 向量数据…

[面试精选] 0094. 二叉树的中序遍历

文章目录 1. 题目链接2. 题目描述3. 题目示例4. 解题思路5. 题解代码6. 复杂度分析 1. 题目链接 94. 二叉树的中序遍历 - 力扣(LeetCode) 2. 题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 3. 题目示例 示例 1 : 输入&…

学习笔记(23): 机器学习之数据预处理Pandas和转换成张量格式[1]

学习笔记(23): 机器学习之数据预处理Pandas和转换成张量格式[1] 学习机器学习,需要学习如何预处理原始数据,这里用到pandas,将原始数据转换为张量格式的数据。 1、安装pandas pip install pandas 2、写入和读取数据 >>创建一个人工…

2025年6月6日第一轮

2025年6月6日 The rapid in Chiese industdy is developnig e,and it is From be in a enjoy a deep is developing The drone industry in China is developing The drone industy in china develops rapidly and is in a leading position in in the world. The dro…

12-Oracle 23ai Vector 使用ONNX模型生成向量嵌入

一、Oracle 23ai Vector Embeddings 核心概念​ 向量嵌入(Vector Embeddings)​​ -- 将非结构化数据(文本/图像)转换为数值向量 - - 捕获数据的语义含义而非原始内容 - 示例:"数据库" → [0.24, -0.78, 0.5…

pytorch 与 张量的处理

系列文章目录 文章目录 系列文章目录一、Tensor 的裁剪二、Tensor 的索引与数据筛选torch.wheretorch.indicestorch.gathertorch.masked_selecttorch.taketorch.nonzero(省略) 三、Tensor 的组合与拼接torch.cattorch.stack 四、Tensor的切片chunksplit …