Day2 前端与HTML

64 阅读3分钟

一、什么是前端

  1. 用于解决GUI人机交互问题
  2. 跨终端(PC/移动浏览器,客户端/小程序,VR/AR等)
  3. Web技术栈
    前端工程师的工作 :使用Web技术栈解决多用户界面交互的工程师

二、前端技术栈

服务器通过HTML(内容),CSS(样式),JavaScript(行为)进行渲染,呈现给用户进行交互。用户也可以在前端页面进行响应和操作,通过网络协议(HTTP等)传回服务器端。

image.png

三、前端关注点

  1. 美观(不美观无人问津,影响感官)
  2. 安全(安全性向来重要)
  3. 兼容(兼容多种浏览器及环境,提升用户体验)
  4. 功能(重中之重。用于完成用户需求)
  5. 体验(注重用户体验感,改善印象提升可用性)
  6. 性能(提升性能,提升产品竞争力)
  7. 无障碍(对于特殊人士的需求进行考虑并实现)

四、开发环境

  1. 浏览器(IE/Edge,Chorme,FireFox,Safari)
  2. 编辑器(VSCode,Vim,WebStrorm)

五、什么是HTML

HyperText & Markup Language
HyperText:图片,标签,链接,表格
Markup Language:如<h1>文章标题</h1>

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

六、常见标签

- 有序列表

<ol>
    <li>我是0</li>
    <li>我是1</li>
 </ol>
  1. 我是0
  2. 我是1

- 无序列表

    <li>有0吗</li>
     <li>有1吗</li>
   </ul>
  • 有0吗
  • 有1吗

- 列表标签

        <dl>大标题
            <dt>小标题
                <dd>小标题的值</dd>
        </dt>
      </dl>
大标题
小标题
小标题的值

- 超链接
href="链接",路径推荐用相对路径。 target属性,常用值有_blank(在新标签页载入)、_self(显示在当前的窗口)

    <a href="https://juejin.cn/" target="_blank">系兄弟就来点我</a>

系兄弟就来点我

- 图像影音链接
图片

    <img src="路径"/>

音频 (controls属性是规定浏览器应该为视频提供播放的控件)

    <audio src="路径" controls><controls>

视频

    <video src="路径" controls></video>

- 输入标签
placeholder是设置输入框里的默认值

<input placeholder="请输入用户名">

type=range是设置范围条

    <input type="range">

type="number" min max设置输入数字的最小值和最大值

<input type="number" min="1" max="10">

type="date" min=""输入类型是日期,并设置最小日期

    <input type="date" min="2018-02-10">

textarea可输入多行的文本域

    <textarea>Hey</textarea>

image.png

- 单选框、复选框和下拉框选择
单选框checkbox

    <input type="checkbox"/>单选

多选radio

    <input type="radio">多选1
     <input type="radio">多选2

下拉框<select><option>

    <select>
        <option>a</option>
        <option>b</option>
        <option>c</option>
    </select>

七、内容划分

  • header:页面头部
  • nav:可用于放导航栏等
  • main:网页主体部分
  • article:包含在main部分。网页正文写在此处
  • aside:在main旁边的部分,不是正文部分但可以添加有用信息及链接
  • footer:底部

八、语义化

1.什么是语义化?
(1)HTML中的元素属性属性值都拥有某些含义 (2)开发者应该遵循语义来编写HTML
2.如何做到语义化
(1)了解每个标签和属性的含义 (W3C,MDN文档) (2)思考什么标签最适合描述这个内容 (熟能生巧,多看文档)
(3)不使用可视化工具生成代码 (没法控制生成的标签是怎样的)
3.语义化的好处 (1)代码可读性(代码整洁,可读性强,便于开发协作)
(2)可维护性(修护、维护页面。让网页可维护,提升用户使用体验)
(3)搜索引擎优化(提取关键词,排序。让用户更快更准确搜索到答案) (4)提升无障碍性(方便特殊人士使用)