前端与HTML|青训营笔记

87 阅读4分钟

这是我参与「第四届青训营」笔记创作活动的第一天

【什么是前端】

  1. 解决GUI人机交互问题
  2. 跨终端(PC/移动浏览器;客户端/小程序;VR/AR等)
  3. Web技术栈

前端工程师:使用Web技术栈解决多端用户界面交互问题
前端解决的根本问题:图形界面下人机交互的问题

前端技术栈

223d9b219a3a53c2fd11ede8d6f2a51.jpg

前端技术

  • HTML——页面、结构、内容
  • CSS——设置页面样式(如位置、大小、颜色等)
  • JavaScript——定义网页行为
    HTML、CSS、JavaScript和网络协议构成了前端基础技术栈

前端应关注以下几方面

3200d2ea5e93192253ae74dfbb464a5.jpg

【HTML】

基本结构

<!DOCTYPE html>----------------------标记当前HTML文件版本并由浏览器选择渲染模式
<html>-------------------------------文档根标签
<head>-------------------------------存储页面元数据
    <meta charset="UTF-8">
    <title>页面标题</title>
</head>
<body>-------------------------------呈现给用户的内容
    <h1>一级标题</h1>
    <p>段落内容</p>
</body>
</html>

DOM树

b4cbaaf7a04826248124e58f5493704.jpg

基本语法

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

列表标签

列表——用来布局

有序列表

<ol>用于定义有序列表
<li>定义列表项

<ol>                                
    <li>列表项1</li>                 1.<ol></ol>**只能**嵌套<li></li>
    <li>列表项2</li>                 2.<li></li>之间相当于容器,可容纳所有元素
    <li>列表项3</li>                 3.<ol type="1/a/A/ⅰ/Ⅰ">
    ......
</ol>

无序列表*

<ul>表示HTML页面中项目的无序列表
<li>定义列表项

<ul>                                
    <li>列表项1</li>                 1.各个列表项之间没有顺序级之分,是并列的
    <li>列表项2</li>                 2.<ul></ul>**只能**嵌套<li></li>
    <li>列表项3</li>                 3.<li></li>之间相当于容器,可容纳所有元素
    ......
</ul>

自定义列表**

常用于对术语或名词进行解释和描述
定义列表的列表项前没有任何项目符号

<dl>用于描述列表,与<dt>(定义项目/名字)和<dd>(描述每一个项目/名字)一起使用

<dl>                                
    <dt>名词1</dt>                
    <dd>名词1 解释1</dd>          1.<dl></dl>里面**只能**包含<dt>和<dd>
    <dd>名词1 解释2</dd>          2.<dt>和<dd>没有个数限制,经常是一个<dt>对应多个<dd>
    ......
</dl>

超链接标签

在HTML标签中,<a>标签用于定义超链接,旨在从一个页面链接到另一个页面

链接的语法格式

a:单词anchor的缩写,意为“锚”
<a href="跳转目标" target="目标窗口的弹出方式">文本或图像</a>

b27ec1fad19d6674d6c8e78c6dd50a9.jpg

链接分类

1.外部链接

例如<a href="http://www.baidu.com" target="_blank">百度</a>

打开窗口的方式
target默认的值是_self ...............当前窗口打开页面(原窗口覆盖打开)
_blank 新窗口打开页面(另外启动一个窗口打开)

2.内部链接 —— 网站内部页面之间的相互链接

直接链接内部页面名称即可
例如<a href="index.html">首页</a>

3.空链接 —— 没有确定链接目标

<a href="#">首页</a>

4.下载链接

如果href里面的地址是一个文件或者压缩包则会下载这个文件

5.网页元素链接

在网页中的各种网页元素,如文本、图像、表格、音频、视频等都可以添加超链接

6.锚点链接*
点击链接 可以快速定位到页面中的某个位置

在链接文本的href属性中,设置属性值为 #名字 的形式,如<a href="#名字">名字</a> 找到目标位置标签,里面添加一个id属性=刚才的名字,如<h3 id="名字">名字</h3>

7.水平线标签 —— 用于分隔内容

<hr/>标签在HTML页面中创建水平线
提示:使用水平线(<hr>标签)来分隔文章中的小节

实例:
<p>This is a paragraph</p>
<hr/>
<p>This is a paragraph</p>
<hr/>

多媒体标签

  • 图片标签 <img src="" alt="替代文本" width=""/>
  • 音频标签 <audio src="" controls> </audio> controls:播放按钮
  • 视频标签 <video src="" controls> </video> controls:播放按钮

输入标签

8449407628ae17a86230d531eadabb6.jpg

选择标签

07024df9197a2fc8da90b002457b57a.jpg

文本类标签

4c9857371b5751556ec9af0d8dfd142.jpg

  • blockquote:快捷引用(长引用)
  • cite:短引用,如书名
  • q:之前的引用内容
  • code:代码

内容划分

1bbe67439099799cc957d4957badc18.jpg

语义化

  1. 什么是语义化?
  • HTML中的元素、属性属性值都拥有某些含义
  • 开发者应该遵循语义来编写HTML
    • 有序列表用ol;无序列表用ul
    • lang属性表示内容所使用的语言
  1. 谁在使用我们写的 HTML?
  • 开发者-修改、维护页面
  • 浏览器-展示页面
  • 搜索引擎-提取关键词、排序
  • 屏幕阅读器-给盲人读页面内容
  1. 语义化的好处
  • 代码可读性
  • 可维护性
  • 搜索引擎优化
  • 提升无障碍性
  1. 如何做到语义化?
  • 了解每个标签和属性的含义
  • 思考什么标签最适合描述这个内容
  • 不使用可视化工具生成代码

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

『温故知新,与君共勉』