文章目录
Html5+Css3
Html5新特性
- 新的标签
<header></header> 头部标签
<nav></nav> 导航栏标签
<aside></aside> 侧边栏标签
<section></section> 定义文档某个区域
<article></article> 内容标签
<footer></footer> 尾部标签
在这里插入图片描述
- 新的多媒体标签
1.视频标签
<video src="路径" ></video>
属性
浏览器兼容问题
兼容写法:
2.音频标签
<video src="路径" ></video>
属性
总结:
- 新的表单
1.input标签
<input src="类型"></input>
2.新增表单属性
Css3新增属性选择器
属性选择器
根据元素特定的属性选择元素,这样可以不用借助于类或id选择器。
<input type="text" value="请输入用户名">
<input type="text">
/*应用范围必须是input 需要具有value这个属性,才可以选择这个元素*/
input[value]{
color: pink;
}
<input type="text" name="" id="">
<input type="password" name="" id="">
/*不局限于input,div[class=a]或者其他标签也可以*/
input[type=test]{
color: pink;
}
<div class="icon1">hello</div>
<div class="icon2">hello</div>
<div class="abcd">hello</div>
<div class="icon3">hello</div>
<div class="icon4">hello</div>
/*选择首先是div 然后 具有class属性 并且属性名必须是icon开头的*/
div[class^=icon]{
color:gray
}
<div class="icon1-data">hello</div>
<div class="icon2-data">hello</div>
<div class="abcd">hello</div>
<div class="icon3">hello</div>
<div class="icon4">hello</div>
/*选择首先是div 然后 具有class属性 并且属性名必须是data结尾的*/
div[class$=data]{
color:gray
}
<div class="icon1abc-data">hello</div>
<div class="icon2abc-data">hello</div>
<div class="abcd">hello</div>
<div class="icon3">hello</div>
<div class="icon4">hello</div>
/*选择首先是div 然后 具有class属性 并且属性名必须包含abc的*/
div[class*=abc]{
color:gray
}
伪类选择器
使用方法:
child选择器
使用方法
Css3新增伪元素
使用伪元素就不需要插入多余的html标签了。(不是真正意义上的元素)
当我们使用伪元素时,其实创建的也是一个盒子,需要考虑的时盒子的先后顺序问题。
效果:
使用伪元素做一个下拉框三角样式
完成效果:(使用字体图标)
使用伪元素重写视频播放的效果
伪元素清除浮动(额外标签法的升级)
方法一:
原理和额外标签法类似,只不过不需要添加新的标签
方法二:
Css3盒子模型
css为盒子设置margin和padding时会撑大盒子,所以需要自己减去margin和padding的宽高,css3盒子模型可以通过box-sizing来指定盒子。
Css3实现模糊效果
效果:
Css3的clcs()函数
设置完后子盒子宽度永远比父盒子小30px
效果:
Css3新增属性过渡
可以在需要变化的元素添加,让变化效果不会显得突兀。(谁做过渡给谁加)
2D转换之translate
可以使用translate完成盒子水平垂直居中对齐。
之前使用top和left属性分别设置50%,然后再设置margi-left和margin-top来实现居中对齐,这里可以将后面部分改为translate(-50%,-50%)
2D转换之rotate
可以使用旋转实现css三角下拉框
再父盒子中添加一个子盒子,子盒子设置随意的两个边框比如下边框和右边框,然后旋转合适的角度就可以实现三角下拉框的效果了。
设置旋转中心点
2D转换之scale
使用scale制作一个缩放按钮
html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="../css/button.css" type="text/css" />
</head>
<body>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
</body>
</html>
css
*{
margin: 0;
padding: 0;
}
ul{
}
ul li{
float: left;
display: block;
margin: 10px;
width: 30px;
height: 30px;
border: 1px solid pink;
text-align: center;
line-height: 30px;
border-radius:50%;
}
ul li:hover{
transform:scale(1.1);
}
效果
鼠标经过按钮,按钮会进行缩放,比如现在鼠标在5这个按钮上,所以5这个按钮进行放大操作。
2D转换的综合写法
当我们需要组合使用几何变换效果,我们可以使用综合写法
几何变换也存在先后顺序问题,根据代码的先后顺序执行。一般采取的策略是:
2D转换总结
Css3动画
概念:
keyframe定义动画
动画序列
动画可以有多个状态,可以使用x%来表示某个时间段的状态。
Css3常用的动画属性
Css3动画简写
简写格式
例子
速度曲线细节
有了step就不用再些ease了。
需要添加多个动画可以使用逗号隔开。
3D转换
三维坐标系
3D转换translate3d
透视perspective
设置在父盒子上,让立体感变强。
3D旋转rotate3d
使用方法类似于2d,旋转方向可以使用左手法则判断。
3D呈现transfrom-style
浏览器私有前缀
- -moz- 代表火狐firefox浏览器的私有属性
- -ms- 代表ie浏览器的私有属性
- -webkit- 代表safair、chrome浏览器的私有属性
-1661495946158)]