2020-03-06

一、HTML5新增语义化标签

HTML4.01  -->  HTML5 

HTML4.01  -->  XHTML1.0  (Xml +  html4.01)  语法更加严格。

1)语法的区别:XHTML和HTML5

1、内容类型(ContentType)

HTML5的文件扩展符与内容类型保持不变,仍然为".html"或".htm"

2、DOCTYPE声明

<!DOCTYPE html>不区分大小写

  XHTML -- >  <!DOCTYPE html>

  HTML5 -- >  <!DOCTYPE html> 不区分大小写

3、指定字符集编码

<meta charset="UTF-8">

4、可省略标记的元素

不允许写结束标记的元素:br、col、embed、hr、img、input、、link、meta

  XHTML -- >  <br  />

  HTML5 -- >  <br>

5、可以省略结束标记的元素:

  XHTML -- >  <div></div>

  HTML5 -- >  <div>      <option>     

li、dt、dd、p、option、colgroup、thead、tbody、tfoot、tr、td、th

6、可以省略全部标记的元素:html、head、body、colgroup、tbody

7、属性值可以使用双引号,也可以使用单引号。

  XHTML -- >  <input type="text" />

    <input type="checkbox" checked="checked" />

  HTML5 -- >  <input type='text'>

    <input type="checkbox" checked />


注:不建议省略标签和省略号。

2) 语义化标签

  <div class="header"></div>

  <ul class="nav"><ul>

  <div class="main"></div>

  <div class="footer"></div>


    <header></header> 页眉 

    <main></main>      主体

<nav></nav>

<footer></footer> 页脚

1、section元素 表示页面中的一个区块或者区域 (同div效果)

2、article元素 表示一块与上下文无关的独立的内容

3、aside元素 在article之外的,与article内容相关的辅助信息

4、header元素 表示页面中一个内容区块或整个页面的标题(页眉);

5、footer元素 表示页面中一个内容区块或整个页面的脚注

6、nav元素 表示页面中导航链接部分

7、figure元素 表示一段独立的内容,使用figcaption元素为其添加标题(第一个或最后一个子元素的位置)

8、main元素 表示页面中的主要的内容(ie不兼容)

注:一个页面内  ,只能出现一个main标签;(ie不兼容)

9、hgroup标题的一个分组

10、mark定义高亮显示的文本(span)    内联

11、time时间  (目前所有主流浏览器都不支持 <time> 标签。)内联

12、dialog标记定义一个对话框(会话框)类似微信(  目前只有 Chrome 和 Safari 6 支持 <dialog> 标签。)

13、embed 标记定义外部的可交互的内容或插件 比如flash ;

    3)多媒体标签

    <video src=""></video>  视频

<audio src=""></audio>  音频

Type属性值:

    用于视频:video/ogg  video/mp4    video/webm

    用于音频:audio/ogg  audio/mpeg(mp3)    audio/mav 

ie  :  支持:map4      不支持:ogg 

谷歌:  不支持 :map4    支持  :ogg 

属性:

controls属性:如果出现该属性,则向用户显示控件,比如播放按钮。

autoplay属性:如果出现该属性,则视频在就绪后马上播放。

注:有的浏览器为了用户体验  不支持自动播放了; 


loop属性:重复播放属性。

muted属性:静音属性。

注:autoplay + muted    可以实现自动播放

poster属性:规定视频正在下载时显示的图像,直到用户点击播放按钮。

注:音频标签不支持此属性

        object-fit: cover; 可以让视频覆盖整个父容器。

  source:

<source> 标签为媒介元素(比如 <video> 和 <audio>)定义媒介资源。

    <source> 标签允许您规定可替换的视频/音频文件供浏览器根据它对媒体类型或者编解码器的支持;


4)H5表单元素

新增type类型:

Type=“email”  限制用户必须输入email类型

Type=“url”        限制用户必须输入url类型,“http://”

Type=“range”  产生一个滑动条表单

Type=“number”  产生一个数字意义表单

Type=“search”  产生一个搜索意义的表单

Type=“color”    生成一个颜色选择的表单

Type=“time”      限制用户必须输入时间类型

Type=“month”        限制用户必须输入月类型

Type=“week”        限制用户必须输入周类型

Type=“datetime-local”        选取本地时间

type=”date”  限制用户必须输入日类型

表单输出框:

<output></output>

<form action="" oninput="x.value=parseInt(a.value)+parseInt(b.value)">

<input id="a" type="range" min="0" max="100">100+

<input id="b" type="text" value="50">=

<output name="x" for="a b"></output>

</form>

datalist  下拉菜单框: 必须和list属性结合使用。做提示信息。

<input type="url"  list="url_list"  name="link" />

<datalist  id="url_list">

    <option label="W3School" value="http://www.W3School.com.cn" />

    <option label="Google" value="http://www.google.com" />

    <option label="Microsoft" value="http://www.microsoft.com" />

</datalist>

表单属性:

新增表单属性

required    监测是否为空。

min      最小

max      最大

step    步幅  确定一个法定值。0 3 6 9 (不能写负值)

list    必须结合datalist标签,绑定datalist  id名称。

autocomplete    是否自动提示信息    属性值  on 打开 ;off 关闭  (是否有缓存)

注:默认值是on ;

placeholder    文本框的提示信息

autofocus      自动聚焦。一个页面只能由一个。

pattern    后面的属性值是一个正则表达式。(js)

novalidate    取消验证

multiple    选择(上传)多个

三、css3

CSS3是css技术的升级版本,CSS3语言开发是朝着模块化发展的。以前的规范作为一个模块实在是太庞大而且比较复杂,所以,把它分解为一些小的模块,更多新的模块也被加入进来。这些模块包括: 盒子模型、列表模块、超链接方式 、语言模块 、背景和边框 、文字特效 、多栏布局等。

css3的优点:CSS3将完全向后兼容,所以没有必要修改现在的设计来让它们继续运作。网络浏览器也还将继续支持CSS2。对我们来说,CSS3主要的影响是将可以使用新的可用的选择器和属性,这些会允许实现新的设计效果(譬如动态和渐变),而且可以很简单的设计出现在的设计效果(比如说使用分栏)

概念:

渐进增强 :

渐进增强 progressive enhancement:针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验

优雅降级 graceful degradation:一开始就构建完整的功能,然后再针对低版本浏览器进行兼容

区别:优雅降级是从复杂的现状开始,并试图减少用户体验的供给,而渐进增强则是从一个非常基础的,能够起作用的版本开始,并不断扩充,以适应未来环境的需要。降级(功能衰减)意味着往回看;而渐进增强则意味着朝前看,同时保证其根基处于安全地带。

CSS3选择符:

1、属性选择器:

1)E[attr]:只使用属性名,但没有确定任何属性值

  2)E[attr=“value”]:指定属性名,并指定了该属性的属性值

  3)E[attr~=“value”]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”必须的

  4)E[attr^=“value”]:指定了属性名,并且有属性值,属性值是以value开头的

  5)E[attr$=“value”]:指定了属性名,并且有属性值,而且属性值是以value结束的

  6)E[attr*=“value”]:指定了属性名,并且有属性值,而且属值中包含了value

​  7)E[attr|=“value”]:指定了属性名,并且属性值仅是value或者以“value-”开头的值(比如说left-con)

<style>

  input[value|="a"]{color:#ff0;}

</style>

<input  value=“a”  > 只有al

<input  value=“a-”  > 以al- 开头的

2、伪类选择器

  1)结构性伪类选择器

    X:first-child  匹配子集的第一个元素。IE7就可以支持

X:last-child    匹配父元素中最后一个X元素

X:nth-child(n)  用于匹配索引值为n的子元素。索引值从1开始

X:only-child    这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。 (唯一的一个子元素)

X:nth-last-child(n)  从最后一个开始算索引。

    注:(n)  括号里可以指定参数值,也可以写表达式

    如:2n  \2n+1    \  odd  \even


    位置和标签都要匹配上

  ​    X:first-of-type  匹配同级(相同的元素)兄弟元素中的第一个X元素

  ​    X:last-of-type    匹配同级兄弟元素中的最后一个X元素

  ​    X:nth-of-type(n)  匹配同类型中的第n个同级兄弟元素X

  ​    X:only-of-type    匹配属于同类型中唯一兄弟元素的X

  ​    X:nth-last-of-type(n)  匹配同类型中的倒数第n个同级兄弟元素X


:root匹配文档的根元素。在HTML(标准通用标记语言下的一个应用)中,根元素永远是HTML

        X:empty**匹配没有任何子元素(包括包含文本)的元素X


目标伪类选择器:

E:target 选择匹配E的所有元素,且匹配元素被相关URL指向  (如:锚点链接)

+ 动态伪类选择器

    E**:link**

    链接伪类选择器 

    选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过。常用于链接描点上

    E**:visited** 

    链接伪类选择器

    选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过。常用于链接描点上

    E**:active**

    用户行为选择器

    选择匹配的E元素,且匹配元素被激活。常用于链接描点和按钮上

    E:**hover**

    用户行为选择器

    选择匹配的E元素,且用户鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover

    E:**focus**

    用户行为选择器

    选择匹配的E元素,而且匹配元素获取焦点


UI 元素状态伪类选择器

  E:enabled

  匹配所有用户界面(form表单)中处于可用状态的E元素

  E:disabled

  匹配所有用户界面(form表单)中处于不可用状态的E元素

  E:checked

  匹配所有用户界面(form表单)中处于选中状态的元素E

  默认选中: checked    禁用:disabled      可用:enabled

  E::selection 

  匹配E元素中被用户选中或处于高亮状态的部分


层级选择器

    E>F

    子选择器

    选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素

    E+F

    相邻兄弟选择器(找后面的相邻的第一个同辈元素)

    选择匹配的F元素,且匹配的F元素紧位于匹配的E元素的后面

    E~F

    通用选择器 (找后面的所有同辈元素)

    选择匹配的F元素,且位于匹配的E元素后的所有匹配的F元素

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容