HTML5的新特性,CSS3的新特性

1.HTML5的新特性

HTML5的新特性主要针对以前的不足,增加了一些新的标签,新的表单,新的表单属性等。

这些新特性都有兼容性问题,基本是IE9+以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特性。

1.1HTML5 新增的语义化标签

以前布局,我们用div来做。div对于搜索引擎来说,是没有语义的。

  • <header>  头部标签
  • <nav>  导航栏标签
  • <artical>  内容标签
  • <section> 定义文档某个区域
  • <aside>  侧边栏标签
  • <footer>  尾部标签

注意:

  • 这种语义化标准主要是针对搜索引擎的
  • 这些新标签页面中可以使用多次
  • 在IE9中,需要把这些标签转换为块级元素
  • 其实,我们移动端更喜欢使用这些标签
  • HTML5还增加了很多其他标签,后面在学

1.2HTML5 新增的多媒体标签

新增的多媒体标签主要包含两个:

  1. 音频:<audio>
  2. 视频:<video> 

使用他们可以很方便的在页面中嵌入音频和视频,而不再去使用flash和其他浏览器插件。 

1.视频<video>

当前<video> 元素支持三种视频格式:尽量使用mp4格式

语法

<video src="文件地址" controls="controls"> </video>

为了照顾兼容新 使用这种方法:

<video width="320" height="240" controls>

        <source src="movie.mp4" type="video/mp4">

        <source src="move.ogg" type="video/ogg">

        您的浏览器不支持 video 标签。

</video>

视频<video> —— 常见属性

属性 描述
autoplay autoplay 视频就绪自动播放(谷歌浏览器需要添加muted来解决自动播放问题)
controls controls 向用户显示播放空间
width pixels(像素) 设置播放宽度
height pixels(像素) 设置播放宽度
loop loop 播放完是否继续播放该视频,循环播放
preload

auto(预先加载视频)

none(不应加载视频)

规定是否预先加载视频(如果有了autoplay 就忽略该属性)
src url 视频url地址
poster lmgurl 加载等待的画面图片
muted muted 静音播放

 1.2HTML5新增的多媒体标签

HTML5 在不使用插件的情况下,也可以原生的支持音频格式文件的播放,当然,支持的格式是有限的。

2.音频<audio>

当前<audio>元素支持三种音频格式:

语法:

<audio src="文件地址" controls=''controls"> </audio> 

为了照顾兼容新 使用这种方法:

<sudio controls="controls">

        <source src="happy.mp3" type="happy/mp3">

        <source src="happy.ogg" type="happy/ogg">

        您的浏览器不支持<sudio> 标签。

</audio>

常见属性

属性 描述
autoplay autoplay 如果出现该属性,则音频在就绪后马上播放
contorls controls 如果出现该属性,则向用户显示控件,比如播放按钮
loop loop 如果出现该属性,则每当音频结束时重新开始播放
src url 要播放的音频URL
  •  谷歌浏览器把音频和视频自动播放禁止了

3.多媒体标签总结

  • 音频标签和视频标签使用方法基本一致
  • 浏览器支持情况不同
  •  谷歌浏览器把音频和视频自动播放禁止了
  • 我们可以给视频标签添加muted 属性来静音播放视频,音频不可以(可以通过Javascript解决)
  • 视频标签时重点,我们经常设置自动播放,不使用controls控件,循环和设置大小属性

1.3 HTML5 新增的input 类型

重点记住:number tel search 这三个

1.4HTML5新增的表单属性

属性 说明
required required 表单拥有该属性表示其内容不能为空,必填
placeholder 提示文本 表单的提示信息,存在默认值将不显示
autofocus autofocus 自动聚焦属性,页面加载完成自动聚焦到指定表单
autocomplete off/on

当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出字段中填写的选项.

默认已经打开,如 autocomplete="on",关闭 auto complete="off",需要放在表单内,同时加上name属性,同时成功提交。

multiple multiple 可以多选文件提交

可以通过一下方式修改placeholder里面的颜色:

input::placeholder {
        color: pink;

        }

 2.CSS3的新特性

2.1CSS3 的现状

  • 新增的CSS3特性有兼容性问题,ie9+才支持
  • 移动端支持优于PC端
  • 不断改进中
  • 应用相对于广泛
  • 现阶段主要学习:新增选择器和盒子模型以及其他特点

 CSS3给我们新增了选择器,可以更加便捷,更加自由的选择目标元素。

  1. 属性选择器
  2. 结构伪类选择器
  3. 伪元素选择器

2.2属性选择器

属性选择器可以根据元素特定的属性来选择元素。这样就可以不在借助于类或者id 选择器。

 注意: 类选择器,属性选择器,伪类选择器,权重为10;

2.3结构伪类选择器

结构伪类选择器主要根据文档结构来选择元素,常用于根据父级选择器里面的子元素。

 nth-child (n) 选择某个元素的一个或多个特定的子元素。

  • n可以是数字,关键字和公式
  • n如果是数字,就是选择第n个子元素,里面的数字从1开始... 
  • n还可以是关键字:even 偶数,odd 奇数。
  • n 可以是公式:常见的公式如下(如果n是公式,则从0开始计算,但是第0个元素或者超出了元素的个数会被忽略)

 区别:

  1. nth-child 对父元素里面所有孩子排序选择(序号是固定的)先找到第n个孩子,然后看看是否和E匹配。
  2. nth-of-type 对父元素里面指定元素进行排序选择,先去匹配E,然后在根据E找第n个孩子。 

小结

  • 结构伪类选择器一般用于选择父级里面的第几个孩子
  • nth-child 对父元素里面所有孩子排序选择(序号是固定的) 先找到第n个孩子,然后看看是否和E匹配。
  • nth-of-type 对父元素里面指定子元素进行排序选择,先去匹配E,然后在根据E找到第n个孩子。
  • 关于 nth-child(n) 我们要知道 n是从0 开始计算的,要记住常用的公式
  • 如果是无序列表,我们肯定用 nth-child 更多。
  • 类选择器,属性选择器,伪类选择器,权重都为10.

 2.4伪元素选择器(重点)

为元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HTML标签,从而简化HTML结构。

选择器 简介
::before 在元素内部的前面插入内容
::after 在元素的后面插入内容

注意:

  • before 和 after 创建一个元素,但是属于行内元素
  • 新创建的这个元素在文档树中是找不到的,所以我们称为伪元素
  • 语法: element::before {}
  • before和after 必须有 conten属性
  • before 在父元素内容的前面创建元素,after在父元素的后面插入元素
  • 伪类元素选择器和标签选择器一样,权重为1

案例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>伪元素选择器使用场景-字体图标</title>
    <style>
        @font-face {
            font-family: 'icomoon';
            src: url('fonts/icomoon.eot?p4ssmb');
            src: url('fonts/icomoon.eot?p4ssmb#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?p4ssmb') format('truetype'), url('fonts/icomoon.woff?p4ssmb') format('woff'), url('fonts/icomoon.svg?p4ssmb#icomoon') format('svg');
            font-weight: normal;
            font-style: normal;
            font-display: block;
        }
        
        div {
            position: relative;
            width: 200px;
            height: 35px;
            border: 1px solid red;
            color: red;
            font-size: 20px;
        }
        
        div::after {
            position: absolute;
            top: 10px;
            right: 10px;
            font-family: 'icomoon';
            content: '\e91e';
        }
    </style>
</head>

<body>
    <div></div>
</body>

</html>

猜你喜欢

转载自blog.csdn.net/weixin_68773927/article/details/130089962