0基础学web前端第14天:HTML5CSS3第一天(html5标签及CSS3属性选择器)
一、什么时HTML5
HTML5定义了HTML标准的最新版本,是对HTML的第五次重大修改,号称下一代的HTML。是一个新版本的html语言,定义了新的标签、特性和属性。拥有一个强大 的技术集,这些技术集是指:html5,css3,javascript,这也是广义上的html5。
那么html5拓展了哪些内容:语文化标签,本地存储,兼容特性,2D、3D,动画、过渡,CSS3特性,性能与集成。绝大多数新的特性,都已经被浏览器所支持,最新版的浏览器已经支持最新的特性。
二、HTML5新增语义化
1.什么是语义化
2.新增了哪些语义化标签
header——头部标签;nav——导航标签;article——内容标签;section——块级标签;aside——侧边栏标签;footer——尾部标签

使用语义化标签主要是针对搜索引擎,新标签可以使用一次或多次,在IE9浏览器中,需要把语义化标签都转换为块级元素,语义化标签,在移动端支持比较友好,另外HTML5新增了很多的语义化标签。
三、多媒体音频标签
1. 多媒体标签有两个,分别是音频——audio,视频——video
2. audio 标签可以在不使用标签的情况下,也能够原生 支持音频格式文件的播放,但是播放格式是有限的。
3. audio 目前支持三种格式

4. audio的参数
| 属性 | 值 | 描述 |
|---|---|---|
| autoplay | autoplay | 如果出现该属性,则音频在就绪后巴上播放 |
| controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮 |
| loop | loop | 如果出现该属性,则每当音频结束时重新开始播放 |
| src | url | 要播放的音频的URL |
5. audio 代码演示
<body>
<!-- 注意:在 chrome 浏览器中已经禁用了 autoplay 属性 -->
<!-- <audio src="./media/snow.mp3" controls autoplay></audio> -->
<!--
因为不同浏览器支持不同的格式,所以我们采取的方案是这个音频准备多个文件
-->
<audio controls>
<source src="./media/snow.mp3" type="audio/mpeg" />
<source src="./media/snow.ogg" type="audio/ogg">
您的浏览器不支持 audio 元素。
</audio>
</body>
四、多媒体视频标签
1.video 视频标签目前支持三种格式
| 格式 | IE | Firefox | Opera | Chrome | Safari |
|---|---|---|---|---|---|
| Ogg | No | 3.5+ | 10.5+ | 5.0+ | No |
| MPEG4 | 9.0 | 21+ | 25+ | 5.0+ | 3.0+ |
| WebM | No | 4.0+ | 10.6+ | 6.0+ | No |
2.语法格式
<video src="./media/video.mp4" controls="controls"></video>
3.video参数
| 属性 | 值 | 描述 |
|---|---|---|
| autoplay | autoplay | 如果出现该属性,则音频在就绪后巴上播放 |
| controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮 |
| width | width | 设置播放器宽度 |
| height | height | 设置播放器高度 |
| loop | loop | 如果出现该属性,则每当视频结束时重新开始播放 |
| preload | auto(预先加载视频) none(不应加载视频) |
规定是否预加载视频(如果有了autoplay就忽略该属性) |
| src | url | 要播放的音频的URL |
| poster | Imgurl | 加载等待的画面图片 |
| muted | muted | 静音播放 |
4. video 代码演示
<body>
<!-- <video src="./media/video.mp4" controls="controls"></video> -->
<!-- 谷歌浏览器禁用了自动播放功能,如果想自动播放,需要添加 muted 属性 -->
<video controls="controls" autoplay muted loop poster="./media/pig.jpg">
<source src="./media/video.mp4" type="video/mp4">
<source src="./media/video.ogg" type="video/ogg">
</video>
</body>
5.多媒体标签总结
音频标签与视频标签使用基本一致。多媒体标签在不同浏览器下情况不同,存在兼容性问题,谷歌浏览器把音频和视频标签和自动播放都禁止了,谷歌浏览器中视频添加muted标签可以自己播放。
五、新增input标签
| 属性值 | 说明 |
|---|---|
| type="email" | 限制用户输入必须为Email类型 |
| type="url" | 限制用户输入必须为URL类型 |
| type="date" | 限制用户输入必须为日期类型 |
| type="time" | 限制用户输入必须为时间类型 |
| type="month" | 限制用户输入必须为月类型 |
| type="week" | 限制用户输入必须为周类型 |
| type="number" | 限制用户输入必须为数字类型 |
| type="tel" | 手机号码 |
| type="search" | 搜索栏 |
| type="color" | 生成一个颜色选择表单 |
六、新增表单属性
| 属性 | 值 | 说明 |
|---|---|---|
| required | required | 表示其内容不能为空,必填 |
| placeholder | 提示文本(占位符) | 表单的提示信息,存在默认值将不显示 |
| autofocus | autofocus | 自动聚集属性,页面加载完成自动聚集到指定表单 |
| autocomplete | off/on | 当用户在字段键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。默认已经打开,如autocomplete="on",关闭autocomplete="off"需要放在表单内同时加上name属性,同时成功提交 |
| multiple | multiple | 可以多选提交 |
七、CSS3属性选择器
1.CSS3是在CSS2的基础上拓展、新增的样式。
2.CSS3发展现状:移动端支持优先PC端,相对于Html5,应用非常广泛。
3.属性选择器列表
| 选择符 | 简介 |
|---|---|
| E[att] | 选择具有att属性的E元素 |
| E[att="val"] | 匹配具有att属性,且值等于val的E元素 |
| E[att^="val"] | 匹配具有att属性,且值以val开头的E元素 |
| E[att$="val"] | 匹配具有att属性,且值以val结尾的E元素 |
| E[att*="val"] | 匹配具有att属性,且值中含有val的E元素 |
4.属性选择器代码演示
button {
cursor: pointer;
}
button[disabled] {
cursor: default
}
属性选择器代码演示
input[type=search] {
color: skyblue;
}
span[class^=black] {
color: lightgreen;
}
span[class$=black] {
color: lightsalmon;
}
span[class*=black] {
color: lightseagreen;
}
八、结构伪类选择器
1,属性列表
| 选择符 | 简介 |
|---|---|
| E:first-child | 匹配父元素中的第一个子元素E |
| E:last-child | 匹配父元素中的最后一个E元素 |
| E:nth-child(n) | 匹配父元素中的第n个元素E 本质上就是选中第几个子元素 n可以是数字、关键字、公式 n如果是数字,就是选中第几个 常见的关键字even偶数、odd奇数 常见的公式2n:偶数,2n+1:奇数,5n:5的倍数,n+5:从第5个开始(含第5个)到最后,-n+5:前5个(包含第5个) 但是第0个元素或者超出了元素的个数会被忽略。 |
| E:first-of-type | 指定类型E的第一个 |
| E:last-of-type | 指定类型E的最后一个 |
| E:nth-of-type(n) | 指定类型E的第n个 |
2.代码演示
<style>
ul li:first-child {
background-color: lightseagreen;
}
ul li:last-child {
background-color: lightcoral;
}
ul li:nth-child(3) {
background-color: aqua;
}
/* 偶数 */
ul li:nth-child(even) {
background-color: aquamarine;
}
/* 奇数 */
ul li:nth-child(odd) {
background-color: blueviolet;
}
/*n 是公式,从 0 开始计算 */
ul li:nth-child(n) {
background-color: lightcoral;
}
/* 偶数 */
ul li:nth-child(2n) {
background-color: lightskyblue;
}
/* 奇数 */
ul li:nth-child(2n + 1) {
background-color: lightsalmon;
}
/* 选择第 0 5 10 15, 应该怎么选 */
ul li:nth-child(5n) {
background-color: orangered;
}
/* n + 5 就是从第5个开始往后选择 */
ul li:nth-child(n + 5) {
background-color: peru;
}
/* -n + 5 前五个 */
ul li:nth-child(-n + 5) {
background-color: tan;
}
</style>
3.nth-child与nth-of-type的区别:
nth-child选择父元素里面的第几个子元素,不管是第几个类型。
nth-of-type选择指定类型的元素。
<style>
div :nth-child(1) {
background-color: lightblue;
}
div :nth-child(2) {
background-color: lightpink;
}
div span:nth-of-type(2) {
background-color: lightseagreen;
}
div span:nth-of-type(3) {
background-color: #fff;
}
</style>
九、伪元素选择器
1.伪类元素选择器
| 选择符 | 简介 |
|---|---|
| ::before | 在元素内部的前面插入内容 |
| ::after | 在元素内部的后面插入内容 |
2.伪类选择器的注意事项
before和after必须有content属性;before在内容前面,after在内容后面;before和after创建的是一个元素,但是属性行内元素;创建出来的元素在Dom中查找不到,所以称为伪元素;伪元素和标签选择器一样,权重为1。
<style>
div {
width: 100px;
height: 100px;
border: 1px solid lightcoral;
}
div::after,
div::before {
width: 20px;
height: 50px;
text-align: center;
display: inline-block;
}
div::after {
content: '德';
background-color: lightskyblue;
}
div::before {
content: '道';
background-color: mediumaquamarine;
}
</style>
3.伪元素的案例:添加字体图标
p {
width: 220px;
height: 22px;
border: 1px solid lightseagreen;
margin: 60px;
position: relative;
}
p::after {
content: '\ea50';
font-family: 'icomoon';
position: absolute;
top: -1px;
right: 10px;
}


评论