前端与 HTML | 青训营笔记

444 阅读3分钟

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

1.前端与HTML

1.1 什么是前端?

  • 解决GUI人机交互问题
  • 跨终端
    • PC/移动浏览器
    • 客户端/小程序
    • VR/AR等
  • Web技术栈

1.2 前端技术栈

image-20230114232949722.png

1.3 前端应该关注哪些方面?

  • 美观
  • 功能
  • 无障碍
  • 安全
  • 体验
  • 兼容
  • 性能

1.4 前端的边界

image-20230114233330830.png

1.5 开发环境

image.png

2.HTML

2.1 HTML是什么?

HyperText Markup Language HyperText:图片、链接、标题、表格

<img src = "photo.jpg" /> src:属性名 "photo.jpg":属性值

2.2 简单结构

<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>页面标题</title>
    </head>
    <body>
        <h1>一级标题</h1>
        <p>段落内容</p>
    </body>
</html>

2.3 DOM树

image-20230114234842632.png

2.4 HTML语法

  • 标签和属性不区分大小写,推荐小写
  • 空标签可以不闭合,比如input 、meta
  • 属性值推荐用双引号包裹
  • 某些属性值可以省略,比如required、readonly(其属性的结果为boolean 默认为true 可以省略)

2.4.1 h1~h6

<!doctype html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>html语法</title>
    </head>
    <body>
        <h1>字体排印学</h1>
        <h2>历史</h2>
        <p>活字的雏形或可追溯至公元前两千年前后美
            索不达米亚文明的乌鲁克和拉尔萨,砖块上面不
            均匀的印花被视作有可能是活字思想雏形。</p>
        <h3>印刷体源流</h3>
        <p>中国在唐代就已经出现雕版印刷术,公元868
            年的《金刚经》是现存最古老的印刷品之一,使用
            的技术即是木雕版印刷。</p>
        <h4>这是h4字体</h4>
        <h5>这是h5字体</h5>
        <h6>这是h6字体</h6>
    </body>
</html>

2.4.2 列表

<h2>世界电影票房排行榜</h2>
    <ol>
        <li>阿凡达</li>
        <li>泰坦尼克号</li>
        <li>复仇者联盟</li>
    </ol>

    <h2>购物清单</h2>
    <ul>
        <li>🍇</li>
        <li>🍉</li>
        <li>🍎</li>
      </ul>

      <h2>霸王别姬</h2>
      <dl>
        <dt>导演:</dt>
        <dd>陈凯歌</dd>
        <dt>主演:</dt>
        <dd>张国荣</dd>
        <dd>张丰毅</dd>
        <dd>巩俐</dd>
        <dt>上映日期:</dt>
        <dd>1993-01-01</dd>
      </dl>

2.4.3 链接

  • 网页链接
      <a href="https://www.bytedance.com/">字节跳动官网</a>
      <!--重新打开一个网页-->
      <a href="https://www.bytedance.com/" target="_blank">字节跳动官网</a>
  • 图片链接
 <img src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/bc5a2e7eef0f46c6b57ccc83b9714797~tplv-k3u1fbpfcp-zoom-1.image"
      alt="Metal movable type" width="400">
       <!--alt图片加载不出来的字样-->

  <audio src="https://music.163.com/song/media/outer/url?id=29023577.mp3" controls></audio>

  • 视频链接
<video src="https://prod-streaming-video-msn-com.akamaized.net/3f6ca508-598d-4cbd-a3e2-43deea7bc377/b60c553e-9f3f-4164-8850-700a9a73a899.mp4" controls></video>
  • 输入框
       <input planceholder="请输入用户名">
       <input type="range">
       <input type="number" min="1" max="10">
       <input type="date" min="2018-02-10">
       <textarea>Hey</textarea>

2.4.4 选择

        <p>
            <label><input type="checkbox"/>🍎</label>
            <label><input type="checkbox" checked/>🍏</label>
        </p>

        <p> 
            <label><input type="radio" name="sport"/></label>
            <label><input type="radio" name="sport"/>🏀</label>
        </p>
        
        <p>
            <select>
                <option>苹果</option>
                <option>香蕉</option>
                <option>梨子</option>
            </select>
        </p>

        <input list="countries"/>
        <datalist id="countries"/>

2.4.5 文字

        <blockquote cite="http://t.cn/RfjKO0F">
            <p>天才并不是生长在深林荒野里的怪物,是由可以使天才生长的民众产生、长育出来的,所以没有这种民众,就没有天才</p>
        </blockquote>

        <p>我最喜欢的一本书是<cite>小王子</cite></p>

        <p>在第一章,我们讲过<q>字符串是不可变量</q></p>

        <p><code>const</code>声明创建一个只读的变量</p>

        <p><em>在投资之前</em>一定<strong>要做风险评估</strong></p>

image.png

2.5 内容划分

image-20230115164532602.png

2.6 语义化是什么?

  • HTML中元素、属性以及属性值都拥有某些含义

  • 开发者应该遵循予以来开发html

    • 有序列表用ul,无序列表用ol
    • lang属性表示内容所使用的语言

2.7 谁在使用我们的HTML?

  1. 开发者修改、维护页面。
  2. 浏览器展示页面。
  3. 搜索引擎提取关键字、排序。
  4. 屏幕阅读器给盲人阅读内容。

2.8 语义化的好处?

  1. 代码可读性
  2. 可维护性
  3. 搜索引擎优化
  4. 提供无障碍性

2.9 如何做到语义化?

  1. 了解每个标签和属性的含义
  2. 思考什么标签最适合什么内容
  3. 不使用可视化工具生成代码