文章目录
一、CSS样式表
1、内联样式表
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS内联样式表</title>
</head>
<body>
<!--设置了3号标题颜色为红色-->
<h3 style="color: red">CSS内联样式表</h3>
<!--设置了线条宽度为3px的蓝色虚线-->
<hr style="border: 3px dashed blue">
<!--设置了字体为40像素,背景颜色为黄色-->
<p style="font-size: 40px; background-color: yellow">这是一段测试文字</p>
</body>
</html>
2、内部样式表
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS内部样式表</title>
<style>
h3{
color: purple;
}
p{
background-color: yellow;
color: blue;
width: 300px;
height: 50px;
}
</style>
</head>
<body>
<h3>CSS内部样式表</h3>
<p>内部样式表可以批量改变元素样式</p>
</body>
</html>
3、外部样式表
p.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS外部样式表</title>
<link rel="stylesheet" href="../css/test.css">
</head>
<body>
<h3>CSS外部样式表</h3>
<p>使用了外部样式表规定元素样式</p>
</body>
</html>
test.css
h3{
color: orange;
}
p{
background-color: gray;
color: white;
width: 300px;
height: 50px;
}
运行结果
4、样式表优先级测试
内联样式表优先级最高,内部样式表优先级次高,外部样式表优先级最低。
html代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS样式表优先级测试</title>
<link rel="stylesheet" href="../css/test.css">
<style>
p{
background-color: cyan
}
</style>
</head>
<body>
<h3>CSS样式表优先级测试</h3>
<p>该段落字体颜色来自外部样式表;背景颜色来自内部样式表</p>
<p style="background-color: yellow">该段落字体颜色来自外部样式表,背景颜色来自内联样式表</p>
</body>
</html>
css文件
h3{
color: orange;
}
p{
background-color: gray;
color: white;
width: 300px;
height: 50px;
}
运行结果
二、CSS选择器
1、元素选择器(类型选择器)
例如,匹配所有段落元素
,并将其 背景颜色设置为灰色,字体颜色设置为白色
p{
background-color: gray;
color: white;
}
2、ID选择器
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ID选择器的简单应用</title>
<style>
#test{
background-color: cyan;
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<h3>ID选择器的简单应用</h3>
<hr>
<p>该段落没有定义id名称</p>
<p id="test">该段落自定义了id名称test</p>
</body>
</html>
3、类选择器
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>类选择器的简单应用</title>
<style>
.test{
background-color: green;
width: 100px;
height: 100px;
}
</style>
</head>
<body>
<h3>ID选择器的简单应用</h3>
<hr>
<p>该段落没有定义类名称</p>
<p class="test">该段落自定义了类名称test</p>
</body>
</html>
4、属性选择器
[属性名称]:单独选择某个属性
[属性名称=属性值]:选择这个属性具体的某个值的元素
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>属性选择器的简单应用</title>
<style>
img[alt="cherry"]{
border: 20px solid red;
}
</style>
</head>
<body>
<h3>属性选择器的简单应用</h3>
<hr>
<h4>为设置有alt属性的图像元素设置边框效果</h4>
<img src="../images/cherry_pic.jpg" alt="cherry" width="208" height="236" />
<img src="../images/cherry_pic.jpg" width="215" height="257" />
</body>
</html>
5、子元素选择器
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>根据元素的顺序选择</title>
<style>
li:nth-child(1){
background-color: pink;
}
li:nth-child(2){
background-color: blue
}
li:last-child{
background-color: green
}
</style>
</head>
<body>
<ul>
<li>新闻1</li>
<li>新闻2</li>
<li>新闻3</li>
<li>新闻4</li>
<li>新闻5</li>
</ul>
</body>
</html>
6、直接子元素选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>直接子元素选择</title>
<style type="text/css">
/*这样写,直接和间接子元素都会被选择到
.parent div{
width: 100px;
height: 100px;
background-color: pink
}*/
.parent>div{
width: 100px;
height: 100px;
background-color: pink;
}
</style>
</head>
<body>
<div class="parent">父亲
<div class="child">儿子
<div class="sunzi">孙子</div>
</div>
</div>
</body>
</html>
7、选择某个元素后面的一个元素“+”
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>选择某个元素后面的一个元素</title>
<style type="text/css">
.d3+div{
width: 100px;
height: 100px;
background-color: purple
}
</style>
</head>
<body>
<div>第一个</div>
<div>第二个</div>
<div class="d3">第三个</div>
<div>第四个</div>
<div>第五个</div>
</body>
</html>
8、选择某个元素后面的多个元素“~”
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>选择某个元素后面的多个元素</title>
<style type="text/css">
.d3~div{
width: 100px;
height: 100px;
background-color: purple
}
</style>
</head>
<body>
<div>第一个</div>
<div>第二个</div>
<div class="d3">第三个</div>
<div>第四个</div>
<div>第五个</div>
</body>
</html>
三、语法规则
1、注释
/*
多行注释
*/
2、@charset
该语法在外部样式表中使用,用于指定当前样式表使用的字符编码 。`
@charset "utf-8";
3、!important
用于标记CSS样式的优先级
p{
background-color: red !important;
}
p{
background-color: blue;
}
四、CSS常用样式
1、CSS背景
(1)背景颜色
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性background-color的应用</title>
<style>
body{
background-color: silver;
}
h1{
background-color: red;
}
h2{
background-color: orange;
}
h3{
background-color: yellow;
}
p{
background-color: cyan;
}
</style>
</head>
<body>
<h1>CSS属性background-color的应用</h1>
<h2>CSS属性background-color的应用</h2>
<h3>CSS属性background-color的应用</h3>
<p>CSS属性background-color的应用</p>
</body>
</html>
(2)、背景图像background-image
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性background-color的应用</title>
<style>
body{
background-image: url(../images/girl.jpg)
}
p{
background-image: url(/images/gd.jpg);
width: 690px;
height: 434px;
}
</style>
</head>
<body>
<h3>CSS属性background-image的应用</h3>
<hr>
<p>这是一个段落</p>
</body>
</html>
(3)、背景图像的平铺方式background-repeat
有四个属性值,repeat-x是横向重复平铺,repeat-y是垂直方向平铺,repeat是水平和垂直方向都平铺,no-repeat是不平铺,只显示原图。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性background-repeat的应用</title>
<style>
body{
background-image: url(../images/girl.jpg);
background-repeat: no-repeat; /*图像不平铺*/
}
</style>
</head>
<body>
<h3>CSS属性background-repeat的应用</h3>
</body>
</html>
(4)、固定、滚动背景图像background-attachment
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性background-attachment的应用</title>
<style>
body{
background-image: url(../images/girl.jpg);
background-repeat: no-repeat; /*图像不平铺*/
background-attachment: scroll;/*背景图像随页面滚动*/
}
</style>
</head>
<body>
<h3>CSS属性background-attachment的应用</h3>
<hr>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
<p>这个是段落元素,用于测试背景图像是否跟随页面滚动</p>
</body>
</html>
(5)、定位背景图像background-position
水平和垂直方向的属性值均可使用关键词、长度值或者百分比的形式表示。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性background-position的应用</title>
<style>
div{
width: 660px;
}
p{
width: 200px;
height: 200px;
background-color: silver;
background-image: url(/images/lulu.jpg);
background-repeat: no-repeat;
float: left;
margin: 10px;
text-align: center;
}
#p1_1{
background-position: left top;/*图像位于左上角*/
}
#p1_2{
background-position: top;
}
#p1_3{
background-position: right top;
}
#p2_1{
background-position: 0% 50%;
}
#p2_2{
background-position: 50% 50%;
}
#p2_3{
background-position: 100% 50%;
}
#p3_1{
background-position: 0px 100px;
}
#p3_2{
background-position: 50px 100px;
}
#p3_3{
background-position: 100px 100px;
}
</style>
</head>
<body>
<h3>CSS属性background-position的应用</h3>
<hr>
<div>
<p id="p1_1">left</p>
<p id="p1_2">top</p>
<p id="p1_3">right</p>
<p id="p2_1">0%</p>
<p id="p2_2">50%</p>
<P id="p2_3">100%</P>
<p id="p3_1">0px 100px</p>
<P id="p3_2">50px 100px</P>
<p id="p3_3 ">100px 100px</p>
</div>
</body>
</html>
(6)、背景简写background
可以概括以上5种背景属性。
2、CSS框模型
(1)、内边距
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性padding的应用</title>
<style>
p{
width: 200px;
height: 50px;
background-color: orange;
}
.style01{
padding: 20px;
}
.style02{
padding: 10px 50px 10px 50px;
}
.style03{
padding-left: 50px;
}
</style>
</head>
<body>
<h3>CSS属性padding的应用</h3>
<hr>
<p>该段落没有使用内边距,默认值为0</p>
<P class="style01">该段落各边内边距均为20像素</P>
<p class="style02">该段落的上下边距内边距均为10像素,左右边距的内边距均为50像素。</p>
<p class="style03">该段落的左边内边距为50像素</p>
</body>
</html>
(2)、边框border
边框宽度border-width
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性padding的应用</title>
<style>
p{
width: 200px;
height: 50px;
border-style: solid;
}
.thin{
border-width: thin;
}
.medium{
border-width: medium;
}
.thick{
border-width: thick;
}
.one{
border-width: 1px;
}
.ten{
border-width: 10px;
}
</style>
</head>
<body>
<h3>CSS属性border-width的简单应用</h3>
<hr>
<p class="one">边框宽度为1像素</p>
<p class="thin">边框宽度为thin</p>
<p class="medium">边框宽度为medium</p>
<p class="thick">边框宽度为thick</p>
<p class="ten">边框宽度为10像素</p>
</body>
</html>
边框样式border-style
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性border-style的应用</title>
<style>
p{
width: 200px;
height: 30px;
border-width: 5px;
}
.p1{
border-style: none;
}
.p2{
border-style: dotted;
}
.p3{
border-style: dashed;
}
.p4{
border-style: solid;
}
.p5{
border-style: double;
}
.p6{
border-style: groove;
}
.p7{
border-style: ridge;
}
.p8{
border-style: inset;
}
.p9{
border-style: outset;
}
</style>
</head>
<body>
<h3>CSS属性border-style的简单应用</h3>
<hr>
<p class="p1">无边框效果</p>
<p class="p2">点状边框效果</p>
<p class="p3">虚线边框效果</p>
<p class="p4">实线边框效果</p>
<p class="p5">双线边框效果</p>
<p class="p6">3D凹槽边框效果</p>
<p class="p7">3D脊状边框效果</p>
<p class="p8">3D内嵌边框效果</p>
<p class="p9">3D外凸边框效果</p>
</body>
</html>
边框颜色
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性border-color的应用</title>
<style>
p{
width: 200px;
height: 30px;
border-width: 10px;
border-style: solid;
}
.p1{
border-color: red;
}
.p2{
border-color: rgb(0,255,0)
}
.p3{
border-color: #00F
}
</style>
</head>
<body>
<h3>CSS属性border-color的简单应用</h3>
<hr>
<p class="p1">红色边框效果</p>
<p class="p2">绿色边框效果</p>
<p class="p3">蓝色边框效果</p>
</body>
</html>
边框简写border
p{
border-width:1px;
boder-style:solid;
border-color:red;
}
/*可以简写为如下*/
p{
border:1px solid red;
}
(3)、外边距margin
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性margin的应用</title>
<style>
.box{
border: 1px solid;
width: 300px;
margin: 10px;
}
.yellow{
background-color: yellow;
}
.style1{
margin: 20px;
}
.style2{
margin: 10px 50px;
}
.style3{
margin-left: 100px;
}
</style>
</head>
<body>
<h3>CSS属性margin的简单应用</h3>
<hr>
<div class="box">
<div class="yellow">
该段落没有外边距,默认值为0
</div>
</div>
<div class="box">
<div class="style1 yellow">
该段落各外边距均为20px
</div>
</div>
<div class="box">
<div class="style2 yellow">
该段落上下外边距均为10像素,左右外边距均为50像素
</div>
</div>
<div class="box">
<div class="style3 yellow">
该段落做外边距为100像素
</div>
</div>
</body>
</html>
3、CSS文本
(1)、文本缩近text-indent
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性text-indent的简单应用</title>
<style>
p{
text-indent: 2em;
border: 1px solid;
width: 200px;
padding: 10px;
}
</style>
</head>
<body>
<h3>CSS属性text-indent的简单应用</h3>
<hr>
<p>这是一个用于测试首行缩进效果的段落元素。当前缩进了两个字符的距离</p>
</body>
</html>
(2)、文本对齐对齐text-align
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性text-align的简单应用</title>
<style>
div{
border: 1px solid;
width: 300px;
padding: 10px;
}
.center{
text-align: center;
}
.right{
text-align: right;
}
.left{
text-align: left;
}
</style>
</head>
<body>
<h3>CSS属性text-align的简单应用</h3>
<hr>
<div>
<p class="center">文字居中对齐</p>
<p class="right">文字居右对齐</p>
<P class="left">文字居左对齐</P>
</div>
</body>
</html>
(3)、文本装饰
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性text-decoration的简单应用</title>
<style>
.underline{
text-decoration: underline;
}
.line-through{
text-decoration: line-through;
}
.overline{
text-decoration: overline;
}
</style>
</head>
<body>
<h3>CSS属性text-decoration的简单应用</h3>
<hr>
<p class="underline">为文字添加下划线</p>
<p class="line-through">为文字添加删除线</p>
<p class="overline">为文字添加上划线</p>
</body>
</html>
(4)、文本转换text-transform
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性text-transform的简单应用</title>
<style>
.uppercase{
text-transform: uppercase /*将文本中每个字母都转换成大写*/
}
.lowercase{
text-transform: lowercase /*将文本中每个字母都转换成小写*/
}
.capitalize{
text-transform: capitalize /*将文本中的首字母转换成大写*/
}
</style>
</head>
<body>
<h3>CSS属性text-transform的简单应用</h3>
<hr>
<p class="uppercase">hello css</p>
<p class="lowercase">HELLO CSS</p>
<p class="capitalize">hello css</p>
</body>
</html>
(5)、字符间距letter-spacing
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性letter-spacing的简单应用</title>
<style>
.style1{
letter-spacing: 1em;
}
.style2{
letter-spacing: 2em
}
.style3{
letter-spacing: -5px;
}
</style>
</head>
<body>
<h3>CSS属性letter-spacing的简单应用</h3>
<hr>
<p class="style1">文字字间距为1em</p>
<p class="style2">文字字间距为2em</p>
<p class="style3">文字字间距为-5px</p>
</body>
</html>
(6)、行高line-height
两行文字中间的距离
(7)、文字阴影text-shadow
- text-shadow : 水平偏移距离,垂直的偏移距离 模糊度 阴影的颜色
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>文字的阴影text-shadow</title>
<style type="text/css">
.d1{
font-size: 30px;
font-family: "微软雅黑";
font-weight: 900;
color:pink;
text-align: center;
line-height: 100px;
text-shadow: 10px 5px 5px black
}
.d2{
font-size: 30px;
font-family: "微软雅黑";
font-weight: normal;
color:white;
text-align: center;
line-height: 100px;
text-shadow: 0px 0px 5px black
}
.d3{
font-size: 30px;
font-family: "微软雅黑";
font-weight: normal;
color:white;
text-align: center;
line-height: 100px;
text-shadow: 0px 0px 20px yellow,0px 0px 10px orange,0px 0px 10px orangered,0px 0px 10px red;
}
.d4{
font-size: 100px;
font-family: "微软雅黑";
font-weight: normal;
color:white;
text-align: center;
line-height: 100px;
text-shadow: 2px 2px 0px yellow,4px 4px 0px orange,6px 6px 0px orangered,8px 8px 0px red;
}
</style>
</head>
<body>
<div class="d1">
大家好
</div>
<div class="d2">
镂空效果
</div>
<div class="d3">
阴影叠加制造出霓虹灯效果
</div>
<div class="d4">
3D效果
</div>
</body>
</html>
4、CSS字体
(1)、字体系列font-family
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性font-family的简单应用</title>
<style>
.style1{
font-family: "AR DELANEY"
}
.style2{
font-family: "French Script MT"
}
.style3{
font-family: "微软雅黑 Light"
}
</style>
</head>
<body>
<h3>CSS属性font-family的简单应用</h3>
<hr>
<p class="style1">AR DELANEY</p>
<p class="style2">French Script MT</p>
<p class="style3">微软雅黑 Light</p>
</body>
</html>
在这里插入图片描述
(2)、字体风格font-style
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性font-family的简单应用</title>
<style>
.style1{
font-style: normal /*正常字体*/
}
.style2{
font-style: italic /*斜体*/
}
.style3{
font-style: oblique /*倾斜体*/
}
</style>
</head>
<body>
<h3>CSS属性font-family的简单应用</h3>
<hr>
<p class="style1">正常字体</p>
<p class="style2">斜体字</p>
<p class="style3">倾斜体</p>
</body>
</html>
(3)、字体变化font-variant
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
.style1{
font-variant: normal
}
.style2{
font-variant: small-caps /*全大写,但是比正常大写字母小一号*/
}
</style>
</head>
<body>
<h3>CSS属性font-variant的简单应用</h3>
<hr>
<p class="style1">Normal</p>
<p class="style2">Small Caps</p>
<p class="style2">small caps</p>
</body>
</html>
(4)、字体粗细 font-weight
范围:100~900,默认正常的字体粗细
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
.style1{
font-weight: normal
}
.style2{
font-weight: bold
}
.style3{
font-weight: bolder
}
.style4{
font-weight: 100
}
.style5{
font-weight: 400
}
.style6{
font-weight: 900
}
.style7{
font-weight: lighter
}
</style>
</head>
<body>
<h3>CSS属性font-weight的简单应用</h3>
<hr>
<p class="style1">正常字体</p>
<p class="style2">加粗字体</p>
<p class="style3">更粗的字体</p>
<p class="style4">测试段落(100)</p>
<p class="style5">测试段落(400)</p>
<p class="style6">测试段落(900)</p>
<p class="style7">更细的字体</p>
</body>
</html>
(5)、字体大小font-size
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
.style1{
font-size: 16px
}
.style2{
font-size: 1em
}
.style3{
font-size: 32px
}
.style4{
font-size: 2em
}
</style>
</head>
<body>
<h3>CSS属性font-size的简单应用</h3>
<hr>
<p class="style1">字体大小为16像素</p>
<p class="style2">字体大小为1em</p>
<p class="style3">字体大小为32像素</p>
<p class="style4">字体大小为2em</p>
</body>
</html>
(6)、字体简写font
p{
font-style:italic;
font-weigt:bold;
font-size:20px;
}
/*可以简写为如下*/
p{
font:italic bold 20px;
}
5、CSS超链接
必须遵循两条规则:一是a:hover的声明必须在a:link和a:visited之后,二是a:active必须在a:hover之后
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
a:link,a:visited{ /*未被访问的超链接和已被访问的超链接*/
display: block; /*块级元素*/
text-decoration: none; /*取消下划线*/
color: white; /*字体为白色*/
font-weight: bold; /*字体为粗体*/
font-size: 25px; /*字体大小为25像素*/
background-color: #7BF; /*设置背景颜色*/
width: 200px; /*宽度为200像素*/
height: 30px; /*高度为30像素*/
text-align: center; /*文本居中显示*/
line-height: 30px; /*行高为30像素*/
}
a:hover,a:active{ /*鼠标悬浮在上面的超链接和正在被点击的超链接*/
background-color: #0074E8; /*设置背景颜色*/
}
</style>
</head>
<body>
<h3>CSS属性超链接的简单应用</h3>
<hr>
<a href="http://www.baidu.com">百度</a>
</body>
</html>
未被访问前的链接
正在被点击的链接
6、CSS列表
(1) 列表标签
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
div{
border: 1px solid;
width: 235px;
height: 125px;
float: left;
margin: 5px;
}
.none{
list-style-type: none /*无标记符号*/
}
.disc{
list-style-type: disc /*实心圆点*/
}
.circle{
list-style-type: circle /*空心圆*/
}
.square{
list-style-type: square /*实心方块*/
}
.decimal{
list-style-type: decimal /*阿拉伯数字*/
}
.decimal-leading-zero{
list-style-type: decimal-leading-zero /*0开头的阿拉伯数字*/
}
.upper-roman{
list-style-type: upper-roman /*大写罗马数字*/
}
.lower-roman{
list-style-type: lower-roman /*小写罗马数字*/
}
.upper-alpha{
list-style-type: upper-alpha /*大写英文字母*/
}
.lower-alpha{
list-style-type: lower-alpha /*小写英文字母*/
}
.upper-latin{
list-style-type: upper-latin /*大写拉丁字母*/
}
.lower-latin{
list-style-type: lower-latin /*小写拉丁字母*/
}
.lower-greek{
list-style-type: lower-greek /*小写希腊字母*/
}
.hebrew{
list-style-type: hebrew /*传统的希伯来编号方式*/
}
.armenian{
list-style-type: armenian /*传统的亚美尼亚编号方式*/
}
.georgian{
list-style-type: georgian /*传统的乔治亚编号方式*/
}
.cjk-ideographic{
list-style-type: cjk-ideographic /*简单的表意数字*/
}
.hiragana{
list-style-type: hiragana /*日语平假名的编号*/
}
.hiragana-iroha{
list-style-type: hiragana-iroha /*日语片假名的编号 */
}
.katakana{
list-style-type: katakana /*日语平假名-伊吕波型的编号*/
}
.katakana-iroha{
list-style-type: katakana-iroha /*日语片假名-伊吕波型的编号*/
}
</style>
</head>
<body>
<h3>CSS属性list-style-type的简单应用</h3>
<hr>
<div>
<h4>属性值为none</h4>
<ul class="none">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为disc</h4>
<ul class="disc">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为circle</h4>
<ul class="circle">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为square</h4>
<ul class="square">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为decimal</h4>
<ul class="decimal">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为decimal-leading-zero</h4>
<ul class="decimal-leading-zero">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为upper-roman</h4>
<ul class="upper-roman">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为lower-roman</h4>
<ul class="lower-roman">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为upper-alpha</h4>
<ul class="upper-alpha">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为lower-alpha</h4>
<ul class="lower-alpha">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为upper-latin</h4>
<ul class="upper-latin">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为lower-latin</h4>
<ul class="lower-latin">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为lower-greek</h4>
<ul class="lower-greek">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为hebrew</h4>
<ul class="hebrew">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为armenian</h4>
<ul class="armenian">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为georgian</h4>
<ul class="georgian">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为cjk-ideographic</h4>
<ul class="cjk-ideographic">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为hiragana</h4>
<ul class="hiragana">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为hiragana-iroha</h4>
<ul class="hiragana-iroha">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为katakana</h4>
<ul class="katakana">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
<div>
<h4>属性值为katakana-iroha</h4>
<ul class="katakana-iroha">
<li>跳水</li>
<li>举重</li>
<li>击剑</li>
</ul>
</div>
</body>
</html>
(2)、样式图片list-style-image
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
.arrow{
list-style-image: url(../images/arrow.jpg)
}
</style>
</head>
<body>
<h3>CSS属性list-style-image的简单应用</h3>
<hr>
<ul class="arrow">
<li>选项一</li>
<li>选项二</li>
<li>选项三</li>
</ul>
</body>
</html>
(3)、样式位置list-style-position
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
ul{
width: 280px;
border: 1px solid;
}
.outside{
list-style-position: outside
}
.inside{
list-style-position: inside
}
</style>
</head>
<body>
<h3>CSS属性list-style-position的简单应用</h3>
<hr>
<ul class="outside">
<li>选项一选项一选项一选项一选项一选项一选项一选项一选项一</li>
<li>选项二</li>
<li>选项三</li>
</ul>
<ul class="inside">
<li>选项一选项一选项一选项一选项一选项一选项一选项一选项一</li>
<li>选项二</li>
<li>选项三</li>
</ul>
</body>
</html>
(4)、样式简写list-style
ul{
list-style-type: circle;
list-style-position: outside
}
可写成
ul{
list-style: circle inside
}
7、CSS表格
(1)、折叠边框border-collapse
用于设置表格的边框样式为双线还是单线
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
.separate{
border-collapse: separate
}
.collapse{
border-collapse: collapse
}
</style>
</head>
<body>
<h3>CSS属性border-collapse的简单应用</h3>
<hr>
<table border="1" class="separate">
<caption>双线边框效果</caption>
<tr>
<th>年份</th>
<th>第一季度</th>
<th>第二季度</th>
<th>第三季度</th>
</tr>
<tr>
<td>2014</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2015</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2016</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</table>
<br>
<table border="1" class="collapse">
<caption>折叠边框效果</caption>
<tr>
<th>年份</th>
<th>第一季度</th>
<th>第二季度</th>
<th>第三季度</th>
</tr>
<tr>
<td>2014</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2015</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2016</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</table>
</body>
</html>
(2)、边框距离border-spacing
用于定义表格双向边框的分割距离
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
.style1{
border-spacing: 10px; /*垂直和水平方向上的距离*/
}
.style2{
border-spacing: 50px 10px; /*第一个值为水平方向的距离,第二个值为垂直方向上的距离*/
}
</style>
</head>
<body>
<h3>CSS属性border-spacing的简单应用</h3>
<hr>
<table border="1" class="style1">
<caption>单个属性值效果:边框距离为10像素</caption>
<tr>
<th>年份</th>
<th>第一季度</th>
<th>第二季度</th>
<th>第三季度</th>
</tr>
<tr>
<td>2014</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2015</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2016</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</table>
<br>
<table border="1" class="style2">
<caption>两个属性值效果:水平方向边框距离为50像素,垂直方向边框距离为10像素</caption>
<tr>
<th>年份</th>
<th>第一季度</th>
<th>第二季度</th>
<th>第三季度</th>
</tr>
<tr>
<td>2014</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2015</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2016</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</table>
</body>
</html>
(3)、标题位置caption-side
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
caption{
caption-side: bottom
}
</style>
</head>
<body>
<h3>CSS属性border-spacing的简单应用</h3>
<hr>
<table border="1">
<caption>我是显示在底端的标题</caption>
<tr>
<th>年份</th>
<th>第一季度</th>
<th>第二季度</th>
<th>第三季度</th>
</tr>
<tr>
<td>2014</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2015</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2016</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
</table>
</body>
</html>
(4)、空单元格empty-cells
属性值show表示显示空白单元格,属性值hide表示隐藏空白单元格
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
table{
empty-cells: hide
}
</style>
</head>
<body>
<h3>CSS属性empty-cells的简单应用</h3>
<hr>
<table border="1">
<caption>隐藏空白单元格</caption>
<tr>
<th>年份</th>
<th>第一季度</th>
<th>第二季度</th>
<th>第三季度</th>
</tr>
<tr>
<td>2014</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2015</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2016</td>
<td>100</td>
<td>100</td>
<td></td>
</tr>
</table>
</body>
</html>
(5)、表格布局table-layout
属性值authomatic表示单元格的宽度由内容显示,fixed表示单元格的宽度有样式决定
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
table{
width: 100%
}
.fixed{
table-layout: fixed
}
.automatic{
table-layout: auto;
}
</style>
</head>
<body>
<h3>CSS属性empty-cells的简单应用</h3>
<hr>
<table border="1" class="fixed">
<caption>隐藏空白单元格</caption>
<tr>
<th>年份</th>
<th>第一季度</th>
<th>第二季度</th>
<th>第三季度</th>
</tr>
<tr>
<td>2014</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2015</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2016</td>
<td>100</td>
<td>100</td>
<td>100000000000</td>
</tr>
</table>
<table border="1" class="automatic">
<caption>隐藏空白单元格</caption>
<tr>
<th>年份</th>
<th>第一季度</th>
<th>第二季度</th>
<th>第三季度</th>
</tr>
<tr>
<td>2014</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2015</td>
<td>100</td>
<td>100</td>
<td>100</td>
</tr>
<tr>
<td>2016</td>
<td>100</td>
<td>100</td>
<td>100000000000</td>
</tr>
</table>
</body>
</html>
五、CSS定位
1、绝对定位absolute
相对于设置了定位的父元素或祖先元素定位的,脱离正常的文档流。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
p{
position: absolute;
width: 120px;
height: 120px;
top: 100px;
left: 0px;
background-color: #C8EDFF;
}
div{
position: absolute;
width: 300px;
height: 300px;
top: 80px;
left: 180px;
border: 1px solid;
}
</style>
</head>
<body>
<h3>CSS绝对定位的简单应用</h3>
<hr>
<p>该段落是相对于页面定位的,距离页面的顶端100像素,距离左边0像素</p>
<div>
我是相对于页面定位的div元素,距离顶端80像素,距离左边180像素
<p>该段落是相对于父元素div定位的,距离父元素div的顶端100像素,距离div元素的左边0像素</p>
</div>
</body>
</html>
2、相对定位relative
相对原来的位置定位的,不会脱离文档流。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
div{
width: 200px;
height: 380px;
border: 1px solid;
margin-left: 50px
}
p{
width: 150px;
height: 100px;
background-color: #C8EDFF;
}
.left{
position: relative;
left: -50px;
}
.right{
position: relative;
left: 130px;
}
</style>
</head>
<body>
<h3>CSS相对定位的简单应用</h3>
<hr>
<div>
<p>正常状态的段落</p>
<p class="left">相对于自己正常的位置向左偏移了50像素</p>
<p class="right">相对于自己正常的位置向右偏移130像素</p>
</div>
</body>
</html>
3、固定定位——fixed
根据浏览器的位置定位,会脱离正常的文档流。Position:fixed必须配合left,right,top,bottom,才能具体定位浏览器的具体位置上。
4、静态定位static
默认情况下不做定位
5、粘性定位sticky
6、层叠效果——z-index
使用属性z-index可以为元素规定层次顺序,其属性值为整型,并且该数越大将叠放在越靠上的位置。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
div{
width: 182px;
height: 253px;
position: absolute;
}
#id1{
background:url(../images/edit_bg.png) no-repeat;
z-index: 1;
left: 20px;
top: 100px;
}
#id2{
background: url(../images/lu.jpg) no-repeat;
z-index: 2;
left: 100px;
top: 100px;
}
#id3{
background: url(../images/lufei.jpg) no-repeat;
z-index: 3;
left: 180px;
top: 100px;
}
</style>
</head>
<body>
<h3>CSS层叠效果的简单应用</h3>
<hr>
<div id="id1"></div>
<div id="id2"></div>
<div id="id3"></div>
</body>
</html>
7、浮动
(1)、浮动效果float
- 浮动可以解决文字包围图片问题。
- 浮动可以解决莫名其妙的间隔问题。
- 浮动可以向左、向右进行排版对齐。
浮动: 可以设置元素脱离正常的文档流,向左或者向右,靠近父元素的边缘或者是设置了浮动的其他元素的边缘靠拢。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>CSS属性的简单应用</title>
<style>
div{
float: left;
width: 300px;
}
p{
line-height: 30px;
text-indent: 2em;
}
</style>
</head>
<body>
<h3>CSS浮动效果的简单应用</h3>
<hr>
<div>
<img src="../images/lufei.jpg" alt="海贼王" />
</div>
<p>
三国时期魏延这个人物可以说自带很多话题的,演义中他天生反骨,最后还被诸葛亮死后用计诛杀,历史记载中他成为第一位镇守汉中的将领,诸葛亮葛亮北伐时,他屡次建议走子午道,奇袭长安,被后世认为是怀才不遇,最终在政治斗争中被杨仪击败被灭族,相比之下,魏延曾经打过一次胜仗,也值得被称赞的,却是大家很少提及的,也就是阳谿之战,魏延吴懿大破费瑶郭淮。看过《三国演义》,应该都会对诸葛亮在东吴舌战群儒的情节有很深的印象吧,诸葛亮凭借伶牙俐齿,将东吴大臣们都怼了回去,最终说动了孙权与刘备联合对抗曹操,这才有了后来的赤壁之战。不过,这段故事也仅仅只是一个故事,它在真实的历史上是并不存在的。那么,正史上,这段情节究竟是怎么一回事呢?三国时期魏延这个人物可以说自带很多话题的,演义中他天生反骨,最后还被诸葛亮死后用计诛杀,历史记载中他成为第一位镇守汉中的将领,诸葛亮葛亮北伐时,他屡次建议走子午道,奇袭长安,被后世认为是怀才不遇,最终在政治斗争中被杨仪击败被灭族,相比之下,魏延曾经打过一次胜仗,也值得被称赞的,却是大家很少提及的,也就是阳谿之战,魏延吴懿大破费瑶郭淮。看过《三国演义》,应该都会对诸葛亮在东吴舌战群儒的情节有很深的印象吧,诸葛亮凭借伶牙俐齿,将东吴大臣们都怼了回去,最终说动了孙权与刘备联合对抗曹操,这才有了后来的赤壁之战。不过,这段故事也仅仅只是一个故事,它在真实的历史上是并不存在的。那么,正史上,这段情节究竟是怎么一回事呢?
1.《三国演义》舌战群儒
《三国演义》里有意拔高了诸葛亮的智慧,不仅将许多发生在其他人身上的故事嫁接到诸葛亮身上,还为诸葛亮生造了不少神机妙算的故事,以至于鲁迅先生在评价《三国演义》对诸葛亮的描写时说,这部书“状诸葛之多智而近妖”。
实际上,诸葛亮为刘备制定了隆中对方略,并成功执行后,他一直出任蜀汉的丞相,相当于蜀汉的总理,他的大半生长期从事行政工作,是一位不可多得的行政专才。但是,正是由于《三国演义》,我们误以为诸葛亮是个智谋百出的人,是一个成天耍小聪明,把人耍得团团转的人,是一个上知天文下知地理的全才。
对于诸葛亮的聪明,最具有戏剧性的一幕就是舌战群儒。《三国演义》第四十三回非常成功的描绘了这一场景,让读者对诸葛亮的智谋与辩才佩服得五体投地。
三国时期魏延这个人物可以说自带很多话题的,演义中他天生反骨,最后还被诸葛亮死后用计诛杀,历史记载中他成为第一位镇守汉中的将领,诸葛亮葛亮北伐时,他屡次建议走子午道,奇袭长安,被后世认为是怀才不遇,最终在政治斗争中被杨仪击败被灭族,相比之下,魏延曾经打过一次胜仗,也值得被称赞的,却是大家很少提及的,也就是阳谿之战,魏延吴懿大破费瑶郭淮。看过《三国演义》,应该都会对诸葛亮在东吴舌战群儒的情节有很深的印象吧,诸葛亮凭借伶牙俐齿,将东吴大臣们都怼了回去,最终说动了孙权与刘备联合对抗曹操,这才有了后来的赤壁之战。不过,这段故事也仅仅只是一个故事,它在真实的历史上是并不存在的。那么,正史上,这段情节究竟是怎么一回事呢?
</p>
</body>
</html>
(2)、清理浮动clear
它可以规定元素的哪一侧不允许出现浮动。
(3)、浮动高度塌陷问题
解决方案:
- 设置父级元素的高度
- 创建个div ,清除浮动
- 伪元素清除浮动(最佳解决方案)
.clear:after{
content:";
display:block;
clear:both;
}
六、伪元素
- :before,在元素内部创建1个最前面假的子元素
- :after,在元素内部的最后面创建1个假的子元素
注意: 创建伪元素的时候,content属性必须要写!伪元素默认是行元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>伪元素</title>
<style type="text/css">
.chat{
width: 500px;
line-height: 100px;
padding: 30px;
font-size: 30px;
background: lawngreen;
margin: 0 auto;
border-radius: 30px;
position: relative;
}
.chat:before{
content: "";
display: inline-block;
width: 0px;
height: 0px;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
border-left: 40px solid transparent;
border-right: 40px solid lawngreen;
position: absolute;
left: -80px;
top:43px;
}
.chat:after{
content: "";
}
</style>
</head>
<body>
<div class="chat">今晚吃啥?</div>
</body>
</html>
七、过渡动画transition
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>过渡动画</title>
<style type="text/css">
.d1{
width: 100px;
height: 100px;
background: pink;
/*综合过渡效果,transition:property(过渡属性) duration(过渡时长) timing-function(过渡动画变化的速度)*/
/*transition-timing-function:
ease:(默认值),从慢到快再慢
linear:设置线性速度
ease-in:从慢到快
ease-out:从快到慢
可以通过浏览器进行调节获取贝塞尔曲线cubic-bezier(0,0.95,1,0.07)
*/
transition: all 3s ease-in;
/*设置延迟时间*/
/*transition-delay:3s;*/
}
.d1:hover{
width: 400px;
height: 400px;
background: green;
}
</style>
</head>
<body>
<div class="d1">
</div>
</body>
</html>
八、转换transform
1、2D转换
2D移动translate(x,y)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>转换</title>
<style type="text/css">
#d1{
width: 100px;
height: 100px;
background: pink;
transition: all 3s;
}
#d1:hover{
width: 100px;
height: 100px;
background: pink;
/*移动:
translate(x,y);x代表水平移动距离,y代表垂直移动距离
translateX(300px)水平移动
translateY(400px)垂直移动
*/
transform: translate(300px,400px);
}
</style>
</head>
<body>
<div id="d1">
</div>
</body>
</html>
2D旋转
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>转换</title>
<style type="text/css">
#d1{
width: 100px;
height: 100px;
background: pink;
margin: 100px;
transition: all 3s;
}
#d1:hover{
width: 100px;
height: 100px;
background: pink;
/*旋转*/
transform: rotate(30deg);
}
</style>
</head>
<body>
<div id="d1">
</div>
</body>
</html>
2、 3D转换
3D移动
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>转换</title>
<style type="text/css">
#d1{
width: 100px;
height: 100px;
background: pink;
margin: 100px;
transition: all 3s;
}
#d1:hover{
width: 100px;
height: 100px;
background: pink;
/*移动*/
/*tanslateX(长度);绕X轴移动*/
/*transform: tanslateX(200px);*/
/*tanslateY(长度);绕Y轴移动*/
transform: translateY(200px);
/*tanslateZ(长度);绕Z轴移动*/
/*transform: tanslateZ(200px);*/
}
body{
/*设置透视点*/
perspective: 500px
}
</style>
</head>
<body>
<div id="d1">
</div>
</body>
</html>
3D旋转
<!DOCTYPE html`在这里插入代码片`>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>转换</title>
<style type="text/css">
#d1{
width: 100px;
height: 100px;
background: pink;
margin: 100px;
transition: all 3s;
}
#d1:hover{
width: 100px;
height: 100px;
background: pink;
/*旋转*/
/*rotateX(度数);绕X轴旋转*/
/*transform: rotateX(45deg);*/
/*rotateY(度数);绕Y轴旋转*/
/*transform: rotateY(45deg);*/
/*rotateZ(度数);绕Z轴旋转*/
transform: rotateZ(45deg);
}
body{
/*设置透视点*/
perspective: 100px
}
</style>
</head>
<body>
<div id="d1">
</div>
</body>
</html>
九、动画animation
- animation:综合性的动画设置属性
- animation-name:动画名称
- animation-duration:动画时间周期
- animation-timing-function:动画的变化速度,默认ease,linear,ease-in,ease-out
- animation-delay:延迟时间
- animation-iteration-count:动画循环次数,infinite无限次;
- animation-direction:运动的方向,nomal默认值,alternate奇数次正常运动,偶数次反方向运动;reverse反方向运动;alternate-reverse
- animation-fill-mode:fowards;使得动画保留最后一帧效果。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动画</title>
<style type="text/css">
#d1{
width: 200px;
height: 200px;
background: pink;
/*动画
animation:综合性的动画设置属性
animation-name:动画名称
animation-duration:动画时间周期
animation-timing-function:动画的变化速度,默认ease,linear,ease-in,ease-out
animation-delay:延迟时间
animation-iteration-count:动画循环次数,infinite无限次;
animation-direction:运动的方向,nomal默认值,alternate奇数次正常运动,偶数次反方向运动;reverse反方向运动;alternate-reverse
animation-fill-mode:fowards;使得动画保留最后一帧效果。
*/
animation: donghua1 3s;
}
@keyframes donghua1{
/*
from{}等价于0%{}
*/
0%{
transform: translate(0,0);
}
33.3%{
transform: translate(500px,0);
}
100%{
transform: translate(500px,400px);
}
}
</style>
</head>
<body>
<div id="d1"></div>
</body>
</html>
loading案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Loading效果</title>
<style type="text/css">
.loading{
margin: 0 auto;
width: 300px;
height: 300px;
position: relative;
}
.loading .circle{
width: 300px;
height: 300px;
position: absolute;
left: 0;
top: 0;
animation-timing-function: linear;
}
.small{
width: 30px;
height: 30px;
background: blue;
margin: 10px auto;
border-radius: 50%;
}
@keyframes loading{
from{
opacity: 1;
}
to{
opacity: 0.2;
}
}
/*旋转*/
.loading .circle:nth-child(1){
transform: rotate(45deg);
animation: loading 0.9s infinite;
}
.loading .circle:nth-child(2){
transform: rotate(90deg);
animation: loading 0.9s infinite 0.1s;
}
.loading .circle:nth-child(3){
transform: rotate(135deg);
animation: loading 0.9s infinite 0.2s;
}
.loading .circle:nth-child(4){
transform: rotate(180deg);
animation: loading 0.9s infinite 0.3s;
}
.loading .circle:nth-child(5){
transform: rotate(225deg);
animation: loading 0.9s infinite 0.4s;
}
.loading .circle:nth-child(6){
transform: rotate(270deg);
animation: loading 0.9s infinite 0.5s;
}
.loading .circle:nth-child(7){
transform: rotate(315deg) ;
animation: loading 0.9s infinite 0.6s;
}
.loading .circle:nth-child(8){
transform: rotate(360deg);
animation: loading 0.9s infinite 0.7s;
}
</style>
</head>
<body>
<div class="loading">
<div class="circle">
<div class="small"></div>
</div>
<div class="circle">
<div class="small"></div>
</div>
<div class="circle">
<div class="small"></div>
</div>
<div class="circle">
<div class="small"></div>
</div>
<div class="circle">
<div class="small"></div>
</div>
<div class="circle">
<div class="small"></div>
</div>
<div class="circle">
<div class="small"></div>
</div>
<div class="circle">
<div class="small"></div>
</div>
</div>
</body>
</html>
帧动画案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>帧动画之分身术</title>
<style type="text/css">
.fs{
width: 250px;
height: 200px;
background-image: url(images/分身术.png);
background-size: 100% auto;
animation: fenshen 5s steps(24) infinite;
}
@keyframes fenshen{
from{
background-position: 0 0;
}
to{
background-position: 0 4608px;
}
}
</style>
</head>
<body>
<div class="fs"></div>
</body>
</html>
- 素材