快来了解——HTML5、CSS3新特性

HTML5新特性

HTML5的新增特性主要是针对于以前的不足,增加了一些新的标签新的表单新的表单属性。这些特性都有兼容性问题,IE9+以上版本才支持,如果不考虑兼容性问题,可以大量使用这些新特性。

新增语义化标签

<header>:头部标签

nav:导航标签

<article>:内容标签

<section>:定义文档某个区域

<side>:侧边栏标签

<footer>:尾部标签

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

新增多媒体标签

主要包含两个:

  1. 音频:<audio>

  2. 视频:<video>

视频标签

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

浏览器MP4WebMOgg
Internet ExplorerYESNONO
ChromeYESYESYES
FirefoxYESYESYES
SafariYESNONO
OperaYES (从 Opera 25 起)YESYES

尽量使用MP4格式。

语法

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

<video width="320" height="240" controls>
  <source src="movie.mp4" type="video/mp4">
  <source src="movie.ogg" type="video/ogg">
您的浏览器不支持Video标签。
</video>
属性描述
autoplayautoplay如果出现该属性,则视频在就绪后马上播放。
controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。
heightpixels设置视频播放器的高度。
looploop如果出现该属性,则当媒介文件完成播放后再次开始播放。
mutedmuted如果出现该属性,视频的音频输出为静音。
posterURL规定视频正在下载时显示的图像,直到用户点击播放按钮。
preloadauto metadata none如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 “autoplay”,则忽略该属性。
srcURL要播放的视频的 URL。
widthpixels设置视频播放器的宽度。

音频标签

浏览器MP3WavOgg
Internet ExplorerYESNONO
ChromeYESYESYES
FirefoxYESYESYES
SafariYESYESNO
OperaYESYESYES

语法

<audio controls>
  <source src="horse.mp3" type="audio/mpeg">
  <source src="horse.ogg" type="audio/ogg">
  Your browser does not support this audio format.
</audio>
属性描述
autoplayautoplay如果出现该属性,则音频在就绪后马上播放。
controlscontrols如果出现该属性,则向用户显示音频控件(比如播放/暂停按钮)。
looploop如果出现该属性,则每当音频结束时重新开始播放。
mutedmuted如果出现该属性,则音频输出为静音。
preloadauto metadata none规定当网页加载时,音频是否默认被加载以及如何被加载。
srcURL规定音频文件的 URL。

HTML5新增的input类型

语法

<input type="value">

属性值

描述
button定义可点击的按钮(通常与 JavaScript 一起使用来启动脚本)。
checkbox定义复选框。
color定义拾色器。
date定义 date 控件(包括年、月、日,不包括时间)。
datetime定义 date 和 time 控件(包括年、月、日、时、分、秒、几分之一秒,基于 UTC 时区)。
datetime-local定义 date 和 time 控件(包括年、月、日、时、分、秒、几分之一秒,不带时区)。
email定义用于 e-mail 地址的字段。
file定义文件选择字段和 “浏览…” 按钮,供文件上传。
hidden定义隐藏输入字段。
image定义图像作为提交按钮。
month定义 month 和 year 控件(不带时区)。
number定义用于输入数字的字段。
password定义密码字段(字段中的字符会被遮蔽)。
radio定义单选按钮。
range定义用于精确值不重要的输入数字的控件(比如 slider 控件)。
reset定义重置按钮(重置所有的表单值为默认值)。
search定义用于输入搜索字符串的文本字段。
submit定义提交按钮。
tel定义用于输入电话号码的字段。
text默认。定义一个单行的文本字段(默认宽度为 20 个字符)。
time定义用于输入时间的控件(不带时区)。
url定义用于输入 URL 的字段。
week定义 week 和 year 控件(不带时区)

HTML5新增的表单属性

属性描述
acceptaudio/* video/* image/* MIME_type规定通过文件上传来提交的文件的类型。 (只针对type=“file”)
alignleft right top middle bottomHTML5已废弃,不赞成使用。规定图像输入的对齐方式。 (只针对type=“image”)
alttext定义图像输入的替代文本。 (只针对type=“image”)
autocomplete Newon offautocomplete 属性规定 元素输入字段是否应该启用自动完成功能。
autofocus Newautofocus属性规定当页面加载时 元素应该自动获得焦点。
checkedcheckedchecked 属性规定在页面加载时应该被预先选定的 元素。 (只针对 type=“checkbox” 或者 type=“radio”)
disableddisableddisabled 属性规定应该禁用的 元素。
form Newform_idform 属性规定 元素所属的一个或多个表单。
formaction NewURL属性规定当表单提交时处理输入控件的文件的 URL。(只针对 type=“submit” 和 type=“image”)
formenctype Newapplication/x-www-form-urlencoded multipart/form-data text/plain属性规定当表单数据提交到服务器时如何编码(只适合 type=“submit” 和 type=“image”)。
formmethod Newget post定义发送表单数据到 action URL 的 HTTP 方法。 (只适合 type=“submit” 和 type=“image”)
formnovalidate Newformnovalidateformnovalidate 属性覆盖 元素的 novalidate 属性。
formtarget New_blank _self _parent _top framename规定表示提交表单后在哪里显示接收到响应的名称或关键词。(只适合 type=“submit” 和 type=“image”)
height Newpixels规定 元素的高度。(只针对type=“image”)
list Newdatalist_id属性引用 元素,其中包含 元素的预定义选项。
max Newnumber date属性规定 元素的最大值。
maxlengthnumber属性规定 元素中允许的最大字符数。
min Newnumber date属性规定 元素的最小值。
multiple Newmultiple属性规定允许用户输入到 元素的多个值。
nametextname 属性规定 元素的名称。
pattern Newregexppattern 属性规定用于验证 元素的值的正则表达式。
placeholder Newtextplaceholder 属性规定可描述输入 字段预期值的简短的提示信息
readonlyreadonlyreadonly 属性规定输入字段是只读的。
required Newrequired属性规定必需在提交表单之前填写输入字段
sizenumbersize 属性规定以字符数计的 元素的可见宽度。
srcURLsrc 属性规定显示为提交按钮的图像的 URL。 (只针对 type=“image”)
step Newnumberstep 属性规定 元素的合法数字间隔。
typebutton checkbox color date datetime datetime-local email file hidden image month number password radio range reset search submit tel text time url weektype 属性规定要显示的 元素的类型。
valuetext指定 元素 value 的值。
width Newpixelswidth 属性规定 元素的宽度。 (只针对type=“image”)

CSS3新特性

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

CSS3新增选择器

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

属性选择器

  • 利用属性选择器可以不用借助于类或者id选择器。
<style>
  /*必须是input而且其中有value这个属性*/
  input[value] {
    color: pink;
  }
</style>  

<input type="text" value="请输入用户名">
<input type="text">
  • 属性选器还可以选择属性=值的某些元素。(重点)
<style>
  /*input标签中属性type的属性值为text*/
  input[type=text] {
    color: pink;
  }
</style>
<input type="text">
<input type="password">

  • 属性选择器可以选择属性值开头的某些元素。
<style>
  /*选择首先是div然后具有class属性,并且属性值必须是icon开头的这些元素*/
  div[class^=icon] {
    color: pink;
  }
</style>

<div class="icon1">小图标1</div>
<div class="icon2">小图标2</div>
<div class="icon3">小图标3</div>
<div class="icon4">小图标4</div>
<div>打酱油</div>
  • 属性选择器可以选择属性值结尾的某些元素
<style>
  /*选择首先是div然后具有class属性,并且属性值必须是icon开头的这些元素*/
  div[class$=blue] {
    color: blue;
  }
</style>

<div class="icon1-blue">小图标1</div>
<div class="icon2-blue">小图标2</div>
<div class="icon3-yellow">小图标3</div>
<div class="icon4-red">小图标4</div>
<div>打酱油</div>

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

结构伪类选择器

  • E:first-child:匹配父元素中的第一个E元素
  • E:last-child:匹配父元素中最后一个E元素
  • E:nth-child(n):匹配父元素中的第n个子元素E(小括号中n可以为数字公式:2n——偶数,2n+1——奇数,5n——5的倍数,n+5——5之后的所有,-n+5——前5个 ,关键字:even——偶数,odd——奇数)【会把所有的盒子都排序号】
  • E:first-of-type:指定类型E的第一个
  • E:last-of-type:指定类型E的最后一个
  • E:nth-of-type():指定类型E的第n个

区别

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

伪元素选择器

伪元素选择器可以帮助我们利用CSS创建新元素,而不需要HTML标签

  • ::before:在元素内部的前面插入内容
  • ::after:在元素内部的后面插入内容

注意

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

CSS3盒子模型

CSS3中可以通过box-sizing来指定盒模型,有两个值:即可指定为content-boxborder-box,这样我们计算盒子大小的方式就发生了改变。

  • 可以分成两种:
    • box-sizing: content-box:盒子大小width+padding+border(以前默认的)
    • box-sizing: border-box:盒子大小为width
  • 如果盒子模型我们改变了box-sizing: border-box,那padding和border就不会撑大盒子了(前提padding和border不会超过width宽度)

CSS3其他特性

CSS3滤镜filter

filter CSS属性将模糊或颜色偏移等图像效果应用于元素。

filter: 函数();例如:filter: blur(5px);

blur模糊处理,数值越大越模糊。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ezg2pyW0-1594612018397)(/Users/mac/Desktop/MarkDown /HTML5CSS3新特性/1.jpg)]

添加filter: blur(5px);之后:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aL71DYlZ-1594612018399)(/Users/mac/Desktop/MarkDown /HTML5CSS3新特性/2.jpg)]

CSS3 calc函数

calc()此CSS函数让你在声明CSS属性值时执行一些计算。

width: clac(100%-80px);

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <style>
        .father {
            width: 300px;
            height: 200px;
            background-color: pink;
        }
        
        .son {
            width: calc(100% - 30px);
            height: 30px;
            background-color: skyblue;
        }
    </style>
</head>

<body>
    <div class="father">
        <div class="son"></div>
    </div>
</body>

</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wF6s0D59-1594612018401)(/Users/mac/Desktop/MarkDown /HTML5CSS3新特性/3.jpg)]

  • 注意:css的运算符"+ - * /"左右两边均要留空格。

CSS3过渡(重点)

  • 过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不适用Flash动画或Javascript的情况下,当元素从一种样式变换为另一种样式时添加效果。
  • 过渡动画:是从一个状态,渐渐的过渡到另外一个状态
  • 我们可以让页面更好看,动感十足,虽然低版本浏览器不支持(ie9以下)但是不会影响页面布局
  • 经常与:hover一起搭配使用。
  • transition:要过渡的属性 花费时间 运动曲线 何时开始;
    • 属性:想要变化的CSS属性,宽度、高度、背景颜色、内外边框都可以。如果想要所有属性都变化过渡,写一个all就可以。
    • 花费时间:单位是秒(必须写单位)例如0.5s
    • 运动曲线:默认是ease(可以省略)
    • 何时开始:单位是秒(必须写单位),可以设置延迟触发时间 默认是0s(可以省略)
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title></title>
    <style>
        div {
            width: 200px;
            height: 100px;
            background-color: pink;
            transition: width 1s;
        }
        
        div:hover {
            width: 400px;
        }
    </style>
</head>

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

</html>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v57tmwFr-1594612018403)(/Users/mac/Desktop/MarkDown /HTML5CSS3新特性/4.gif)]

  • 记住过渡的使用口诀:谁做过渡给谁加!如果想要写多个属性,用逗号隔开,但建议使用all。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值