知道语义化吗?说说你理解的语义化,如果是你,平时会怎么做来保证语义化? 说说你了解的HTML5语义化标签,HTML5新增了那些新特性?
Hello,欢迎来到我的博客,每天一道面试题,我们共同进步。
题外话:新网站( https://www.lzpan.com )懒盘,百度云、蓝奏云资源搜索,欢迎访问。
其实,不知道大家有没有想过一件事:现在都在说H5,C3,那么他们正式发布的时间是多久?
反正都是在写这篇文章时想到的。
HTML5经过查阅文章,确切发布时间应该是:2014年10月 (查看此篇文章:http://www.chinaw3c.org/archives/677/ )
CSS3我网上没找到具体的,反正看百度百科( https://baike.baidu.com/item/CSS3/4059544?fr=aladdin )貌似在2012年后才发布的。(2012年都貌似还在提案)
面试我觉得应该不会问吧,但了解下我觉得还是可以的。
代表网页或者section的标题,当元素有多个层级时,该元素可以将h1到h6元素放在其内,譬如文章主标题和副标题的组合。
只有一个h1-h6时就不要用此标签,多个时h1-h6包裹在hgroup,然后可以把hgroup放在header标签里面。
网页或者section的页眉,hgroup可以放在header里面,该标签没有个数限制,可以一个网页放置多个。
nav:navigation,导航,用于定义页面的主要导航部分。用在整个页面的主导航部分,不适合不要用nav元素
代表文档中的节或段,段可以是指一篇文章里按照字体的分段,节可以指一个页面的分组。
细节: section不是一般意义上的容器元素,如果想作为样式展示和脚本的便利,可以用div。 article、nav、aside可以理解为特殊的section, 所以如果可以用article、nav、aside就不要用section,没实际意义的就用div
<section>
<h1>section是啥?</h1>
<article>
<h2>关于section</h1>
<p>section的介绍</p>
<section>
<h3>关于其他</h3>
<p>关于其他section的介绍</p>
</section>
</article>
</section>
以上代码摘抄自网上
article代表一个在文档,页面或者网站中自成一体的内容
细节: 独立文章:article 单独模块:section 没有语义:div
<article>
<h1>一篇文章</h1>
<p>文章内容..</p>
<footer>
<p><small>版权:迷思雨博客,作者:无道</small></p>
</footer>
</article>
aside元素被包含在article元素中作为主要内容的附属信息部分,其中的内容可以是与当前文章有关的相关资料、标签、名次解释等. 在article元素之外使用作为页面或站点全局的附属信息部分。最典型的是侧边栏,其中的内容可以是日志串连,其他组的导航,甚至广告,这些内容相关的页面。
网页 或 section 的页脚,通常含有该节的一些基本信息,譬如:作者,相关文档链接,版权资料。
比如迷思雨博客网,这里就是包括在一个footer里面:
细节: 可以是 网页 或任意 section 的底部部分; 没有个数限制,除了包裹的内容不一样,其他跟header类似【本来header和footer就可以理解成对应的】。
用于描述文档或文档某个部分的细节
标签包含 details 元素的标题
定义对话框,比如提示框
自己的定义
如上面所示的那些标签,都有自己的语义及使用情况,这就叫语义化。
语义化的好处
类型 | 描述 |
---|---|
color | 主要用于选取颜色 |
date | 从一个日期选择器选择一个日期 |
datetime | 选择一个日期(UTC 时间) |
datetime-local | 选择一个日期和时间 (无时区) |
包含 e-mail 地址的输入域 | |
month | 选择一个月份 |
number | 数值的输入域 |
range | 一定范围内数字值的输入域 |
search | 用于搜索域 |
tel | 定义输入电话号码字段 |
time | 选择一个时间 |
url | URL 地址的输入域 |
week | 选择周和年 |
就是input(当然不止input) 的type属性的值新增了以上
比如我定义了一个颜色选择器:
<body>
<input type="color">
</body>
在Chrome浏览器下:
感觉还可以吗?
在Win10 Edge下:
看出来了吗,显示方式完全是浏览器自己定义的,而不是开发者决定的。 哈米,这你都可以接受?那么告诉你,在很多低版本浏览器下,根本不支持,如果你要去兼容IEx,那么还是不能使用这个。只能说,等待以后大多数都兼容再说。
<input>
元素的值。<input>
标签的图像高度和宽度。<input>
元素中可选择多个值。 <!DOCTYPE html>
以上有些参考: