乐趣区

HTML5元素和语义化标签

站点:前端开发文档原文:HTML 元素原文:语义化标签

HTML 元素
元素分类

块级元素:div、h1-h6、hr、menu、ol、ul、li、dl、dt、dd、table、p、form
自身属性为 display: block; 的元素,通常使用块级元素进行布局(结构)的搭建。

块级元素的特点

独占一行
从上到下依次排列
直接控制宽度、高度以及盒子模型的相关 CSS 属性
不设置宽度,块级元素的宽度是它的父元素内容的宽度,高度是自身内容的高度
可以嵌套行内元素

ul/ol 下面只能是 li,dl 下面只能是 dt dd;p 不能包含其他块级元素包括自身

行内元素:span、a、strong、i、em,s、u,textarea、input、select,label、img、sup,sub
自身属性为 display: inline; 的元素,通常使用行内元素进行文字、小图标(小结构)的搭建。

块级元素的特点

不独占一行,和其他内联元素从左到右在一行显示
不能直接控制宽度、高度以及盒子模型的相关 CSS 属性,可以直接设置内外边距的左右值
宽高由自身内容的大小决定(文字、图片等)
只能容纳文本或其他内联元素(不能在内联元素中嵌套块级元素)

CSS 外链引入方式

link 是 html 标签,@import 是 css 提供的方式,写在 css 文件或 style 标签中。
加载顺序有区别,当一个页面被加载时,link 引用的 css 文件会被同时加载,而 @import 引入的 css 文件会等页面全部下载完成后再加载。
使用 js 控制 DOM 改变 CSS 样式,只能使用 link 标签,因为 import 不能被 DOM 控制。

CSS 命名规范

头部:header

内容:content/container

尾部:footer

导航:nav

侧栏:sidebar

栏目:column

页面外围控制整体布局宽度:wrapper

左右中:left right center

登陆条:loginbar

标志:logo

广告:banner

页面主体:main

热点:hot

新闻:news

下载:download

子导航:subnav

菜单:menu

子菜单:submenu

搜索:search

友情链接:friendlink

页脚:footer

版权:copyright

投票:vote

合作伙伴:partner

滚动:scroll

内容:content

标签页:tab

文章列表:list

提示信息:msg

小技巧:tips

栏目标题:title

加入:joinus

指南:guild

服务:service

注册:register

状态:status

语义化标签

尽量减少使用无意义标签,如 span 和 div

尽量不使用标签本身的 CSS 属性,如 b、font、s

需要强调的部分,使用 strong、em

表格搭建时,使用 <thead> 表格头部 </thead>、<tbody> 表格主体 </tbody>、<tfoot> 表格尾部 </tfoot>

列表搭建时,使用 <ul> 无序列表 </ul>、<ol> 有序列表 </ol>、<dl> 定义列表 </dl>

section:划分网页,表示页面中的一个内容区块,比如章节、页眉、页脚或页面其它部分。可以和 h1,h2,h3… 等其他标签结合使用,表示文档结构。

hgroup:对整个页面 / 页面中的一个内容区块的标题进行组合。

header:一个内容区块或整个页面的头部部分。

footer:整个页面或页面区块的尾部。

nav:页面中导航连接的部分。

article:独立于内容其余部分的完整独立内容块。article 元素专门为摘要设计。

aside:表示 article 标签内容之外的,与 article 标签内容相关的辅助信息,aside 元素被用于无关内容。

应该与主内容分开的内容

aside 元素中的内容可以被独立开来而不会影响文档或 section 中主内容的含义
可以用在主要内容相关的引用,如侧边栏、广告、nav 元素组等

aside 的内容如果被删除,剩下的内容仍然很合理

figure:表示一段独立的流内容,一般表示文档主体流内容中的一个独立单元(figure 元素经常用于图片)

figcaption:

一个图例的说明

figure 元素的一个标题或相关解释
使用 figcaption 时,最好是 figure 块的第一个或最后一个元素

新增标签的兼容问题

HTML5 语义化标签在 IE6- 8 下,默认当成行内元素展示。
通过引入 js 解决 IE9 以下新增标签的兼容问题

Forms

新增 input 元素的种类:

search:搜索输入框

tel:电话号码输入框

url:输入 URL 地址

email:邮件输入框

number:数字输入框

rang:特定范围内的数值选择器

color:颜色选择器 只在 Opera 和 Blackberry 浏览器

datetime:显示完整日期和时间 UTC 标准时间

datetime-local:显示完整日期和时间

time:显示时间

month:显示月份

week:显示周

表单新特性:

placeholder:输入框占位符,用作输入提示

autocomplete:是否保存用户输入值,默认为 on,关闭为 off

autofocus:自动聚焦

required:此项必填,不能为空

pattern:正则验证 pattern=”\d{1,5}”

form:加上 form 属性,表单元素可以放在页面的任意位置

formnovalidate/novalidate:

表示不需要验证表单,直接提交(novalidate 用户 form 标签)

formnovalidate 用于 submit 类型的提交按钮

表单验证

validity 对象,通过下面的 valid 可以查看验证是否通过

oText.addEventListener(“invalid”fn1,false);

valid:验证不通过时返回 false

valueMissing:输入值为空时

typeMismatch:控件值与预期类型不匹配

patternMismatch:输入值不满足 pattern 正则

customError:不符合自定义验证

setCustomValidity(); 自定义验证

退出移动版