前端与 HTML | 青训营笔记

302 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

前端技术栈 Html(内容) CSS(样式) JavaScript(行为) 这三者通过网络协议与服务端进行相连

前端应该关注哪些方面? 美观 功能 无障碍 性能 安全 兼容 体验

前端的边界是无限的

开发环境: 浏览器:edge chrome Firefox Safari 编辑器:VSCode Vim WebStorm

HTML:HyperText Markup Language

	HyperText:图片 标题 链接 表格 
	Markup Language:<h1>文章标题</h1>及标签
	在<img src=“...”>中,src表示属性名,后面引号引起的部分是属性值
<!doctype html>/*表示的是一种较新的html版本*/
<html>
	<head>
		<title>...<\title>
	<\head>
	<body>
		... /*此处是呈现给用户的内容*/
	<\body>
<\html>

浏览器对HTML代码进行解析,解析出一个DOM树

HTML语法

标签和属性不区分大小写,推荐小写
空标签可以不闭合,如input、meta
属性值推荐使用双引号包裹
某些属性值可以省略,比如required、readonly

标题h1~h6

列表 有序列表ol、无序列表ul、dl dt dd 层次感列表

<ol> 
	<li>...</li>
	<li>...</li>
</ol>
<ul>
	<li>...</li>
	<li>...</li>
</ul>
<dl>
	<dt>导演:</dt> /*d title 标题*/
	<dd>陈凯歌</dd>
	<dt>主演</dt>
	<dd>张丰毅</dd>
</do>

链接

<a href="...">....</a>
<img src="..." alt="当图片加载失败时描述图片" width="400">
<audio src="..." controls></audio> /*controls 是默认显示浏览器原始控件*/
<video src="..." controls></video>

输入

<input placeholder="...">/*在用户未点击时默认显示的内容*/
<input type="range">/*用户可以选择*/
<input type="number" min="1" max="10">/*此处表示可以输入的数字范围*/
<input type="date" min="2018-02-10">/*表示能够选择的最小日期*/
<textarea>....</textarea>/*输入长文本*/

<p>
	<label><input type="checkbox">...</label>/*checkbox表示多选*/
	<label><input type="radio">...</label>/*radio表示单选*/
</p>
<p>
	<select>
		<opiton>...<option>
		<opiton>...<option>
		<opiton>...<option>/*下拉选择*/
	</select>
</p>

<input list="countries" />
<datalist id="countries">
	<option>...</option>/*给到一些输入的提示,相当于自动填充*/	
</datalist>

文本类标签

<p>
<cite>/*书名*/
<q>/*对其内文字加双引号*/
<code>/*引用代码*/
<pre><code>
...				/*引用多行标签*/
</code></pre>
<strong>/*重点强调*/
<em>/*一段话中重读、强调的部分*/

内容划分

nav 导航
main 主要内容。article正文
fotter 放在页尾 参考链接版权信息备案等

语义化: html中的元素、属性及属性值都拥有某些特殊含义 开发者应该遵循语义来编写HTML

谁在使用我们写的HTML? 开发者--修改、维护页面 浏览器--展示界面 搜索引擎--提取关键词、排序 屏幕阅读器--给盲人读页面内容

HTML传达内容,而不是样式

如何做到语义化? 了解每个标签的属性和含义 思考标签最适合描述什么内容 不建议使用可视化工具生成代码