Skip to content

html

语义化

  • 是什么?是一种写 HTML 标签的方法论
  • 怎么做?根据内容结构选择合适的标签,内容语义化+代码语义化
  • 解决了什么问题?明确了书写规范,便于开发者阅读和写出更优雅的代码结构的同时,方便搜索引擎检索

注意点:

  • 尽可能少用无意义的 div 和 span
  • 语义不明显时,div 和 p 选 p,p 在默认情况下有上下间距,对兼容特殊终端有利
  • 不使用纯样式标签,如:b、font,改用 css 设置
  • 表格,标题用 caption、表头用 thead、主体用 tbody、尾部用 tfoot,表头用 th、单元格用 td
  • 表单域用 fieldset 标签包起来,用 legend 标签说明表单用途
  • input 标签的说明文本需要使用 label 标签,并通过为 input 设置 id 属性,在 label 标签中设置 for=xxx 来让说明文本和相对应的 input 关联起来

HTML5 新标签和新特性

新标签:

  • 文章相关的:header、main、footer、nav、section、article、figure、mark
  • 多媒体相关的:video、audio、svg、canvas
  • 表单相关的:type=email、type=tel

新特性:

主要是关于图像、位置、存储、多任务等功能的增加

  • 拖拽释放的 api
  • 语义化的标签
  • 地理 api、音频、视频 api、画布 api
  • localStorage、sessionStorage
  • 表单控件,calendar、date、time、email、url、search

title 和 alt 属性

  • 两个属性都是当鼠标滑动到元素上的时候显示
  • alt 是 img 的特有属性,是图片内容的等价描述,图片无法显示的时候显示文字
  • title 可以用在除了 base、baseFont、head、html、meta、param、script、title 之外的所有标签,是对 dom 元素的一种类似注释说明

HTML 全局属性

  • class
  • data-*增加自定义属性
  • draggable 元素可拖拽
  • id
  • lang
  • style
  • title 元素相关建议信息

Canvas 和 Svg 的区别

  • canvas 用笔刷来绘制 2d 图形
  • svg 用标签来绘制不规则矢量图
  • 相同点:都是主要用来画 2d 图形的
  • 不同点:canvas 是位图,放大会失真,svg 是矢量图
  • 不同点:svg 节点过多,渲染性能不如 canvas,但是 canvas 写起来复杂
  • 不同点:svg 支持分层和事件,与普通 html 标签相似,canvas 不支持,但是可以模拟实现
  • canvas 无法对已经绘制的图像进行修改,每次更改都是重新绘制,svg 可以获取到标签进行操作

头部元素

html
<title>可以添加文档标题
<meta>
  • charset 指定字符集
  • name 制定 meta 元素的类型,说明了包含的信息
  • content 指定了实际的元数据内容

a 标签

利用<a/>标签进行下载时,建议写明文件的后缀,浏览器会将 download 中的最后一个.符号识别为文件后缀,如果文件名中含有.会导致下载的文件后缀不正确。

需要注意的是,/\会被浏览器自动转换成_.则不会转换

Released under the MIT License.