CSS3 基础知识、原理及与CSS的区别

news2025/5/14 18:23:17

CSS3 基础知识、原理及与CSS的区别

CSS3 基础知识

CSS3 是 Cascading Style Sheets 的第3个版本,是CSS技术的升级版本,于1999年开始制订,2001年5月23日W3C完成了CSS3的工作草案。

CSS3 主要模块

  1. 选择器:更强大的元素选择方式
  2. 盒模型:更灵活的布局控制
  3. 背景和边框:圆角、阴影、渐变等效果
  4. 文字效果:文字阴影、换行控制等
  5. 2D/3D转换:旋转、缩放、移动等
  6. 动画:过渡和关键帧动画
  7. 多列布局:创建多列文本布局
  8. 用户界面:调整大小、盒大小等

CSS3 与 CSS 的主要区别

特性CSSCSS3
模块化单一规范分为多个独立模块
选择器基础选择器新增属性选择器、伪类等
圆角边框不支持border-radius
阴影不支持box-shadow, text-shadow
渐变不支持linear-gradient, radial-gradient
动画不支持transition, animation
媒体查询不支持@media
多背景不支持支持多个背景图像
弹性布局不支持Flexbox
网格布局不支持Grid

CSS3 核心原理

  1. 渐进增强:CSS3 设计允许浏览器逐步支持新特性,不支持的浏览器会优雅降级
  2. 硬件加速:某些CSS3特性(如transform)会使用GPU加速,提高性能
  3. 模块化设计:不同功能被划分为独立模块,可以单独开发和实现
  4. 响应式设计:媒体查询等功能为响应式设计提供了基础

CSS3 案例

1. 圆角边框 (border-radius)

.box {
  width: 200px;
  height: 100px;
  background-color: #3498db;
  border-radius: 10px; /* 四个角 */
  border-radius: 10px 20px 30px 40px; /* 左上 右上 右下 左下 */
}

2. 阴影效果 (box-shadow)

.card {
  width: 300px;
  padding: 20px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  /* 水平偏移 垂直偏移 模糊半径 颜色 */
}

3. 渐变背景 (gradient)

.gradient-bg {
  background: linear-gradient(to right, #ff7e5f, #feb47b);
  /* 也可以使用径向渐变 radial-gradient */
}

4. 过渡效果 (transition)

.button {
  background: #2ecc71;
  transition: background 0.3s ease;
}
.button:hover {
  background: #27ae60;
}

5. 动画 (animation)

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}

.ball {
  animation: bounce 2s infinite;
}

6. 2D转换 (transform)

.element {
  transform: rotate(45deg) scale(1.2);
  /* 还可以使用 skew(), translate() 等 */
}

7. 媒体查询 (media query)

/* 当屏幕宽度小于600px时应用这些样式 */
@media (max-width: 600px) {
  .menu {
    display: none;
  }
  .mobile-menu {
    display: block;
  }
}

8. Flexbox 布局

.container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.item {
  flex: 1;
}

9. Grid 布局

.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.grid-item {
  background: #eee;
  padding: 20px;
}

10. 多列布局

.multi-column {
  column-count: 3;
  column-gap: 20px;
  column-rule: 1px solid #ddd;
}

浏览器兼容性考虑

虽然CSS3提供了许多强大的功能,但在实际开发中需要考虑浏览器兼容性。可以使用以下方法:

  1. 前缀处理:使用Autoprefixer等工具自动添加浏览器前缀

    .box {
      -webkit-transform: rotate(30deg);
      -moz-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
      transform: rotate(30deg);
    }
    
  2. 特性检测:使用@supports规则

    @supports (display: grid) {
      /* 支持grid时的样式 */
    }
    
  3. 渐进增强:先确保基本功能可用,再添加CSS3增强效果

CSS3极大地丰富了网页的表现力,使得开发者能够创建更加丰富、动态的网页效果,同时保持代码的简洁性和可维护性。

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

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

相关文章

力扣119题:杨辉三角II(滚动数组)

小学生一枚,自学信奥中,没参加培训机构,所以命名不规范、代码不优美是在所难免的,欢迎指正。 标签: 杨辉三角、滚动数组 语言: C 题目: 给定一个非负索引 rowIndex,返回「杨辉三角…

大疆无人机(全系列,包括mini)拉流至电脑,实现直播

参考视频 【保姆级教程】大疆无人机rtmp推流直播教程_哔哩哔哩_bilibili VLC使用教程: VLC工具使用指南-CSDN博客 目录 实现效果: 电脑端 ​编辑 ​编辑 无人机端 VLC拉流 分析 实现效果: (实验机型:大疆mini4kRC-N2遥控器、大…

uniapp-商城-54-后台 新增商品(页面布局)

后台页面中还存在商品信息的添加和修改等。接下来我们逐步进行分析和展开。包含页面布局和数据库逻辑等等。 1、整体效果 样式效果如下,依然采用了表单形式来完成和商家信息差不多,但在商品属性上多做了一些弹窗等界面,样式和功能点表多。 …

WebpackVite总结篇与进阶

模块化 Webpack Webpack 入口entry 分离app和第三方库入口 这是什么? 这是告诉 webpack 我们想要配置 2 个单独的入口点(例如上面的示例)。 为什么? 这样你就可以在 vendor.js 中存入未做修改的必要 library 或文件&#xff0…

【python】基础知识点100问

以下是Python基础语法知识的30条要点整理,涵盖数据类型、函数、控制结构等核心内容,结合最新资料归纳总结: 基础30问 一、函数特性 函数多返回值 支持用逗号分隔返回多个值,自动打包为元组,接收时可解包到多个变量 def func(): return 1, "a" x, y = func()匿…

SpringBoot--springboot简述及快速入门

spring Boot是spring提供的一个子项目,用于快速构建spring应用程序 传统方式: 在众多子项目中,spring framework项目为核心子项目,提供了核心的功能,其他的子项目都需要依赖于spring framework,在我们实际…

vscode_python远程调试_pathMappings配置说明

1.使用说明 vscode python 远程调试pathMappings 配置 launch.json "pathMappings": [{"localRoot": "本地代码目录","remoteRoot": "远程代码目录" # 注意不是运行目录, 是远程代码的目录}],2.测试验证 测试目的: 远程代…

遨游5G-A防爆手机:赋能工业通信更快、更安全

在工业数字化转型与5G-A商用进程加速的双重驱动下,中国防爆手机市场正迎来历史性发展机遇。作为“危、急、特”场景通信解决方案服务商,遨游通讯深刻洞察到:当5G-A网络以超高速率、海量连接和毫秒级时延重塑行业生态时,防爆手机这…

Profibus DP主站与Modbus RTU/TCP网关与海仕达变频器轻松实现数据交互

Profibus DP主站与Modbus RTU/TCP网关与海仕达变频器轻松实现数据交互 Profibus DP主站转Modbus RTU/TCP(XD-MDPBm20)网关在Profibus总线侧实现主站功能,在Modbus串口侧实现从站功能。可将ProfibusDP协议的设备(如:海…

「华为」人形机器人赛道投资首秀!

温馨提示:运营团队2025年最新原创报告(共210页) —— 正文: 近日,【华为】完成具身智能赛道投资首秀,继续加码人形机器人赛道布局。 2025年3月31日,具身智能机器人头部创企【千寻智能&#x…

格雷希尔G10和G15系列自动化快速密封连接器,适用于哪些管件的密封,以及它们相关的特性有哪些?

格雷希尔G10和G15系列快速密封连接器,用于自动化和半自动化过程中的外部或内部密封,通过使用气压驱动来挤压内部的密封圈,创造一个适用于各种管件的无泄漏密封连接,连接器内部的弹性密封圈可以提供其他产品不能提供的卓越密封性能…

专栏特辑丨悬镜浅谈开源风险治理之SBOM与SCA

随着容器、微服务等新技术日新月异,开源软件成为业界主流形态,软件行业快速发展。但同时,软件供应链也越来越趋于复杂化和多样化,软件供应链安全风险不断加剧。 软件供应链安全主要包括软件开发生命周期和软件生存运营周期&#x…

vue3项目创建-配置-elementPlus导入-路由自动导入

目录 方法一:create-vue 方法二 :Vite Vue Vite.config.ts配置 引入element-plus 安装 如何在项目中使用 Element Plus 完整引入 按需导入 vue3vite中自动配置路由的神器:vite-plugin-pages 1. 安装 2、修改vite.config.js中配置…

MUSE Pi Pro 编译kernel内核及创建自动化脚本进行环境配置

视频讲解: MUSE Pi Pro 编译kernel内核及创建自动化脚本进行环境配置 今天分享的主题为创建自动化脚本编译MUSE Pi Pro的kernel内核,脚本已经上传到中 GitHub - LitchiCheng/MUSE-Pi-Pro-Learning: MUSE-Pi-Pro-Learning ,有需要可以自行clon…

Innovus 25.1 版本更新:助力数字后端物理设计新飞跃

在数字后端物理设计领域,每一次工具的更新迭代都可能为项目带来巨大的效率提升与品质优化。今天,就让我们一同聚焦 Innovus 25.1 版本(即 25.10 版本)的更新要点,探寻其中蕴藏的创新能量。 一、核心功能的强势进 AI…

CodeBuddy 中国版 Cursor 实战:Redis+MySQL双引擎驱动〈王者荣耀〉战区排行榜

文章目录 一、引言二、系统架构设计2.1、整体架构概览2.2、数据库设计2.3、后端服务设计 三、实战:从零构建排行榜3.1、开发环境准备3.2、用户与战区 数据管理3.2.1、MySQL 数据库表创建3.2.2、实现用户和战区数据的 CURD 操作 3.3、实时分数更新3.4、排行榜查询3.5…

在线SQL转ER图工具

在线SQL转ER图网站 在数据库设计、软件开发或学术研究中,ER图(实体-关系图) 是展示数据库结构的重要工具。然而,手动绘制ER图不仅耗时费力,还容易出错。今天,我将为大家推荐一款非常实用的在线工具——SQL…

python高级特性

json.dumps({a:1,n:2}) #Python 字典类型转换为 JSON 对象。相当于jsonify data2 json.loads(json_str)#将 JSON 对象转换为 Python 字典 异步编程:在异步编程中,程序可以启动一个长时间运行的任务,然后继续执行其他任务,而无需等…

汇编:子程序设计

一、 实验要求 实验目的: 熟练掌握算术运算汇编指令的使用熟练掌握子程序设计的基本方法熟练掌握程序的调试方法 实验内容: 编程实现两个数:#8888H和#79H的乘除运算结合实验1的代码,将加减乘除四则运算写成四个子程序&#xff…

从概念表达到安全验证:智能驾驶功能迎来系统性规范

随着辅助驾驶事故频发,监管机制正在迅速补位。面对能力表达、使用责任、功能部署等方面的新要求,行业开始重估技术边界与验证能力,数字样机正成为企业合规落地的重要抓手。 2025年以来,围绕智能驾驶功能的争议不断升级。多起因辅…