1.4-HTML5
HTML5 新增标签
语义化标签
- header — 头部标签
nav — 导航标签
article — 内容标签
section — 块级标签
aside — 侧边栏标签
footer — 尾部标签
多媒体音频标签
-
音频 – audio
-
属性
- controls 表示控件 autoplay 音频就绪后马上播放 loop 循环播放 音频结束后重新开始播放
-
-
视频 – video
-
属性
- controls 表示控件 autoplay 音频就绪后马上播放 loop 循环播放 音频结束后重新开始播放 poster 指的是 视频没加载出来先显示此张图片,为了美观不显示一片空白
muted 指的是 静音播放 preload 是否预加载(auto 是;none 否) width heighe
- controls 表示控件 autoplay 音频就绪后马上播放 loop 循环播放 音频结束后重新开始播放 poster 指的是 视频没加载出来先显示此张图片,为了美观不显示一片空白
-
新增 input 标签
新增表单属性
CSS3 属性选择器
结构伪类选择器
-
代码演示1
-
代码演示2
nth-child 参数详解
- 注意:本质上就是选中第几个子元素
n 可以是数字、关键字、公式
n 如果是数字,就是选中第几个
常见的关键字有 even 偶数、 odd 奇数
常见的公式如下(如果 n 是公式,则从 0 开始计算)
但是第 0 个元素或者超出了元素的个数会被忽略
伪元素选择器
-
伪类选择器注意事项
- before 和 after 必须有 content 属性
before 在内容前面,after 在内容后面
before 和 after 创建的是一个元素,但是属于行内元素
创建出来的元素在 Dom 中查找不到,所以称为伪元素
伪元素和标签选择器一样,权重为 1
- before 和 after 必须有 content 属性
2D 转换之 translate
-
移动: translate
旋转: rotate
缩放: scale -
2D 转换之 translate
-
translate 语法
- transform: translate(x, y)
transform: translateX(n)
transfrom: translateY(n)
- transform: translate(x, y)
-
重点知识点
- 2D 的移动主要是指 水平、垂直方向上的移动
translate 最大的优点就是不影响其他元素的位置translate 中的100%单位,是相对于本身的宽度和高度来进行计算的
行内标签没有效果
- 2D 的移动主要是指 水平、垂直方向上的移动
-
-
2D 转换 rotate
- rotate 语法
/* 单位是:deg */
transform: rotate(度数)
- 重点知识点
- rotate 里面跟度数,单位是 deg
角度为正时,顺时针,角度为负时,逆时针
默认旋转的中心点是元素的中心点
- 设置元素旋转中心点(transform-origin)
- transform-origin 基础语法
- `transform-origin: x y;`
- 重要知识点
- 注意后面的参数 x 和 y 用空格隔开
x y 默认旋转的中心点是元素的中心 (50% 50%),等价于 center center
还可以给 x y 设置像素或者方位名词( top 、 bottom 、 left 、 right 、 center )
-
2D 转换之 scale
-
语法
transform: scale(x, y)
-
知识要点
- 注意,x 与 y 之间使用逗号进行分隔
transform: scale(1, 1) : 宽高都放大一倍,相当于没有放大
transform: scale(2, 2) : 宽和高都放大了二倍
transform: scale(2) : 如果只写了一个参数,第二个参数就和第一个参数一致
transform:scale(0.5, 0.5) : 缩小
- 注意,x 与 y 之间使用逗号进行分隔
-
-
2D 转换综合写法以及顺序问题
- 同时使用多个转换,其格式为 transform: translate() rotate() scale()
顺序会影响到转换的效果(先旋转会改变坐标轴方向)
但我们同时有位置或者其他属性的时候,要将位移放到最前面
- 同时使用多个转换,其格式为 transform: translate() rotate() scale()
动画(animation)
- 语法格式(定义动画)
@keyframes 动画名称 {
0% {
width: 100px;
}
100% {
width: 200px
}
}
- 语法格式(使用动画)
- div {
/* 调用动画 */
animation-name: 动画名称;
/* 持续时间 */
animation-duration: 持续时间;
}
-
动画序列
- 0% 是动画的开始,100 % 是动画的完成,这样的规则就是动画序列
在 @keyframs 中规定某项 CSS 样式,就由创建当前样式逐渐改为新样式的动画效果
动画是使元素从一个样式逐渐变化为另一个样式的效果,可以改变任意多的样式任意多的次数
用百分比来规定变化发生的时间,或用 from 和 to ,等同于 0% 和 100%
- 0% 是动画的开始,100 % 是动画的完成,这样的规则就是动画序列
-
动画常见属性
-
动画简写方式
-
/* animation: 动画名称 持续时间 运动曲线 何时开始 播放次数 是否反方向 起始与结束状态 */
animation: name duration timing-function delay iteration-count direction fill-mode -
知识要点
- 简写属性里面不包含 animation-paly-state
暂停动画 animation-paly-state: paused ; 经常和鼠标经过等其他配合使用
要想动画走回来,而不是直接调回来: animation-direction: alternate
盒子动画结束后,停在结束位置: animation-fill-mode: forwards
- 简写属性里面不包含 animation-paly-state
-
-
速度曲线细节
案例们
进度条案例
-
效果图
文字滚动效果案例
-
效果图
旋转木马案例
-
效果图
二维码红线案例
-
效果图
四个小人案例
-
效果图
大白熊案例
-
效果图
转圈圈案例
-
效果图