前端与HTML | 青训营笔记

66 阅读4分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。今天所学习的内容是前端与HTML。

什么是前端?

首先我们需要了解前端是什么。先看一下百度释义

前端即网站前台部分,运行在PPC端或移动端等浏览器上展现给用户浏览的网页。

前端是通过网络协议与服务端交互的,它主要包括HTML(内容)、css(样式)、JavaScript(行为)。HTML构成了网页的框架,css与js(JavaScript的简称)来负责网页的美化,增强用户的视觉以及使用体验。前端所关注的应该包括功能、美观、无障碍、安全、性能、兼容、无障碍以及体验。

什么是HTML?

HTML全称为HyperText Markup Language,意为超文本标记语言。所以我们首先应该知道的是,HTML并非编程语言,而是一种标记语言。超文本,指的就是图片、标题、链接、表格等基于文字但超于文字的表现形式。

1. HTML的结构

HTML主要包括头部(head)和身体(body)。其中head又包括meta(html网页文档的属性)和title(网页标题)等,body包括h1、p、img等。具体包含内容会因页面需求不同而有所改变。

2. HTML的语法
  • 标签和属性不区分大小写,但推荐全部小写
  • 空标签可以不闭合,比如input、meta
  • 属性值推荐用双引号包裹(英文引号)
  • 某些属性值可以省略,如required、readonly
3. HTML的实例

(1)单标签

  • 图片:<img src="url" alt="some_text">

此外,用img、map和area可以制作可点击图片。注意img和map使用同名类,area标签必须包含在map中。

  • 换行<br>
  • 水平线:<hr>
  • 输入:<input type="type_name" value="value_name">

type_name可以是text(创建单行文本输入框)、password(密码输入框)、radio(单选框)、checkbox(复选框)、button(普通按钮)、submit(提交按钮)、reset(重置按钮)、image(图像按钮)、hidden(隐藏域,不在网页中显示,它用来存储与传递表单的值,当用户提交表单时,隐藏域的内容会一起提交给处理程序)、file(文件提交按钮,从本地上传文件提交)、url(输入URL字段)、tel(输入电话号码)、email(输入邮箱地址,输入不合法会提示)search(搜索框)、color(颜色选择器,可以直接调用系统的颜色调节窗口,默认为黑色)、number(数字字段,可以用min和max设定范围)、range(定义用于精确值不重要的输入数字的控件,min属性指定最小值限制,max属性指定最大值限制,step属性规定合法数字间隔,value属性规定默认值)、date(日期控件)、month(年月控件)、time(时间控件)、datetime(日期加时间控件)

  • 引用:<link rel="relationship" href="url">

(2)双标签

  • 标题:<h1>一级标题</h1>``<h2>二级标题</h2>...一共六级,数字越小标题越大。
  • 段落:<p>这是段落内容</p>段落会自动在段前段后创建一些空白。
  • 链接:<a href="url">这是链接显示的文字</a>
  • div:<div>这是div标签</div>div标签定义 HTML 文档中的一个分隔区块或者一个区域部分,常与css一起使用,用来布局网页。
  • 斜体:<i>这部分内容是斜体</i>
  • 表单:<label>这是要提交的表单内容</label>``<form>这是要提交的表单内容</form>
  • 表格:<table><tr><td></td></tr></table>有几个tr就有几行,有几个td就有几列。
  • 列表:有序列表:<ol><li></li></ol> 无序列表:<ul><li></li></ul>
  • 音频:<audio><source src="url"></audio>
  • 视频:<video><source src="url"></video>
4.语义化

HTML中的元素、属性及属性值都拥有某些含义,开发者应遵循语义来编写HTML,我们要传达的是内容而非样式。举例来说,我们通常标题字体会加粗加大,但用p标签和strong/b、fontsize结合使用也能实现与h相同的效果,但我们会选用h标签而不是p,就是为了HTML的语义化。

实现语义化可以提高代码的可读性、无障碍性和可维护性,也能实现搜索引擎的优化。那如何做到语义化呢?首先,我们应该充分了解每个标签的属性和含义;其次,在编写网页时,要思考什么标签最适合描述这个内容;最后,尽量不适用可视化工具生成代码。

今天的内容大概就是这些,拖拖沓沓好几天才完成,我在此反思,下次一定改正!