CSS3 新特性

embedded/2024/10/18 9:21:26/

文章目录

  • 选择器
  • 圆角效果 - border-radius
  • 阴影效果 - box-shadow
  • 渐变效果 - linear-gradient()
  • 形变效果 - transform
  • 过渡效果 - transition
  • 动画效果 - animation
  • 媒体查询 - @media
  • 弹性盒子布局 - flex
  • 网格布局 - grid
  • 背景效果
    • 1. 多背景图
    • 2. 背景裁剪
    • 3. 透明效果

CSS3中引入了许多令人兴奋的新特性,这些特性使得开发者能够创建更丰富、更动态和更响应式的网页。

选择器

属性选择器:允许你根据元素的属性值来选择元素,例如 [attribute][attribute=value][attribute~=value][attribute|=value] 等。

css">/* 选择所有带有 title 属性的元素 */
[title] {color: blue;
}/* 选择 title 属性值为 "example" 的元素 */
[title="example"] {font-weight: bold;
}

伪类选择器:允许你根据元素的状态或位置来选择元素,例如 :hover:focus:nth-child():not()

css">/* 鼠标悬停时改变元素的背景颜色 */
button:hover {background-color: lightgray;
}/* 选择第一个段落元素 */
p:first-child {font-weight: bold;
}

圆角效果 - border-radius

border-radius:为元素的边框创建圆角效果,从而替代了以往需要多个图片拼接实现的方式。

css">#example1 {border: 2px solid red;border-radius: 25px;
}#example2 {border: 2px solid red;border-radius: 50px 20px;
}

阴影效果 - box-shadow

box-shadow、text-shadow:为元素的背景和文本添加阴影效果。

css">button {  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5); /* 添加阴影效果 */  
}

渐变效果 - linear-gradient()

linear-gradient():线性渐变和径向渐变,可以在元素的背景中创建平滑的颜色过渡效果。

css">#grad {background-image: linear-gradient(red, yellow, blue);
}

创建一个线性渐变,需要指定两种颜色,还可以实现不同方向(指定为一个角度)的渐变效果,如果不指定方向,默认从上到下渐变。

css">/* 从上到下,蓝色渐变到红色 */
linear-gradient(blue, red);/* 渐变轴为45度,从蓝色渐变到红色 */
linear-gradient(45deg, blue, red);/* 从右下到左上、从蓝色渐变到红色 */
linear-gradient(to left top, blue, red);/* 从下到上,从蓝色开始渐变、到高度40%位置是绿色渐变开始、最后以红色结束 */
linear-gradient(0deg, blue, green 40%, red);

形变效果 - transform

transform:应用于元素的2D或3D转换。这个属性允许你将元素旋转,缩放,倾斜,偏移等。

css">div
{transform: rotate(45deg); // 旋转45°transform: scale(2, 0.5); // X轴缩放2 Y轴缩放0.5transform: skew(30deg, 45deg); // X轴倾斜30  Y轴倾斜45transform: translate(45px, 50%); // X轴偏移45px Y轴偏移50%
}

过渡效果 - transition

transition:元素在状态改变时(如hover时颜色改变)能够平滑地过渡属性值。

css">div {  background-color: red;  transition: background-color 0.5s ease; /* 0.5秒内平滑过渡 */  
}  
div:hover {  background-color: blue;  
}

动画效果 - animation

@keyframes:可以创建动画,通过逐步改变从一个CSS样式设定到另一个。
animation:应用动画

在动画过程中,可以更改CSS样式的设定多次。

指定的变化时发生时使用,0%是开头动画,100%是当动画完成,或关键字"from"和"to"

css">@keyframes moveRight {  0% { left: 0; }  100% { left: 200px; }  
}  div {  position: relative;  animation: moveRight 2s; /* 应用动画  2秒内从左边移动到右边 */  
}

媒体查询 - @media

@media:根据设备的特性(如屏幕宽度)来应用不同的样式规则,是实现响应式设计。

可以针对不同的屏幕尺寸设置不同的样式,特别是如果需要设置设计响应式的页面,@media 是非常有用的。

当你重置浏览器大小的过程中,页面也会根据浏览器的宽度和高度重新渲染页面。

css">.example {padding: 20px;color: white;
}
/* 超小设备 (手机, 600px 以下屏幕设备) */
@media only screen and (max-width: 600px) {.example {background: red;}
}/* 小设备 (平板电脑和大型手机,600 像素及以上) */
@media only screen and (min-width: 600px) {.example {background: green;}
}/* 中型设备(平板电脑,768 像素及以上) */
@media only screen and (min-width: 768px) {.example {background: blue;}
} /* 大型设备(笔记本电脑/台式机,992 像素及以上) */
@media only screen and (min-width: 992px) {.example {background: orange;}
} /* 超大型设备(大型笔记本电脑和台式机,1200 像素及以上) */
@media only screen and (min-width: 1200px) {.example {background: pink;}
}

也可以针对不同的媒体使用不同样式文件 :

<!-- 宽度大于 900px 的屏幕使用该样式 -->
<link rel="stylesheet" media="screen and (min-width: 900px)" href="widescreen.css"><!-- 宽度小于或等于 600px 的屏幕使用该样式 -->
<link rel="stylesheet" media="screen and (max-width: 600px)" href="smallscreen.css">

弹性盒子布局 - flex

flex布局


网格布局 - grid

grid布局


背景效果

1. 多背景图

一个元素可以同时设置多个背景图像

css">div {  background-image: url('image1.jpg'), url('image2.png'); /* 设置两个背景图像 */  
}

2. 背景裁剪

background-clip:它决定了背景图像或颜色应该被裁剪到哪个区域

  • border-box:背景被裁剪到边框盒,即边框以内的区域。
  • padding-box:背景被裁剪到内边距框,即padding以内的区域。
  • content-box:背景被裁剪到内容框,即内容以内的区域。
css">/* 假设我们有一个类名为 .box 的元素 */  
.box {  width: 200px;  height: 200px;  padding: 20px;  border: 10px solid black;  /* 设置背景图像 */  background-image: url('path/to/your/image.jpg');  /* 设置背景裁剪区域为内容框 */  background-clip: content-box;  
}

3. 透明效果

rgba颜色模式:分为两部分,rgb为颜色值,a为透明度

css">div {  background-color: rgba(255, 0, 0, 0.5); /* 半透明的红色 */  
}

hsla:分为四部分,h为色相,s为饱和度,l为亮度,a为透明度

设置一个背景颜色为绿色(色相120度),50%的饱和度,75%的亮度,并且半透明(透明度0.5)的元素:

css">.element {  background: hsla(120, 50%, 75%, 0.5);  
}

opacity:指定不透明度。从0.0(完全透明)到1.0(完全不透明)

css">div2{opacity:0.5
}

http://www.ppmy.cn/embedded/6053.html

相关文章

Flutter 像素编辑器#03 | 像素图层

theme: cyanosis 本系列&#xff0c;将通过 Flutter 实现一个全平台的像素编辑器应用。源码见开源项目 【pix_editor】 《Flutter 像素编辑器#01 | 像素网格》《Flutter 像素编辑器#02 | 配置编辑》《Flutter 像素编辑器#03 | 像素图层》 上一篇我们实现了编辑配置&#xff0c;…

【PCL】教程conditional_euclidean_clustering 对输入的点云数据进行条件欧式聚类分析...

[done, 3349.09 ms : 19553780 points] Available dimensions: x y z intensity 源点云 Statues_4.pcd 不同条件函数output.pcd 【按5切换到强度通道可视化】 终端输出&#xff1a; Loading... >> Done: 1200.46 ms, 19553780 points Downsampling... >> Done: 411…

数据结构 -- 二叉树二叉搜索树

二叉树 二叉树是这么一种树状结构&#xff1a;每个节点最多有两个孩子&#xff0c;左孩子和右孩子 重要的二叉树结构 完全二叉树&#xff08;complete binary tree&#xff09;是一种二叉树结构&#xff0c;除最后一层以外&#xff0c;每一层都必须填满&#xff0c;填充时要遵…

机器学习预测汽车油耗效率 MPG

流程 数据获取导入需要的包引入文件,查看内容划分训练集和测试集调用模型查看准确率 数据获取 链接&#xff1a;https://pan.baidu.com/s/1KeIJykbcVpsfEk0xjhiICA?pwd30oe 提取码&#xff1a;30oe --来自百度网盘超级会员V1的分享导入需要的包 import pandas as pd imp…

CSS中的圆角和阴影

目录 盒子圆角 圆角基础使用 圆角常见使用 通过设置盒子圆角得到一个圆形 通过设置盒子圆角&#xff0c;得到一个“操场”的样式 盒子阴影 文字阴影 盒子圆角 圆角基础使用 在 CSS3 中&#xff0c;新增了圆角边框样式&#xff0c;这样我们的盒子就可以变圆角了。 使用…

分类算法——朴素贝叶斯(四)

概率基础 1概率定义 概率定义为一件事情发生的可能性 扔出一个硬币&#xff0c;结果头像朝上 P(X)&#xff1a;取值在[0&#xff0c;1] 2女神是否喜欢计算案例 在讲这两个概率之前我们通过一个例子&#xff0c;来计算一些结果&#xff1a; 问题如下&#xff1a; 1、女神喜欢…

《设计模式之美》第二章 总结

《设计模式之美》总结 第二章 面向对象编程范式 2.1 当我们在谈论面向对象时&#xff0c;我们在谈什么 2.1.1 面向对象编程和面向对象编程语言 面向对象编程语言&#xff1a; 1. 以类或对象作为组织代码的基本单元&#xff0c;并将封装、继承、抽象、多态4个特性作为代码的…

设计模式之创建型模式详解

设计模式 创建型模式 创建型模式(Creational Pattern)对类的实例化过程进行了抽象&#xff0c;能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰&#xff0c;外界对于这些对象只需要知道它们共同的接口&#xff0c;而不清楚其具体的实现细节&#xff0…