一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

2022-12-17 0 302

序言

他们好,本该文是如是说css3新优点之式样、示例、色调蓝紫色、2D切换、3D切换等API用语。那些用语也是他们合作开发中必不可少的许多此基础,他们千万别鄙视它。

CSS3概要

CSS3是竹节式样表词汇的新一代版。它增添很多翘首以盼的新优点,除此之外CSS3增添的新优点被分成”组件“。比如捷伊示例、梯形、阴霾、蓝紫色、过渡阶段、动画电影。和捷伊产业布局形式

新优点之式样

css3之大背景

1.background-image

透过此属性加进RICOH。相同的大背景影像和影像用双引号分隔,第二个增设的总有一天表明在最顶部

body{ background-image: url(images/hello2.jpeg),url(images/timg.jpeg); background-repeat: no-repeat,repeat; background-position: center top,center top; }

能给相同的相片增设数个相同的特性

body{ background: url(images/hello2.jpeg) no-repeat center top,url(images/timg.jpeg) repeat center top; }

2.background-size

该特性选定大背景影像的大小不一。CSS3以后,大背景影像大小不一由影像的前述大小不一下定决心。

CSS3中能选定RICOH的大小不一,选定的大小不一是父原素的长度和度的比率的大小不一

句法:

background-size: cover|contain;
cover 将RICOH按照原本的翻转比,将整座罐子挂满contain 将RICOH依照原本的翻转比,顺利完成表明到罐子中

大背景影像全然充填文本地区

div{ width: 400px; height: 400px; background: url(images/hello2.jpeg) no-repeat; background-size: 100% 100%; }

例子:增设大的大背景图,并且随着拉伸浏览器大背景图跟着等比例翻转

body{ background-image: url(images/hello.jpeg); background-size: cover; }

例子:增设大的大背景图,并且随着拉伸浏览器大背景图跟着等比例翻转

body{ background-image: url(images/hello.jpeg); background-size: cover; }

3.background-origin

该特性选定大背景影像的位置地区

content-box,padding-box和border-box地区内能放置大背景影像。

div{ width: 400px; height: 400px; padding: 20px; border: 10px solid #ff0000; background: url(images/hello2.jpeg) no-repeat; background-size: 100% 100%; background-origin: content-box; }

效果表明:

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

4.background-clip

选定绘图地区的大背景

div{ width: 400px; height: 400px; padding: 20px; border: 10px solid #ff0000; background-clip: content-box; background-color: yellow; }

效果表明:会发现只有文本地区有大背景色。

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

css3之边框

box-shadow 阴霾

为原素加进阴霾

句法

box-shodow: 水平阴霾的位置 垂直阴霾的位置 模糊程度 阴霾大小不一 色调 内阴霾|外阴霾

.box{ width: 200px; height: 200px; background-color: red; margin: 100px auto; box-shadow: 20px 30px 50px 20px #008B8B; }

效果表明:

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

border-radius 梯形

给原素加进梯形的边框

border-radius: 10px 20px 30px 40px;

每个半径的四个值的顺序是:左上角,右上角,右下角,左下角

效果:

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

border-image 边框相片

border-image-source:url();//用于选定要勇于绘制边框的影像的位置 border-image-slice:10; //影像边界向内偏移 border-image-repeat: repeat(重复)|round(挂满)
/* 边框相片增设 */ border-image-source: url(images/border-img.jpeg); /* 影像边界向内偏移 */ border-image-slice: 20; /* 挂满 */ border-image-repeat: round; /* 重复 */ border-image-repeat: repeat;

效果:

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

css3之文本效果

text-shadow 文本阴霾

句法:

text-shadow: h-shadow v-shadow blur(可选) color(可选);
h1{ text-shadow: 2px 2px #ff0000; }

text-overflow 如何表明溢出文本

句法:

text-overflow:clip(修剪文本)|ellipsis(超出表明省略符号)

如何表明如下效果:

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

首先先让文本不换行,然后超出部分隐藏掉,最后再增设省略号

p{ width: 100px; height: 40px; line-height: 40px; border: 1px solid red; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

新优点之示例

特性示例

选中所有带有class特性的原素增设式样

[class]{ color: red; }

选中class=“active“的所有原素增设式样

[class=active]{ border: 1px solid #000; }

尤其是input,他们能很方便的透过特性示例选中

input[type=submit]{ } input[type=file]{ } ….

伪类和伪原素示例

1.a标签的爱恨准则 a:link{} 没有被访问过 a:visited{} 访问过后 a:hover{} 鼠标悬停 a:active{} 鼠标摁住 2.伪原素示例 ::after{ content:hello world } ::before{ content:”hello” }

其它示例

:first-child{} 第二个原素 :last-child{} 最后一个原素 :nth-child(n){} 当前选定的原素 :nth-child(2n){} 偶数 :nth-child(2n-1){} 奇数 :nth-child(xn+1){} 隔x-1行选中原素

新优点之色调蓝紫色

css3蓝紫色(gradients)能让两个或数个选定色调之间表明平稳的过渡阶段。以后表明色调蓝紫色是透过相片。但是,透过使用css3蓝紫色,你能减少下载的时间和宽带的使用。此外,蓝紫色效果的原素在放大时看起来效果更好。因为蓝紫色是由浏览器产生的。

线性蓝紫色

句法:

background: liner-gradient(方向,色调1,色调2,….);

线性蓝紫色-从上往下(默认)

background: -webkit-linear-gradient(red, blue); /* Safari 5.1 – 6.0 */ background: -o-linear-gradient(red, blue); /* Opera 11.1 – 12.0 */ background: -moz-linear-gradient(red, blue); /* Firefox 3.6 – 15 */ background: linear-gradient(red, blue); /* 标准的句法 */
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

线性蓝紫色-从左往右

background: -webkit-linear-gradient(left, red , blue); /* Safari 5.1 – 6.0 */ background: -o-linear-gradient(right, red, blue); /* Opera 11.1 – 12.0 */ background: -moz-linear-gradient(right, red, blue); /* Firefox 3.6 – 15 */ background: linear-gradient(to right, red , blue); /* 标准的句法 */
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

线性蓝紫色-对角

background: -webkit-linear-gradient(left top, red , blue); /* Safari 5.1 – 6.0 */ background: -o-linear-gradient(bottom right, red, blue); /* Opera 11.1 – 12.0 */ background: -moz-linear-gradient(bottom right, red, blue); /* Firefox 3.6 – 15 */ background: linear-gradient(to bottom right, red , blue); /* 标准的句法 */
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

使用角度

在蓝紫色的方向上做更多的操作,你能定义一个角度

角度是指水平线和蓝紫色线之间的角度,逆时针方向计算。换句话说,0deg 将创建一个从下到上的蓝紫色,90deg 将创建一个从左到右的蓝紫色。

background: -webkit-linear-gradient(180deg, red, blue); /* Safari 5.1 – 6.0 */ background: -o-linear-gradient(180deg, red, blue); /* Opera 11.1 – 12.0 */ background: -moz-linear-gradient(180deg, red, blue); /* Firefox 3.6 – 15 */ background: linear-gradient(180deg, red, blue); /* 标准的句法 */
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

重复的线性蓝紫色

/* Safari 5.1 – 6.0 */ background: -webkit-repeating-linear-gradient(red, yellow 10%, green 20%); /* Opera 11.1 – 12.0 */ background: -o-repeating-linear-gradient(red, yellow 10%, green 20%); /* Firefox 3.6 – 15 */ background: -moz-repeating-linear-gradient(red, yellow 10%, green 20%); /* 标准的句法 */ background: repeating-linear-gradient(red, yellow 10%, green 20%);
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

径向蓝紫色

径向蓝紫色由它的中心定义。

为了创建一个径向蓝紫色,你也必须至少定义两种色调结点。色调结点即你想要呈现平稳过渡阶段的色调。同时,你也能选定蓝紫色的中心、形状(圆形或椭圆形)、大小不一。默认情况下,蓝紫色的中心是 center(表示在中心点),蓝紫色的形状是 ellipse(表示椭圆形),蓝紫色的大小不一是 farthest-corner(表示到最远的角落)。

句法:
background:radial-gradient(center,形状 大小不一,开始的色调,….,最后的色调);

色调均匀分布(默认)

background: -webkit-radial-gradient(red, green, blue); /* Safari 5.1 – 6.0 */ background: -o-radial-gradient(red, green, blue); /* Opera 11.6 – 12.0 */ background: -moz-radial-gradient(red, green, blue); /* Firefox 3.6 – 15 */ background: radial-gradient(red, green, blue); /* 标准的句法 */
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

不均匀分布

background: -webkit-radial-gradient(red 5%, green 15%, blue 60%); /* Safari 5.1 – 6.0 */ background: -o-radial-gradient(red 5%, green 15%, blue 60%); /* Opera 11.6 – 12.0 */ background: -moz-radial-gradient(red 5%, green 15%, blue 60%); /* Firefox 3.6 – 15 */ background: radial-gradient(red 5%, green 15%, blue 60%); /* 标准的句法 */
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

增设形状

能透过第二个参数是circle或ellipse来定义当前的形状。其中ellipse是默认值。

background: -webkit-radial-gradient(circle, red, yellow, black); /* Safari 5.1 – 6.0 */ background: -o-radial-gradient(circle, red, yellow, black); /* Opera 11.6 – 12.0 */ background: -moz-radial-gradient(circle, red, yellow, black); /* Firefox 3.6 – 15 */ background: radial-gradient(circle, red, yellow, black 50%); /* 标准的句法 */
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

重复的径向蓝紫色

/* Safari 5.1 – 6.0 */ background: -webkit-repeating-radial-gradient(red, yellow 10%, green 15%); /* Opera 11.6 – 12.0 */ background: -o-repeating-radial-gradient(red, yellow 10%, green 15%); /* Firefox 3.6 – 15 */ background: -moz-repeating-radial-gradient(red, yellow 10%, green 15%); /* 标准的句法 */ background: repeating-radial-gradient(red, yellow 10%, green 15%);
一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

2D切换

Css3 准换能对原素进行移动、翻转、转动、拉长或拉伸

首先他们需要给原素增设transform特性

句法:

transform: 移动|翻转|转动|拉伸

translate()方法

该方法,根据x轴和y轴位置给定的参数,从当前原素移动。

transform:translate(30px,20px); -ms-transform: translate(30px,20px); -webkit-transform: translate(30px,20px);

水平反向移动30px,垂直方向移动20px,如果是负值表示反方向

rotate()方法

rotate()方法,在一个给定度数顺时针旋转的原素。负值是允许的,这样是原素逆时针旋转。

transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari and Chrome */

表示顺时针旋转30度

scale()方法

使原素增加或减小。取决于此方法的第二个参数(长度)和第二个参数(度)

句法:

transform:scale(2,3);

scale(2,3)转变长度为原本的大小不一的2倍,和其原始大小不一3倍的度。

skew()方法

句法:

transform: skew(x轴角度,y轴角度);
transform: skew(30deg,20deg); -ms-transform: skew(30deg,20deg); /* IE 9 */ -webkit-transform: skew(30deg,20deg); /* Safari and Chrome */

在x轴和y轴上倾斜20度和30度

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

3D切换

css3允许使用3D切换对元素进行格式化。

切换特性

perspective

在增设3D效果以后,要给父原素增设perspective特性,此值通常在600到1000之间。才能看出3D效果。通常该特性与perspective-origin特性一同使用,这样就能改变3D原素的地底部位置。

perspective:1000px;

perspective-origin

定义3D原素所基于的x轴和y轴。该特性允许改变3D原素的底部位置。

perspective-origin:50% 50%;

transform-style

选定嵌套原素是怎么样在三维空间中呈现。

注意:使用该特性必须先使用transform特性
transform-style: flat|preserve-3d
flat: 表示所有子原素在2D平面呈现preserve-3d: 表示所有子原素在3D空间中呈现

3D切换方法

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

示例:

<!DOCTYPE html> <html> <head> <meta charset=”utf-8″> <title></title> <style> .father { width: 1000px; height: 1000px; border: 1px solid #000000; /*定义透视*/ -webkit-perspective: 1000px; perspective-origin: 50% 50%; /*在3D空间中表明*/ transform-style: preserve-3d; margin: 0 auto; position: relative; } .box { width: 300px; height: 300px; background-color: rgba(0,0,0,0.5); position: absolute; top: 50%; left: 50%; margin-left: -150px; margin-top: -150px; } .box:nth-child(1) { -webkit-transform: translateZ(100px); } .box:nth-child(2) { -webkit-transform: rotateX(180deg) translateZ(100px); } .box:nth-child(3) { -webkit-transform: rotateX(-90deg) translateZ(100px); } .box:nth-child(4) { -webkit-transform: rotateX(90deg) translateZ(100px); } .box:nth-child(5) { -webkit-transform: rotateY(-90deg) translateZ(100px); } .box:nth-child(6) { -webkit-transform: rotateY(90deg) translateZ(100px); } </style> </head> <body> <div class=”father”> <div class=”box”></div> <div class=”box”></div> <div class=”box”></div> <div class=”box”></div> <div class=”box”></div> <div class=”box”></div> </div> </body> </html>

效果表明:

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

新优点之过渡阶段

在css3中,为了加进某个效果能从一种式样转变到另一个式样,无需使用flash动画电影或JavaScript。

过渡阶段特性 transition

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

增设数个值

div{ transition: width 2s,height 2s, transform 2s; }

新优点之动画电影

在css3中,他们能创建动画电影,它能取代很多网页动画电影影像,比如Flash影像和js

@keyframes

要创建css3的动画电影,你必须知道@keyframes规则。它的规则是创建动画电影。规则内选定一个css式样和动画电影开始和结束的式样

@keyframes change{ from{ background-color: red; } to{ background-color: green; } }

定义好规则之后,把它绑定到一个示例,否则动画电影不会有任何效果。

animation

.box{ width: 200px; height: 200px; animation: change 3s; background-color: green; }

你能用比率规定变化发生的事件。from和to,等同于0%和100%。0%是动画电影的开始,100%是动画电影的顺利完成。

@keyframes change { 0% {background: red;} 25% {background: yellow;} 50% {background: blue;} 100% {background: green;} }

css3的动画电影特性

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

CSS3d实现动画电影相册

<!DOCTYPE html> <html> <head> <meta charset=”utf-8″> <title></title> <style> .father { width: 200px; height: 200px; /* -webkit-perspective: 1000px; */ position: relative; margin: 300px auto; -webkit-transform-style: preserve-3d; -webkit-transform: rotateX(13deg); -webkit-animation: move 5s linear infinite; } .father .box { width: 200px; height: 200px; /* background-color: #000000; */ border: 1px solid #666; position: absolute; top: 50%; left: 50%; margin-top: -100px; margin-left: -100px; opacity: 0.5; -webkit-transition: all 3s ease; } /* 前 */ .box:nth-child(1) { -webkit-transform: translateZ(100px); } /* 后 */ .box:nth-child(2) { -webkit-transform: rotateX(180deg) translateZ(100px); } /* 下 */ .box:nth-child(3) { -webkit-transform: rotateX(-90deg) translateZ(100px); } /* 上 */ .box:nth-child(4) { -webkit-transform: rotateX(90deg) translateZ(100px); } /* 左 */ .box:nth-child(5) { -webkit-transform: rotateY(-90deg) translateZ(100px); } /* 右 */ .box:nth-child(6) { -webkit-transform: rotateY(90deg) translateZ(100px); } .box:nth-child(1) { background: url(./images/1.png) no-repeat 0 0; /* -webkit-transform: translateZ(100px); */ } .box:nth-child(2) { background: url(./images/2.png) no-repeat 0 0; } .box:nth-child(3) { background: url(./images/3.png) no-repeat 0 0; } .box:nth-child(4) { background: url(./images/4.png) no-repeat 0 0; } .box:nth-child(5) { background: url(./images/5.png) no-repeat 0 0; } .box:nth-child(6) { background: url(./images/6.png) no-repeat 0 0; } .father:hover .box:nth-child(1) { -webkit-transform: translateZ(300px); width: 400px; height: 400px; opacity: 0.8; left: -100px; top: -50px; } .father:hover .box:nth-child(2) { -webkit-transform: rotateX(180deg) translateZ(300px); width: 400px; height: 400px; opacity: 0.8; left: -100px; top: -50px; } .father:hover .box:nth-child(3) { -webkit-transform: rotateX(-90deg) translateZ(300px); width: 400px; height: 400px; opacity: 0.8; left: -100px; top: -50px; } .father:hover .box:nth-child(4) { -webkit-transform: rotateX(90deg) translateZ(300px); width: 400px; height: 400px; opacity: 0.8; left: -100px; top: -50px; } .father:hover .box:nth-child(5) { -webkit-transform: rotateY(-90deg) translateZ(300px); width: 400px; height: 400px; opacity: 0.8; left: -100px; top: -50px; } .father:hover .box:nth-child(6) { -webkit-transform: rotateY(90deg) translateZ(300px); width: 400px; height: 400px; opacity: 0.8; left: -100px; top: -50px; } @keyframes move { from { transform: rotateX(13deg) rotateY(0deg); } to { transform: rotateX(13deg) rotateY(360deg); } } </style> </head> <body> <div class=”father”> <div class=”box”></div> <div class=”box”></div> <div class=”box”></div> <div class=”box”></div> <div class=”box”></div> <div class=”box”></div> </div> </body> </html>

效果展示:

一篇文章让你全面熟悉CSS3常用API总结(推荐必看,开发必用)

作者:前端合作开发小马哥

链接:https://juejin.im/post/6892926788641816589

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务