这是我参与「第四届青训营 」笔记创作活动的第1天
青训营的第一天,首先回顾了HTML的知识,该课程不仅包含html的基础部分,还有一定的深入,下面是课程的笔记和总结。
课程笔记
HTML(超文本标记语言——HyperText Markup Language)是网页的基本骨架,通过不同的标签组合而成。常用的标签包含<head>
,<title>
,<body>
,<header>
,<footer>
,<article>
,<section>
,<p>
,<div>
,<span>
,<img>
,<audio>
,<canvas>
,<datalist>
,<details>
,<embed>
,<nav>
,<output>
,<progress>
,<video>
等。
HTML中的标签大部分都具有明确的含义,需要在合适的地方选用适合的标签。这实际上就是一种语义化。
<input>
标签
<input>
标签通过使用type属性指定不同的展现形式,主要包含的属性值包括search|submit|tel|text|url|week|hidden|month|number|password|range|research|color|date|datetimea|email|file|button|checkbox等,具体的含义工作方式可以参考MDN文档
<meta>
标签
<meta>
标签是文档级元数据元素,
meta
元素定义的元数据的类型包括以下几种:
- 如果设置了
name
属性,meta
元素提供的是文档级别(document-level)的元数据,应用于整个页面。- 如果设置了
http-equiv
属性,meta
元素则是编译指令,提供的信息与类似命名的 HTTP 头部相同。- 如果设置了
charset
属性,meta
元素是一个字符集声明,告诉文档使用哪种字符编码。- 如果设置了
itemprop
属性,meta
元素提供用户定义的元数据。
常见属性:
这个属性声明了文档的字符编码。如果使用了这个属性,其值必须是与 ASCII 大小写无关(ASCII case-insensitive)的"utf-8
"。
此属性包含http-equiv
或name
属性的值,具体取决于所使用的值。
语义化
- 是什么?
- html中的元素、属性和属性值都有某种含义
- 为什么?
- 利于代码维护,利于SEO,自动翻译,屏幕阅读器
MDN文档的说明:developer.mozilla.org/zh-CN/docs/…
Some of the benefits from writing semantic markup are as follows:
- Search engines will consider its contents as important keywords to influence the page's search rankings (see SEO)
- Screen readers can use it as a signpost to help visually impaired users navigate a page
- Finding blocks of meaningful code is significantly easier than searching though endless
div
s with or without semantic or namespaced classes- Suggests to the developer the type of data that will be populated
- Semantic naming mirrors proper custom element/component naming
- 如何做到语义化?
- 了解每个标签和属性的含义,思考什么标签最适合描述内容
- 广义的语义化还应该包括js,css变量名,以及前端框架的语义化
总结
通过青训营老师的讲解,对HTML有了更深入的了解,同时也复习了一些过去有些忘记的知识点,对标签尤其是标签的语义化有了更加清晰的认识。