1 章节目录
1.1 目标
- 边框
- 圆角
- 背景
1.2 重点
- 圆角
1.3 难点
- 圆角
2 边框
用 CSS3,你可以创建圆角边框,添加阴影框,并作为边界的形象而不使用设计程序,如 Photoshop。
2.1 圆角
在 CSS2 中添加圆角棘手。我们不得不在每个角落使用不同的图像。
在 CSS3 中,很容易创建圆角。
在 CSS3 中 border-radius
属性被用于创建圆角:
div.radius {
border: 2px solid red;
border-radius: 25px;
}
效果:
2.2 盒阴影
CSS3 中的 box-shadow
属性被用来添加阴影:
div.shadow {
border: 1px solid gray;
box-shadow: 10px 10px 5px #888888;
}
效果:
2.3 边界图片
有了 CSS3 的 border-image
属性,你可以使用图像创建一个边框。
用于创建边框的原始图像:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sfZNOqb4-1671716467695)(MD文档.assets\border.png)]
实例1:
div.round {
border: 15px solid transparent;
border-image: url('img/border.png') 30 30 round;
-webkit-border-image: url('img/border.png') 30 30 round;
-o-border-image: url('img/border.png') 30 30 round;
}
效果:
实例2:
div.stretch {
border: 15px solid transparent;
border-image: url('img/border.png') 30 30 stretch;
-webkit-border-image: url('img/border.png') 30 30 stretch;
-o-border-image: url('img/border.png') 30 30 stretch;
}
效果:
3 圆角
3.1 border-radius 属性
使用 CSS3 border-radius
属性,你可以给任何元素制作“圆角”。
实例:
div {
width: 200px;
height: 150px;
padding: 20px;
}
.radius1 {
color: white;
background: green;
border-radius: 25px;
}
.radius2 {
border-radius: 25px;
border: 2px solid green;
}
.radius3 {
border-radius: 25px;
background: url('img/paper.gif');
background-position: left top;
background-repeat: repeat;
}
效果:
3.2 指定每个圆角
CSS 拥有用于为元素的每个角指定圆角的属性:
border-radius: 15px 50px 30px 5px;
:左上角为15px,右上角为50px,右下角为30px,左下角为5px。border-radius: 15px 50px 30px;
:左上角为15px,右上角和左下角为50px,右下角为30px。border-radius: 15px 50px;
:左上角和右下角为15px,右上角和左下角为50px。border-radius: 15px;
:四个角都是15px。
实例:
.radius4 {
color: white;
background: green;
border-radius: 15px 50px 30px 5px;
}
.radius5 {
color: white;
background: green;
border-radius: 15px 50px 30px;
}
.radius6 {
color: white;
background: green;
border-radius: 15px 50px;
}
.radius7 {
color: white;
background: green;
border-radius: 15px;
}
效果:
3.3 椭圆边角
实例:
.radius8 {
color: white;
background: green;
border-radius: 50px/15px;
}
.radius9 {
color: white;
background: green;
border-radius: 15px/50px;
}
.radius10 {
color: white;
background: green;
border-radius: 50%;
}
效果:
3.4 圆形边角
我们经常需要使用圆角来显示用户头像:
.avatar {
width: 200px;
height: 200px;
display: inline-block;
border-radius: 50%;
background: url('img/avatar.jpg');
background-size: contain;
}
效果:
4 背景
CSS3 中包含几个新的背景属性,提供更大背景元素控制。
4.1 background-image 属性
CSS3 中可以通过 background-image
属性添加背景图片。
不同的背景图像和图像用逗号隔开,所有的图片中显示在最顶端的为第一张。
实例:
.example1 {
width: 700px;
overflow: auto;
padding: 5px 10px;
background-image: url('img/flower.gif'), url('img/paper.gif');
background-position: right bottom, left top;
background-repeat: no-repeat, repeat;
}
效果:
学历职业教育与非学历职业教育“两开花”
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。前者包含中等职业教育及高等职业教育,以公办院校为主民办院校为辅,后者根据培训目的不同,分为企业管理培训(如财务、人力资源管理等)、职业技能培训(如IT类、语言类等)和职业考试培训(如公考、教职、财会、司法及医护等),以民办机构为主。
2021年职业教育行业重磅政策频出,职业教育教育各细分板块的政策导向逐步明晰。传习邦认为,随着多项职业教育利好政策颁布,在政策需求、市场需求和个人成长需求的共同推动下,职业教育在未来将发生巨大的变化。
4.2 background-size 属性
background-size
指定背景图像的大小。CSS3 以前,背景图像大小由图像的实际大小决定。
CSS3 中可以指定背景图片,让我们重新在不同的环境中指定背景图片的大小。你可以指定像素或百分比大小。
你指定的大小是相对于父元素的宽度和高度的百分比的大小。
实例:
.example2 {
width: 400px;
overflow: auto;
padding: 5px 10px;
background-image: url('img/flower.gif');
background-size: 100% 100%;
background-repeat: no-repeat;
}
效果:
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。
4.3 background-origin 属性
background-origin
属性指定了背景图像的位置区域。
content-box、padding-box 和 border-box 区域内可以放置背景图像。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KEOIzwsP-1671716467696)(MD文档.assets\background-origin.gif)]
在 content-box 中定位背景图片:
.example3 {
width: 400px;
overflow: auto;
padding: 10px;
border: 10px solid rgba(255, 0, 0, 0.1);
background-color: rgba(0, 120, 0, 0.1);
background-image: url('img/flower_small.gif');
background-repeat: no-repeat;
background-position: left center;
}
.example3-padding {
background-origin: padding-box; // 默认值
}
.example3-content {
background-origin: content-box;
}
.example3-border {
background-origin: border-box;
}
background-origin: padding-box;
(默认值):
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。
background-origin: border-box;
:
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。
4.4 background-clip 属性
CSS3 中 background-clip
背景剪裁属性是从指定位置开始绘制。
实例:
.example4 {
width: 400px;
overflow: auto;
padding: 15px;
border: 10px dotted blue;
background-color: lightskyblue;
}
.example4-border {
background-clip: border-box; // 默认值
}
.example4-content {
background-clip: content-box;
}
.example4-padding {
background-clip: padding-box;
}
background-clip: border-box;
(默认值):
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。
background-clip: content-box;
:
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。
background-clip: padding-box;
:
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。
- 边框
- 圆角
- 背景
background-clip: padding-box;
:
职业教育作为以就业为导向的教育类型,其目的在于培养更适应社会发展的人才。而从导向上来看,政策也更倾向于鼓励、支持和引导职业教育和高等教育发展。根据是否颁发学历证书,可以将中国职业教育体系分为学历职业教育和非学历职业教育两类。
- 边框
- 圆角
- 背景
1 章节目录
1.1 目标
- 过渡
- 动画
1.2 重点
- 过渡
1.3 难点
- 动画
2 过渡
CSS3中,我们为了添加某种效果可以从一种样式转变到另一个的时候,无需使用Flash动画或JavaScript。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z6ogCMLc-1671716566399)(MD文档.assets\transition.gif)]
2.1 它是如何工作的?
CSS3 过渡是元素从一种样式逐渐改变为另一种的效果。
要实现这一点,必须规定两项内容:
- 指定要添加效果的CSS属性
- 指定效果的持续时间。
示例代码如下:
div {
width: 100px;
height: 100px;
background: red;
transition: width 2s;
-webkit-transition: width 2s;
-o-transition: width 2s;
}
如果未指定的期限,transition 将没有任何效果,因为默认值是 0。
定的CSS属性的值更改时效果会发生变化。一个典型CSS属性的变化是用户鼠标放在一个元素上时:
div:hover {
width: 200px;
}
示例效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XToMbFCz-1671716566400)(MD文档.assets\transition-1.gif)]
2.2 多项改变
要添加多个样式的变换效果,添加的属性由逗号分隔。
示例代码如下:
div.transition {
width: 100px;
height: 100px;
color: white;
text-align: center;
transform: rotateZ(0deg);
background: red;
transition: width 2s, height 2s, transform 2s;
-webkit-transition: width 2s, height 2s, transform 2s;
-o-transition: width 2s, height 2s, transform 2s;
}
div.transition:hover {
width: 300px;
height: 300px;
transform: rotateZ(45deg);
}
示例效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-43wY48AQ-1671716566400)(MD文档.assets\transition-2.gif)]
2.3 速度曲线
transition-timing-function
属性规定过渡效果的速度曲线。
transition-timing-function 属性可接受以下值:
ease
- 规定过渡效果,先缓慢地开始,然后加速,然后缓慢地结束(默认)linear
- 规定从开始到结束具有相同速度的过渡效果ease-in
-规定缓慢开始的过渡效果ease-out
- 规定缓慢结束的过渡效果ease-in-out
- 规定开始和结束较慢的过渡效果cubic-bezier(n,n,n,n)
- 允许您在三次贝塞尔函数中定义自己的值
下面的例子展示了可以使用的一些不同的速度曲线:
div {
width: 200px;
height: 50px;
color: white;
text-align: center;
background: red;
transition: width 2s;
-webkit-transition: width 2s;
-o-transition: width 2s;
}
div:hover {
width: 300px;
}
.timing1 {
transition-timing-function: linear;
}
.timing2 {
transition-timing-function: ease;
}
.timing3 {
transition-timing-function: ease-in;
}
.timing4 {
transition-timing-function: ease-out;
}
.timing5 {
transition-timing-function: ease-in-out;
}
示例效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GnIyhyVb-1671716566400)(MD文档.assets\transition-3.gif)]
2.4 延迟过渡效果
transition-delay
属性规定过渡效果的延迟(以秒计)。
下例在启动之前有 1 秒的延迟:
div {
transition-delay: 1s;
}
示例效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PqlpZzib-1671716566401)(MD文档.assets\transition-4.gif)]
2.5 简写属性
实例:
div {
transition-property: width;
transition-duration: 2s;
transition-timing-function: linear;
transition-delay: 2s;
}
以上样式可简写为:
div {
transition: width 2s linear 2s;
}
3 动画
CSS3 可以创建动画,它可以取代许多网页动画图像、Flash 动画和 JavaScript 实现的效果。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AaNB4PtG-1671716566401)(MD文档.assets\animation.gif)]
3.1 什么是 CSS 动画?
动画使元素逐渐从一种样式变为另一种样式。
您可以随意更改任意数量的 CSS 属性。
如需使用 CSS 动画,您必须首先为动画指定一些关键帧。
关键帧包含元素在特定时间所拥有的样式。
3.2 @keyframes 规则
如果你在 @keyframes
规则中指定了 CSS 样式,动画将在特定时间逐渐从当前样式更改为新样式。
要使动画生效,必须将动画绑定到某个元素。
示例效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sEgMCA8Z-1671716566401)(MD文档.assets\keyframes-1.gif)]
示例代码如下:
/* 动画代码 */
@keyframes example1 {
from {
background-color: red;
}
to {
background-color: yellow;
}
}
/* 应用动画的元素 */
.example1 {
animation-name: example1;
animation-duration: 4s;
}
animation-duration
属性定义需要多长时间才能完成动画。如果未指定animation-duration
属性,则动画不会发生,因为默认值是 0s(0秒)。
在上面的例子中,通过使用关键字“from”和“to”(代表 0%(开始)和 100%(完成)),我们设置了样式何时改变。
你也可以使用百分比值。通过使用百分比,你可以根据需要添加任意多个样式更改。
下面的例子将在动画完成 25%,完成 50% 以及动画完成 100% 时更改 <div> 元素的背景颜色:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SvWXhLB7-1671716566401)(MD文档.assets\keyframes-2.gif)]
示例代码如下:
/* 动画代码 */
@keyframes example2 {
0% {
background-color: red;
}
25% {
background-color: yellow;
}
50% {
background-color: blue;
}
100% {
background-color: green;
}
}
/* 应用动画的元素 */
.example2 {
animation-name: example2;
animation-duration: 4s;
}
下面的例子将在动画完成 25%,完成 50% 以及动画完成 100% 时更改背景颜色和 <div> 元素的位置:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cy8I7JWT-1671716566402)(MD文档.assets\keyframes-3.gif)]
实例代码如下:
/* 动画代码 */
@keyframes example3 {
0% {
background-color: red;
left: 0px;
top: 0px;
}
25% {
background-color: yellow;
left: 200px;
top: 0px;
}
50% {
background-color: blue;
left: 200px;
top: 200px;
}
75% {
background-color: green;
left: 0px;
top: 200px;
}
100% {
background-color: red;
left: 0px;
top: 0px;
}
}
/* 应用动画的元素 */
.example3 {
animation-name: example3;
animation-duration: 4s;
}
3.3 延迟动画
animation-delay
属性规定动画开始的延迟时间。
示例1:
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
}
@keyframes example1 {
from {
background-color: red;
}
to {
background-color: yellow;
}
}
.example1 {
animation-name: example1;
animation-duration: 4s;
animation-delay: 2s;
}
负值也是允许的。如果使用负值,则动画将开始播放,如同已播放 N 秒。
示例2:
@keyframes example2 {
from {
background-color: red;
}
to {
background-color: yellow;
}
}
.example2 {
animation-name: example2;
animation-duration: 4s;
animation-delay: -2s;
}
示例效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GSDy4sNB-1671716566402)(MD文档.assets\keyframes-4.gif)]
3.4 运行次数
animation-iteration-count
属性指定动画应运行的次数。
实例:
@keyframes example {
from {
background-color: red;
}
to {
background-color: yellow;
}
}
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
animation-iteration-count: 3;
}
3.5 反向或交替运行动画
animation-direction
属性指定是向前播放、向后播放还是交替播放动画。
animation-direction 属性可接受以下值:
normal
- 动画正常播放(向前)。默认值reverse
- 动画以反方向播放(向后)alternate
- 动画先向前播放,然后向后alternate-reverse
- 动画先向后播放,然后向前
实例:
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
animation-direction: reverse;
}
3.6 速度曲线
animation-timing-function
属性规定动画的速度曲线。
animation-timing-function 属性可接受以下值:
ease
- 指定从慢速开始,然后加快,然后缓慢结束的动画(默认)linear
- 规定从开始到结束的速度相同的动画ease-in
- 规定慢速开始的动画ease-out
- 规定慢速结束的动画ease-in-out
- 指定开始和结束较慢的动画cubic-bezier(*n*,*n*,*n*,*n*)
- 运行您在三次贝塞尔函数中定义自己的值
下面这些例子展示了可以使用的一些不同速度曲线:
div {
width: 200px;
height: 50px;
color: white;
text-align: center;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
}
@keyframes example {
from {
background-color: red;
}
to {
background-color: yellow;
}
}
.example1 {
animation-timing-function: linear;
}
.example2 {
animation-timing-function: ease;
}
.example3 {
animation-timing-function: ease-in;
}
.example4 {
animation-timing-function: ease-out;
}
.example5 {
animation-timing-function: ease-in-out;
}
示例效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Dw1j4Is-1671716566402)(MD文档.assets\keyframes-5.gif)]
3.7 填充模式
CSS 动画不会在第一个关键帧播放之前或在最后一个关键帧播放之后影响元素。animation-fill-mode
属性能够覆盖这种行为。
在不播放动画时(在开始之前,结束之后,或两者都结束时),animation-fill-mode 属性规定目标元素的样式。
animation-fill-mode 属性可接受以下值:
none
- 默认值。动画在执行之前或之后不会对元素应用任何样式。forwards
- 元素将保留由最后一个关键帧设置的样式值(依赖 animation-direction 和 animation-iteration-count)。backwards
- 元素将获取由第一个关键帧设置的样式值(取决于 animation-direction),并在动画延迟期间保留该值。both
- 动画会同时遵循向前和向后的规则,从而在两个方向上扩展动画属性。
实例:
@keyframes example {
from {
background-color: red;
}
to {
background-color: yellow;
}
}
div {
width: 100px;
height: 100px;
position: relative;
background-color: red;
animation-name: example;
animation-duration: 4s;
animation-fill-mode: forwards;
}
3.8 简写属性
实例:
div {
animation-name: example;
animation-duration: 4s;
animation-timing-function: linear;
animation-delay: 2s;
animation-iteration-count: infinite;
animation-direction: alternate;
}
以上样式可以简写为:
div {
animation: example 4s linear 2s infinite alternate;
}
4 章节总结
- 过渡
- 动画