**定义:**HTML5 定义了 HTML 标准的最新版本,是对 HTML 的第五次重大修改,号称下一代的 HTML
属性 | 值 | 描述 |
---|---|---|
autoplay | autoplay | 自动播放 |
controls | controls | 显示控件 |
loop | loop | 循环播放 |
src | url | 视频地址 |
<video width=500px height=300px controls autoplay muted>
<source src="./images/1.mp4" type="video/mp4">
video>
属性 | 值 | 说明 |
---|---|---|
autoplay | autoplay | 自动播放 |
controls | controls | 显示控件 |
loop | loop | 循环播放 |
src | url | 音频地址 |
preload | auto/none | 规定是否预加载视频 |
poster | imgUrl | 加载等待图片 |
muted | muted | 静音播放 |
<audio control loop>
<source src="./images/1.mp3" type="audio/mp3">
audio>
**注意:**autoplay自动播放在谷歌浏览器中已禁用
根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。
**定义:**css的第三代版本,目前还在草案,在不断改进中,移动端支持优于pc端
E[att]:选择具有att属性的E元素
div[disabled]{
cursor:default
}
E[att=“val”]:选择att属性的值为val的元素
input[type="checkbox"]{
width:20px;
height:20px;
}
E[att^=‘val’]:选择att属性的值开头为val的元素
div[class^='b'] {
background-color: skyblue;
width: 100px;
height: 100px;
}
E[att$=‘val’]:选择att属性的值结尾为val的元素
E[att*=‘val’]:选择att属性的值包含val的元素
E:frist-child匹配父元素第一个子元素
li:frist-child{
color:red
}
E:last-child匹配父元素最后一个子元素
li:last-child{
background-color:red
}
E:nth-child(n)匹配父元素第N个元素
li:nth-child(2){
background-color:yellow
}
E:frist-of-type指定类型元素的第一个
p:first-of-type {
color: slateblue;
}
E:last-of-type指定类型元素的最后一个
p:last-of-type {
color: slateblue;
}
E:nth-of-type(n)指定类型的第n个
p:nth-of-type(2) {
color: slateblue;
}
n可以是公式、关键字、公式
关键字有even偶数,odd奇数
常见公式
公式 | 取值 |
---|---|
2n | 偶数 |
2n+1 | 奇数 |
5n | 5的倍数 |
n+5 | 从第5个开始 |
-n+5 | 前五个 |
div p:nth-child(2){
color:red;
}
<div>
<h3>我是标题h3>
<p>111111p>
<p>222222p>
<p>3333333p>
div>
<!--结果是div的第二个子元素变红,也就是第一个p标签--!>
**定义:**动画是 CSS3 中最具颠覆性的特征之一,可通过设置多个节点来精确的控制一个或者一组动画,从而实现复杂的动画效果
属性 | 说明 |
---|---|
@keyframes | 规定动画 |
animation | 简写方式 |
animation-name | 动画名称 |
animation-duration | 动画周期 |
animation-timing-function | 速度曲线 |
animation-delay | 动画延时 |
animation-iteration-count | 播放次数。infinte无数次 |
animation-direction | 逆向播放 |
animation-play-state | 是否暂停 |
animation-fill-mode | 结束后状态 |
html,
body {
background: #ccc;
}
div {
width: 200px;
height: 100px;
background: url(/images/bear.png);
border: 1px solid #000;
animation: move 0.3s steps(8) infinite
}
@keyframes move {
0% {
background-position: 0 0;
}
100% {
background-position: -1600px 0;
}
}
translateX()
向x轴平移正数向右,负数向左
translateY
向y轴平移,整数向下负数向上
translateZ
z轴可以理解为你与电脑屏幕之间的距离,值越大距离屏幕越近,值越小离屏幕距离越远
首先Z 轴是朝向我们的,所以 看不出效果,但是,我们把它转个身,让Z轴 面对 右边,就可以了。
translate3d()
translate3d是同时设置x,y,z轴的,不过其中的三个参数必须都设置,如不需要就填0
简单的说,可以模拟出我们人看电脑上的显示的像素一样。比如说
perspective:800px 意思就是,我在离屏幕800px 的地方观看这个元素。(这个属性,要设置在父元素上面)
那么思考一个问题,transform:translateZ 呢,可以增加 Z轴的距离, 那么Z轴越大,是不是也就代表着,这个元素,离我们的距离越近? 那么,你把一张图片,贴到你脸上,有什么效果? 是不是非常大?有人可能会问,这两者之间有什么关系吗? 肯定是有的,这个 perspective 配合 transform:translateZ 就有这种效果, 我们来看看。
有没有发现,临近 800px 的时候, 图片突然变黑了, 然后到800px的时候, 图片消失了。 这又是为啥呢? 其实很像我们现实中的例子一样,一张远处的图片,慢慢的移动到你脸上, 你会看见图片越来越大,贴到你脸上的时候,是不是 你就看不见了? 到800px 的时候,你人都和图片 融合在一体了, 如果801px 是不是你都穿过这张图片了?道理是一样的啦。
左手准则
rotateX
rotateY
rotateZ
rotate3d
transform: rotate3d(x, y, z, deg) – 沿着自定义轴旋转 deg 为角度
x, y, z 表示旋转轴的矢量,是标识你是否希望沿着该轴进行旋转,最后一个标识旋转的角度
transform: rotate3d(1, 1, 0, 180deg) – 沿着对角线旋转 45deg
transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间中呈现。
属性
transform-style属性需要设置在父元素中,并且高于任何嵌套的变形元素。