CSS3新特性

简介

继CSS2之后,CSS3增加了很多新的特性,虽然W3C仍在规范中,但是很多新的CSS3属性已经在很多现代浏览器中得到了支持。

CSS3边框

在CSS3中,可以创建圆角边框,添加边框阴影,设置边框图片,利用到的属性有:

  • border-radius(圆角)
  • box-shadow(阴影)
  • border-image(边框图片)

border-radius(圆角)

语法: border-radius: 1-4 length|% / 1-4 length|%

注意: 每个半径的四个值的顺序是:左上角,右上角,右下角,左下角。如果省略左下角,右上角是相同的。如果省略右下角,左上角是相同的。如果省略右上角,左上角是相同的。

box-shadow(阴影)

语法: box-shadow: h-shadow v-shadow blur spread color inset;

注意:boxShadow 属性把一个或多个下拉阴影添加到框上。该属性是一个用逗号分隔阴影的列表,每个阴影由 2-4 个长度值、一个可选的颜色值和一个可选的 inset 关键字来规定。省略长度的值是 0。

说明
h-shadow必需的。水平阴影的位置。允许负值
v-shadow必需的。垂直阴影的位置。允许负值
blur可选。模糊距离
spread可选。阴影的大小
color可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表
inset可选。从外层的阴影(开始时)改变阴影内侧阴影

border-image(边框图片)

语法: border-image: source slice width outset repeat|initial|inherit;

说明
border-image-source必用于指定要用于绘制边框的图像的位置
border-image-slice图像边界向内偏移
border-image-width图像边界的宽度
border-image-outset用于指定在边框外部绘制 border-image-area 的量
border-image-repeat用于设置图像边界是否应重复(repeat)、拉伸(stretch)或铺满(round)。
实例

试一试: http://jsrun.net/q2aKp/edit

CSS3背景

CSS3 中包含几个新的背景属性,提供更大背景元素控制。

background-image(with multiple backgrounds)

background-size

语法:background-size: length|percentage|cover|contain;

background-size指定背景图像的大小。CSS3以前,背景图像大小由图像的实际大小决定。
CSS3中可以指定背景图片,让我们重新在不同的环境中指定背景图片的大小。您可以指定像素或百分比大小。
你指定的大小是相对于父元素的宽度和高度的百分比的大小。

background-origin

语法: background-origin: padding-box|border-box|content-box;

background-origin 属性指定了背景图像的位置区域。
content-box, padding-box,和 border-box区域内可以放置背景图像。

background-clip

语法: background-clip: border-box|padding-box|content-box;

CSS3中background-clip背景剪裁属性是从指定位置开始绘制。

实例

试一试: http://jsrun.net/i6aKp/edit

CSS3 渐变(Gradients)

CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡。
CSS3渐变分为线性渐变和径向渐变。
线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向
径向渐变(Radial Gradients)- 由它们的中心定义

线性渐变

了解Photoshop的朋友都线性渐变应该很不陌生,就是线性的从一种颜色过渡到另一种颜色。
为了创建一个线性渐变,你必须至少定义两种颜色节点。颜色节点即你想要呈现平稳过渡的颜色。同时,你也可以设置一个起点和一个方向(或一个角度)。

语法:
background-image: linear-gradient(direction, color-stop1, color-stop2, …);

线性渐变默认是“从上到下”, 也可以设置“从左到右”、“对角”、“使用角度”、“使用多个颜色节点”、“使用透明度”、“重复的线性渐变”。

实例

试一试: http://jsrun.net/K8aKp/edit

径向渐变

径向渐变由它的中心定义。
为了创建一个径向渐变,你也必须至少定义两种颜色节点。颜色节点即你想要呈现平稳过渡的颜色。同时,你也可以指定渐变的中心、形状(圆形或椭圆形)、大小。默认情况下,渐变的中心是 center(表示在中心点),渐变的形状是 ellipse(表示椭圆形),渐变的大小是 farthest-corner(表示到最远的角落)。

语法
background-image: radial-gradient(shape size at position, start-color, …, last-color);

径向渐变默认是“颜色节点均匀分布”, 也可以设置“颜色节点不均匀分布”,“设置形状”(circle|ellipse),“重复径向”。
参数说明:
size 参数定义了渐变的大小。它可以有四个值:closest-side、farthest-side、closest-corner、farthest-corner

实例

试一试: http://jsrun.net/i8aKp/edit

CSS3 文本效果

属性说明

属性说明CSS支持程度
hanging-punctuation规定标点字符是否位于线框之外3主流不支持
punctuation-trim规定是否对标点字符进行修剪3主流不支持
text-align-last设置如何对齐最后一行或紧挨着强制换行符之前的行3Safari不支持
text-emphasis向元素的文本应用重点标记以及重点标记的前景色3主流不支持
text-justify规定当 text-align 设置为 “justify” 时所使用的对齐方法3主流不支持
text-outline规定文本的轮廓3主流不支持
text-overflow规定当文本溢出包含元素时发生的事情3主流支持
text-shadow规定文本的换行规则3主流支持
text-wrap规定标点字符是否位于线框之外3主流不支持
word-break规定非中日韩文本的换行规则3主流支持
word-wrap允许对长的不可分割的单词进行分割并换行到下一行3主流支持

主流支持的属性说明

text-overflow

语法:text-overflow: clip|ellipsis|string;

描述
clip修剪文本
ellipsis显示省略符号来代表被修剪的文本
string(暂不支持)使用给定的字符串来代表被修剪的文本
实例

试一试: http://jsrun.net/NUaKp/edit

text-shadow

语法:text-shadow: h-shadow v-shadow blur color;

描述
h-shadow必需。水平阴影的位置。允许负值
v-shadow必需。垂直阴影的位置。允许负值
blur可选。模糊的距离
color可选。阴影的颜色
实例

试一试: http://jsrun.net/L9aKp/edit

word-break

语法:word-break: normal|break-all|keep-all;

描述
normal使用浏览器默认的换行规则
break-all允许在单词内换行
keep-all只能在半角空格或连字符处换行
实例

试一试: http://jsrun.net/69aKp/edit

word-wrap

语法:word-wrap: normal|break-word;

描述
normal只在允许的断字点换行(浏览器保持默认处理)
break-word在长单词或URL 地址内部进行换行
实例

试一试: http://jsrun.net/w9aKp/edit

CSS3 2D转换

转换属性

属性描述
transform标准:适用于2D或3D转换的元素
-ms-transformIE 9:适用于2D或3D转换的元素
-webkit-transformSafari:适用于2D或3D转换的元素
transform-origin允许您更改转化元素位置

属性说明-transform

语法:transform: none|transform-functions;

transform-functions(2D)

方法说明
none定义不进行转换
matrix(n,n,n,n,n,n)定义 2D 转换,使用六个值的矩阵;matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() )
translate(x,y)定义 2D 转换,沿着 X 和 Y 轴移动元素
translateX(n)定义 2D 转换,沿着 X 轴移动元素
translateY(n)定义 2D 转换,沿着 Y 轴移动元素
scale(x,y)定义 2D 缩放转换,改变元素的宽度和高度
scaleX(n)定义 2D 缩放转换,改变元素的宽度
scaleY(n)定义 2D 缩放转换,改变元素的高度
rotate(angle)定义 2D 旋转,在参数中规定角度
skew(x-angle,y-angle)定义 2D 倾斜转换,沿着 X 和 Y 轴
skewX(angle)定义 2D 倾斜转换,沿着 X 轴
skewY(angle)定义 2D 倾斜转换,沿着 Y 轴
实例

试一试: http://jsrun.net/GeaKp/edit

属性说明-transform-origin

该属性需要配合transform属性使用,单独使用不生效

语法:transform-origin: x-axis y-axis z-axis;

说明
x-axis定义视图被置于 X 轴的何处。可能的值:left、center、right、length、%
y-axis定义视图被置于 Y 轴的何处。可能的值:top、center、bottom、length、%
z-axis定义视图被置于 Z 轴的何处。可能的值:length
实例

试一试: http://jsrun.net/QQaKp/edit

CSS3 3D转换

转换属性

属性描述
transform标准:适用于2D或3D转换的元素
transform-origin允许您更改转化元素位置
transform-style规定被嵌套元素如何在 3D 空间中显示
perspective规定 3D 元素的透视效果
perspective-origin规定 3D 元素的底部位置
backface-visibility定义元素在不面对屏幕时是否可见

3D转换方法(transform)

方法说明
none定义不进行转换
matrix3d(n,n,n,n,n,n,
n,n,n,n,n,n,n,n,n,n)定义 3D 转换,使用 16 个值的 4x4 矩阵
translate3d(x,y,z)定义 3D 转换
translateX(n)定义 3D 转换,沿着 X 轴移动元素
translateY(n)定义 3D 转换,沿着 Y 轴移动元素
translateZ(n)定义 3D 转换,沿着 Z 轴移动元素
scale3d(x,y,z)定义 3D 缩放转换
scaleX(n)定义 3D 缩放转换,改变元素的宽度
scaleY(n)定义 3D 缩放转换,改变元素的高度
scaleZ(n)定义 3D 缩放转换,改变元素的高度
rotate3d(x,y,z, angle)定义 3D 旋转
rotateX(angle)定义沿 X 轴的 3D 旋转
rotateY(angle)定义沿 Y 轴的 3D 旋转转
rotateZ(angle)定义沿 Z 轴的 3D 旋转
perspective(n)定义 3D 转换元素的透视视图

试一试: https://c.runoob.com/codedemo/3391

CSS3 过渡

CSS3中,添加过渡,使某种效果可以从一种样式逐渐转变到另一种的时候,无需使用Flash动画或JavaScript。

要实现这一点,必须定义两项内容:

  • 指定要添加效果的CSS属性
  • 指定效果的持续时间
div
{
    transition: width 2s;
    -webkit-transition: width 2s; /* Safari */
}

当存在多个属性时,利用","分开

div
{
    transition: width 2s, height 2s;
    -webkit-transition: width 2s; /* Safari */
}

过渡属性

属性描述
transition简写属性,用于在一个属性中设置四个过渡属性
transition-property规定应用过渡的 CSS 属性的名称
transition-duration定义过渡效果花费的时间。默认是 0
transition-timing-function规定过渡效果的时间曲线。默认是 “ease”
transition-delay规定过渡效果何时开始。默认是 0

transition-timing-function 属性

transition-timing-function: linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n);

属性描述
linear规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))
ease规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))
ease-in规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))
ease-out规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))
ease-in-out规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))
cubic-bezier(n,n,n,n)在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值
实例

试一试:https://www.runoob.com/try/try.php?filename=trycss3_transition-timing-function2

CSS3 动画

CSS3 @keyframes 规则

@keyframes 规则是创建动画
@keyframes 规则内指定一个 CSS 样式和动画将逐步从目前的样式更改为新的样式

CSS3 动画

当在 @keyframes 创建动画,把它绑定到一个选择器,否则动画不会有任何效果。
指定至少这两个CSS3的动画属性绑定向一个选择器:

  • 规定动画的名称
  • 规定动画的时长

CSS3的动画属性

属性描述
@keyframes规定动画
animation所有动画属性的简写属性
animation-name规定 @keyframes 动画的名称
animation-duration规定动画完成一个周期所花费的秒或毫秒。默认是 0
animation-timing-function规定动画的速度曲线。默认是 “ease”
animation-fill-mode规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式
animation-delay规定动画何时开始。默认是 0
animation-iteration-count规定动画被播放的次数。默认是 1
animation-direction规定动画是否在下一周期逆向地播放。默认是 “normal”
animation-play-state规定动画是否正在运行或暂停。默认是 “running”
实例

试一试:
https://www.runoob.com/try/try.php?filename=trycss3_animation4

关于我

  • 一个推崇全栈开发的前端开发人员

  • 微信: itrzzh

  • 公众号:全栈道

  • 个人网站:https://www.iotzzh.com

  • 知识星球:全栈道

  • B站:https://space.bilibili.com/285025688

  • 抖音:全栈道

  • github:https://github.com/iotzzh

  • gitee: https://gitee.com/iotzzh

捐赠鼓励

开源不易,如果《全栈道》对你有些帮助,可以请作者喝杯咖啡,算是对开源做出的一点点鼓励吧!

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

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

相关文章

页面锚点使用

以下代码直接复制使用 <template><div style"height: 100%;"><div style"display: flex;height: 100%;"><div style"width: 200px;border: 1px solid pink;"><div v-for"(item, index) in titleList" :ke…

NVMe管理命令为何不用SGL?-1

上周末在公众号后台收到粉丝留言&#xff0c;主要是关于SGL的交流&#xff1a;“SGL为啥不能用于nvme admin cmd”&#xff1f; 回答这个问题前&#xff0c;首先&#xff0c;我们先回顾下NVME PRP和SGL的基本原理以及应用场景。 在Host与Controller之间有数据交互时&#xff0…

软件测试零基础新手入门必看

软件测试&#xff1a;使用技术手段验证软件是否满足使用需求 目的&#xff1a;减少缺陷&#xff0c;保证质量 一、测试主流技能&#xff1a; 1.功能测试 测试主要验证程序的功能是否满足需求 2.自动化测试 使用工具或代码代替手工&#xff0c;对项目进行测试 3.接口测试 …

小迪安全32WEB 攻防-通用漏洞文件上传二次渲染.htaccess变异免杀

#知识点&#xff1a; 1、文件上传-二次渲染 2、文件上传-简单免杀变异 3、文件上传-.htaccess 妙用 4、文件上传-PHP 语言特性 #详细点&#xff1a; 1、检测层面&#xff1a;前端&#xff0c;后端等 2、检测内容&#xff1a;文件头&#xff0c;完整性&#xff0c…

常用SQL查询方法与实例

目录 SELECT查询 INSERT查询 UPDATE查询 DELETE查询 JOIN查询 GROUP BY查询 HAVING查询 窗口函数 公共表表达式&#xff08;CTEs&#xff09; 递归查询 透视表 分析函数 解透视 条件聚合 日期函数 合并语句 情况语句 常用SQL查询方法有以下几种&#xff1a; S…

OWASP Top 10 网络安全10大漏洞——A02:A02:2021-加密机制失效

10大Web应用程序安全风险 2021年top10中有三个新类别、四个类别的命名和范围变化&#xff0c;以及一些合并。 A02&#xff1a;A02:2021-加密机制失效 上升一个位置&#xff0c;当前top2&#xff0c;以前称为敏感数据泄露&#xff0c;是一种状况而不是根本原因。更新后的类别…

算法学习03:前缀和与差分(互逆)

算法学习03&#xff1a;前缀和与差分&#xff08;互逆&#xff09; 文章目录 算法学习03&#xff1a;前缀和与差分&#xff08;互逆&#xff09;前言一、前缀和1.一维2.二维 二、差分1.一维在这里插入图片描述2.二维在这里插入图片描述 ![在这里插入图片描述](https://img-blog…

嵌入式驱动学习第一周——阻塞IO,进程的休眠与唤醒

前言 本文介绍进程的休眠与唤醒。 嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程&#xff0c;未来预计四个月将高强度更新本专栏&#xff0c;喜欢的可以关注本博主并订阅本专栏&#xff0c;一起讨论一起学习。现在关注就是老粉啦&#xff01; 行文目录 前言1. 阻塞和非阻…

【TEE】内存完整性保护

Hash Functions&Merkle Tree 对读操作进行完整性检查&#xff0c;通过在加载的块上重新计算一个哈希&#xff0c;然后根据片外地址将得到的哈希与片上哈希比较。 缺点&#xff1a;不可承受的片上存储开销&#xff0c;并假设128位哈希和512位cache line&#xff0c;其开销为…

基于springboot+vue的实习管理系统

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

8个优秀的CSS实践,开发web应用

HTML面试题部分 1.H5的新特性有哪些 2.Label的作用是什么&#xff1f;是怎么用的&#xff1f; 3.HTML5的form如何关闭自动完成功能 4.dom如何实现浏览器内多个标签页之间的通信? 5.实现不使用 border 画出1px高的线&#xff0c;在不同浏览器的标准模式与怪异模式下都 能保持一…

Qt/自定义控件的封装

新建文件&#xff0c;选择Qt设计师界面类 创建空界面 这是自己控件封装的文件&#xff0c;双击跳转到设计界面进行设计 跳转到其他的ui界面&#xff0c;创建一个widget 右键&#xff0c;选择提升为 在提升的类名称输入刚刚创建的类名&#xff0c;添加后选择提升&#xff0c;勾选…

FairTune:优化参数高效微调以实现医学图像分析的公平性

paper&#xff1a;https://arxiv.org/abs/2310.05055 code&#xff1a; https://github.com/Raman1121/FairTune 摘要和介绍 人工智能在医疗健康应用中的应用正在迅速增长。然而&#xff0c;人工智能模型一再被证明对不同的人口统计学亚群体表现出不必要的偏见——AI模型在由…

【暗月安全】2021年渗透测试全套培训视频

参与培训需要遵守国家法律法规&#xff0c;相关知识只做技术研究&#xff0c;请勿用于违法用途&#xff0c;造成任何后果自负与本人无关。 中华人民共和国网络安全法&#xff08;2017 年 6 月 1 日起施行&#xff09; 第二十二条 任何个人和组织不得从事入侵他人网络、干扰他…

数据结构之七大排序

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary_walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…

Kubernetes Service

一、Service&#xff1a;Kubernetes 中的服务返现与负载均衡 1、为什么需要服务发现 Pod 生命周期短暂&#xff0c;IP 地址随时变化。 Deployment 等的 Pod 组需要统一访问入口和做负载均衡。 应用间在不同环境部署时保持同样的部署拓扑和访问方式。 2、应用服务如何暴露到…

停止Tomcat服务的方式

运行脚本文件停止 运行Tomcat的bin目录中提供的停止服务的脚本文件 关闭命令 # sh方式 sh shutdown.sh# ./方式 ./shutdown.sh操作步骤 运行结束进程停止 查看Tomcat进程&#xff0c;获得进程id kill进程命令 # 执行命令结束进程 kill -9 65358 操作步骤 注意 kill命令是…

简单的排序算法

目录 1.直接插入排序 2.希尔排序 3.选择排序 4.冒泡排序 5.计数排序 6.排序总结 1.直接插入排序 &#xff08;1&#xff09;思想 所谓插入排序&#xff0c;就是将待排序数据插入到已经有序的数据中&#xff0c;为了使插入后数据依然有序&#xff0c;就要选中一个合理的…

android开发网络通信,带你彻底搞懂Android启动速度优化

实现方案 直接依赖 这种方式实现简单&#xff0c;但是耦合太严重&#xff0c;不方便维护与开发&#xff0c;当工程逐渐增大模块逐渐增多&#xff0c;依赖关系会非常复杂&#xff0c;不推荐这种方式。 事件或广播通信 EventBus&#xff1a; 我们非常熟悉的事件总线型的通信框…

JavaScript的`bind`方法:函数的“复制”与“定制”

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…