当前位置: 首页 > news >正文

JavaEE初阶:HTML

文章目录

  • 一、HTML 结构
    • 1、认识 HTML 标签
    • 2、HTML 文件基本结构
    • 3、标签层次结构
    • 4、快速生成代码框架
  • 二、HTML 常见标签
    • 1、注释标签
    • 2、标题标签: h1-h6
      • ① 代码
      • ② 举例
    • 3、段落标签: p
      • ① 代码
      • ② 举例
      • ③ 技巧
    • 4、换行标签: br
      • ① 代码
      • ② 举例
      • ③ 技巧
    • 5、格式化标签
      • ① 代码
      • ② 举例
    • 6、图片标签: img
      • ① 代码
      • ② 注意
      • ③ 目录结构
        • Ⅰ 相对路径
        • Ⅱ 绝对路径
    • 7、超链接标签: a
      • ① 代码
      • ② 链接的几种形式
    • 8、表格标签
      • ① 基本使用
      • ② 举例
    • 9、列表标签
      • ① 代码
      • ② 举例
    • 10、表单标签
      • ① form 标签(未完)
        • Ⅰ 代码
        • Ⅱ 举例
      • ② input 标签
        • Ⅰ 文本框
        • Ⅱ 密码框
        • Ⅲ 单选框
        • Ⅳ 复选框
        • Ⅴ 普通按钮
        • Ⅵ 提交按钮(未完)
        • Ⅶ 清空按钮(未完)
        • Ⅷ 选择文件
      • ③ label 标签
      • ④ select 标签
      • ⑤ textarea 标签
    • 11、无语义标签: div & span
  • 三、综合案例: 展示简历信息
  • 四、综合案例: 填写简历信息
  • 五、Emmet 快捷键
  • 六、HTML 特殊字符

一、HTML 结构

1、认识 HTML 标签

HTML 代码是由 “标签” 构成的.

形如:

<body>hello</body>
  • 标签名 (body) 放到 < > 中
  • 大部分标签成对出现. 为开始标签, 为结束标签.
  • 少数标签只有开始标签, 称为 “单标签”.
  • 开始标签和结束标签之间, 写的是标签的内容. (hello)
  • 开始标签中可能会带有 “属性”. id 属性相当于给这个标签设置了一个唯一的标识符(身份证号码).

2、HTML 文件基本结构

<html>
	<head>
		<title>
			第一个页面
		</title>
	</head>
	<body>
		hello world
	</body>
</html>
  • html 标签是整个 html 文件的根标签(最顶层标签).
  • head 标签中写页面的属性.
  • body 标签中写的是页面上显示的内容
  • title 标签中写的是页面的标题.

3、标签层次结构

  • 父子关系
  • 兄弟关系
<html>
	<head>
		<title>
			第一个页面
		</title>
	</head>
	<body>
		hello world
	</body>
</html>

在这里插入图片描述
其中:

  • head 和 body 是 html 的子标签(html 就是 head 和 body 的父标签)
  • title 是 head 的子标签. head 是 title 的父标签.
  • head 和 body 之间是兄弟关系.

这就是一个 DOM 树,DOM => 文档对象模型。

把一个 html 文件视为是文档,文档里面有很多的 “标签”。
每个标签也可以称为是一个 “元素”,同时每个元素也对应到一个 “对象”。

4、快速生成代码框架

在 IDEA 中创建文件 xxx.html , 直接输入 ! , 按 tab 键, 此时能自动生成代码的主体框架.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
  • 称为 DTD (文档类型定义), 描述当前的文件是一个 HTML5 的文件。
  • < html lang=“en”> 其中 lang 属性表示当前页面是一个 “英语页面”(有些浏览器会根据此处的声明提示是否进行自动翻译)。
  • meta 表示 无,就是指 “属性”,是页面的属性,和展示内容无关。
    • < meta charset=“UTF-8”> 描述页面的字符编码方式. 没有这一行可能会导致中文乱码.
    • < meta name=“viewport” content=“width=device-width, initial-scale=1.0”>
      • name=“viewport” 其中 viewport 指的是设备的屏幕上能用来显示我们的网页的那一块区域.
      • content=“width=device-width, initial-scale=1.0” 在设置可视区和设备宽度等宽, 并设置初始缩放为不缩放. (这个属性对于移动端开发更重要一些).

二、HTML 常见标签

1、注释标签

不参与实际界面的显示,但是起到解释说明的效果。(提高代码的可读性)

<!-- 我是注释 -->

ctrl + / 快捷键可以快速进行注释/取消注释.

注释的原则

  • 要和代码逻辑一致.
  • 尽量使用中文.
  • 不要传递负能量.(这个注释是能被用户直接看到的)

2、标题标签: h1-h6

① 代码

从 h1 - h6. 数字越大, 则字体越小。

<h1>这是一个标题</h1>

② 举例

<h1>hello</h1>
<h2>hello</h2>
<h3>hello</h3>
<h4>hello</h4>
<h5>hello</h5>
<h6>hello</h6>

3、段落标签: p

① 代码

p 标签,表示一个 “段落”。

<p>这是一个段落</p>
  • 两个 p 标签的内容,不会出现在同一行。
  • 两个 p 标签之间,会有一定的间距(段间距)。

② 举例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>这是一个段落 Lorem ipsum dolor sit amet consectetur adipisicing elit. Cum, ipsa praesentium. Exercitationem totam at quibusdam blanditiis. Molestias modi magnam vel animi, ipsum ducimus doloribus corrupti nulla explicabo maxime sint quae.</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
</body>
</html>

在这里插入图片描述

③ 技巧

  • 使用 lorem < tab > 就可以自动生成一串随机的长文本,对于排版测试非常有帮助。
  • 如何给多个段落同时构造一串随机的文本:“列编辑” 模式
    • 按照 alt 键,鼠标左键在要增加光标的位置点一下,每次点击都会多出一个光标,接下来的输入,就会在所有光标的位置,同时产生输出!

4、换行标签: br

① 代码

html 中 直接输入换行 或者 输入 “\n” 不会真的换行, 而是相当于一个空格 或者 在文中加入 “\n”

在 html 中,br 是 break 的缩写. 表示换行。

  • br 是一个单标签(不需要结束标签)
  • br 标签不像 p 标签那样带有一个很大的空隙.

  • 是规范写法. 不建议写成

② 举例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>这是一个段落 Lorem ipsum dolor <br/> amet consectetur adipisicing elit. Cum, ipsa praesentium. Exercitationem totam at quibusdam blanditiis. Molestias modi magnam vel animi, ipsum ducimus doloribus corrupti nulla explicabo maxime sint quae.</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
    <p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?</p>
</body>
</html>

在这里插入图片描述

③ 技巧

  • 在 html 中文字之间输入的多个空格只相当于一个空格.
&nbsp;

  表示空格。

5、格式化标签

① 代码

  • 加粗: strong 标签 和 b 标签
  • 倾斜: em 标签 和 i 标签
  • 删除线: del 标签 和 s 标签
  • 下划线: ins 标签 和 u 标签

② 举例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <strong>加粗1</strong>
    <b>加粗2</b>

    <em>倾斜1</em>
    <i>倾斜2</i>

    <del>删除线1</del>
    <s>删除线2</s>

    <ins>下划线1</ins>
    <u>下划线2</u>
</body>
</html>

在这里插入图片描述

6、图片标签: img

img 是非常常用的标签,效果就是在页面上显示出图片!

① 代码

此时要把 rose.jpg 这个图片文件放到和 html 中的同级目录中.

<img src="" 
alt="" 
title="" 
width="" 
height="" 
border="">

img 标签的属性:

  • src :表示图片的路径。(必写)
  • alt:替换文本. 当文本不能正确显示的时候, 会显示一个替换的文字。
  • title:提示文本. 鼠标放到图片上, 就会有提示。
  • width/height:控制宽度高度. 高度和宽度一般改一个就行, 另外一个会等比例缩放. 否则就会图片失衡。(单位:像素 px)
  • border:边框, 参数是宽度的像素. 但是一般使用 CSS 来设定。

② 注意

  1. img 是个单标签,没有结果标签。
  2. img 里有一个必填的属性:src
  3. 属性可以有多个, 不能写到标签之前.
  4. 属性之间用空格分割, 可以是多个空格, 也可以是换行。
  5. 属性之间不分先后顺序。
  6. 属性使用 “键值对” 的格式来表示。

③ 目录结构

img 的 src 不仅支持相对路径,也支持绝对路径。

Ⅰ 相对路径

以 当前工作目录 所在位置为基准, 找到图片的位置。

  • 同级路径: 直接写文件名即可 (或者 ./)
  • 下一级路径: image/1.jpg
  • 上一级路径: …/image/1.jpg

同级路径

<img src="rose.jpg" alt="">

下一级路径

<img src="imger/rose.jpg" alt="">

上一级路径

<img src="../rose.jpg" alt="">

Ⅱ 绝对路径

一个完整的磁盘路径, 或者网络路径。

  • 磁盘路径:D:\rose.jpg
  • 网络路径:https://bkimg.cdn.bcebos.com/pic/aa18972bd40735fae6cd6a31260518b30f2443a7a2a5

磁盘路径:虽然可行,但是一般不建议;html 要能够在多个电脑上都能运行,发给别人,别人不一定有这个照片并且 和 该路径存放的路径一样。

<img src="D:/rose.jpg" alt="">

网络路径:更常见的写法

<img src="https://bkimg.cdn.bcebos.com/pic/aa18972bd40735fae6cd6a31260518b30f2443a7a2a5" alt="">

7、超链接标签: a

链接(Link)和连接(Connection)不是一回事!
链接类似于快捷方式,通过链接,就可以找到我们想找到的那个实体。

超链接:跳转范围很大,既可以跳转到当前页面中的某个片段,还可以跳转到其他页面的某个地方。点击超链接(a 标签)就可以跳转到目的页面。

① 代码

  • href: 必须具备, 表示点击后会跳转到哪个页面.
  • target: 打开方式. 默认是 _self. 如果是 _blank 则用新的标签页打开.
<a href="https://www.sogou.com" target="_blank">这是一个超链接</a>

② 链接的几种形式

  • 外部链接: href 引用其他网站的地址。
<a href="https://www.sogou.com">这是一个超链接</a>
  • 内部链接: 网站内部页面之间的链接. 写相对路径即可。
<!-- hello.html -->
<a href="1.html">跳转到 1.html</a>

<!-- 1.html -->
<a href="hello.html">跳转到 hello.html</a>
  • 下载链接: href 对应的路径是一个文件(可以使用 zip 文件)。
<a href="2.zip">下载2.zip</a>
  • 空链接: 使用 # 在 href 中占位(不进行任何跳转)。
<a href="#">空链接</a>
  • 网页元素链接: 可以给图片等任何元素添加链接(把元素放到 a 标签中)。
<a href="http://www.sogou.com">
  <img src="rose.jpg" alt="">
</a>

  • 锚点链接: 可以快速定位到页面中的某个位置。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <a href="#one">第一集</a>
    <a href="#two">第二集</a>
    <a href="#three">第三集</a>

    <p id="one">
     第一集剧情 <br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
     ...
    </p>

    <p id="two">
     第二集剧情 <br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
     ...
    </p>

    <p id="three">
     第三集剧情 <br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
      Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
     ...
    </p>
</body>
</html>

8、表格标签

① 基本使用

  • table:表示整个表格。
  • tr:表示表格的一行。
  • td:表示一个单元格。
  • th:表示表头单元格. 会居中加粗。
  • thead:表格的头部区域(注意和 th 区分, 范围是比 th 要大的)。
  • tbody:表格得到主体区域。

table 包含 tr , tr 包含 td 或者 th.

表格标签有一些属性, 可以用于设置大小边框等. 但是一般使用 CSS 方式来设置.
这些属性都要放到 table 标签中.

  • align 是表格相对于周围元素的对齐方式. align=“center” (不是内部元素的对齐方式)
  • border 表示边框. 1 表示有边框(数字越大, 边框越粗), “” 表示没边框.
  • cellpadding: 内容距离边框的距离, 默认 1 像素
  • cellspacing: 单元格之间的距离. 默认为 2 像素
  • width / height: 设置尺寸.

注意, 这几个属性, vscode 都提示不出来.

② 举例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <style>
        /* 这就是 CSS 代码,这个代码的意思就是 所有的 td 标签里的文本都是水平居中对齐的 */
        td {
            text-align: center;
        }
    </style>

    <!-- 整个表格 -->
    <table align="center" border="1px" cellpadding="20" cellspacing="0" width="500px" height="300px">
        <tr>
            <th>姓名</th>
            <th>性别</th>
            <th>电话</th>
        </tr>
        <tr>
            <td>张三</td>
            <td></td>
            <td>110</td>
        </tr>
        <tr>
            <td>李四</td>
            <td></td>
            <td>119</td>
        </tr>
        <tr>
            <td>王五</td>
            <td></td>
            <td>120</td>
        </tr>
    </table>
</body>
</html>

9、列表标签

① 代码

  • 无序列表[重要] ul(unordered list) li(list item)
  • 有序列表[用的不多] ol(ordered list) li(list item)

② 举例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 列表标签 -->

    <ol>
        <li>咬人猫</li>
        <li>兔总裁</li>
        <li>阿叶君</li>
        <li>咝小喵</li>
    </ol>

    <ul>
        <li>咬人猫</li>
        <li>兔总裁</li>
        <li>阿叶君</li>
        <li>咝小喵</li>
    </ul>
</body>
</html>

在这里插入图片描述

10、表单标签

在页面上填写信息并提交,这个操作就是通过 表单标签 来实现的。

① form 标签(未完)

form 的功能是进行前后端交互。
描述了提交给谁,如何提交等交互细节。

我们会在后边学习 js 时讲到!

Ⅰ 代码

Ⅱ 举例

② input 标签

input 标签有很多的形态,对应了不同的输入方式。

  • type(必须有), 取值种类很多多, button, checkbox, text, file, image, password, radio 等。
  • name: 给 input 起了个名字. 尤其是对于 单选按钮, 具有相同的 name 才能多选一。
  • value: input 中的默认值。
  • checked: 默认被选中. (用于单选按钮和多选按钮的。
  • maxlength: 设定最大长度。

Ⅰ 文本框

又叫单行输入,不能换行。

<input type="text">

在这里插入图片描述

Ⅱ 密码框

<input type="password">

在这里插入图片描述

Ⅲ 单选框

<input type="radio" name="sex"><input type="radio" name="sex">

在这里插入图片描述

注意: 单选框之间必须具备相同的 name 属性, 才能实现 多选一 效果。

改良版

  • 使用 label 把文字 和单选框绑定在一起。
  • 使用 checked 属性,自动选择女。
<input type="radio" name="sex" id="male"> <label for="male"></label> 
<input type="radio" name="sex" id="female" checked="checked"> <label for="female"></label>

Ⅳ 复选框

<input type="checkbox">吃饭
<input type="checkbox">睡觉
<input type="checkbox" checked="checked">打游戏

在这里插入图片描述

Ⅴ 普通按钮

<input type="button" value="这是一个按钮">

在这里插入图片描述

Ⅵ 提交按钮(未完)

提交按钮,能够触发表单提交。
需要搭配 form 来使用。

Ⅶ 清空按钮(未完)

清空按钮,能够清空表单。
需要搭配 form 来使用。

Ⅷ 选择文件

文件选择器:允许用户选择一个本地的文件,进一步的可以上传到服务器上。

<input type="file">

在这里插入图片描述

③ label 标签

搭配 input 使用. 点击 label 也能选中对应的单选/复选框, 能够提升用户体验.

  • for 属性: 指定当前 label 和哪个相同 id 的 input 标签对应. (此时点击才是有用的)
<label for="male"></label> <input id="male" type="radio" name="sex">

④ select 标签

<!-- 下拉菜单 -->
<select>
    <option>北京</option>
    <option>上海</option>
    <option>深圳</option>
    <option selected="selected">广州</option>
    <option>杭州</option>
</select>

在这里插入图片描述

⑤ textarea 标签

<!-- 多行编辑框 -->
<textarea name="" id="" cols="30" rows="10"></textarea>

在这里插入图片描述

11、无语义标签: div & span

div 标签, division 的缩写, 含义是 分割
span 标签, 含义是跨度

就是两个盒子. 用于网页布局

  • div 是独占一行的, 是一个大盒子。
  • span 不独占一行, 是一个小盒子。

三、综合案例: 展示简历信息

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>个人简历</title>
</head>
<body>
    <h1>XXX的简历</h1>

    <h2>基本信息</h2>
    <img src="imger/rose.jpg" alt="照片" width="200px" height="300px">
    <p>应聘岗位: Java 开发工程师</p>
    <p>联系电话: 110</p>
    <p>邮箱: 123@qq.com</p>
    <div>
        <a href="https://github.com">我的 GitHub</a>
    </div>
    <div>
        <a href="https://www.csdn.net/">我的博客</a>
    </div>

    <h2>教育背景</h2>
    <ol>
        <li>1990-1996 小葵花幼儿园</li>
        <li>1996-2002 小葵花小学</li>
        <li>2002-2005 小葵花中学</li>
        <li>2005-2008 小葵花高中</li>
        <li>2008-2012 小葵花大学</li>
    </ol>

    <h2>专业技能</h2>
    <ul>
        <li>熟练掌握 Java 的基本语法, 熟悉面向对象程序设计.</li>
        <li>熟悉常用的数据结构, 例如 顺序表, 链表, 二叉树, 栈, 队列, 哈希表等.</li>
        <li>熟练掌握 MySQL 数据库, 可以使用 SQL 语句完成基本的增删改查.</li>
        <li>熟悉进程和线程的基本概念, 熟练掌握多线程编程, 理解线程安全的相关问题和解决方案.</li>
        <li>熟悉网络原理和网络编程, 尤其是对于 TCP/IP/HTTP 等重要协议有所理解.</li>
    </ul>
    
    <h2>项目经历</h2>
    <ol>
        <li>
            <h3>留言墙</h3>
            <p>开发时间: 2022 年 01 月 01 日 ~ 2022 年 09 月 09 日</p>
            <p>功能介绍: </p>
            <ul>
                <li>支持留言发布</li>
                <li>支持匿名留言</li>
            </ul>
        </li>
        <li>
            <h3>学习小助手</h3>
            <p>开发时间: 2022 年 01 月 01 日 ~ 2022 年 09 月 09 日</p>
            <p>功能介绍: </p>
            <ul>
                <li>支持错题检索</li>
                <li>支持同学讨论</li>
            </ul>
        </li>
    </ol>

    <h2>个人评价</h2>
    <p>
        在校期间, 学习认真努力, 多次获得奖学金.
    </p>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

四、综合案例: 填写简历信息

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>个人简历</title>
</head>
<body>
    <h1>请填写简历信息</h1>
    <table width="500px">
        <tr>
            <td>姓名</td>
            <td>
                <input type="text">
            </td>
        </tr>

        <tr>
            <td>性别</td>
            <td>
                <input type="radio" name="gender"> <img src="imger/male.png" width="15px"><input type="radio" name="gender"> <img src="imger/female.png" width="15px"></td>
        </tr>

        <tr>
            <td>出生日期</td>
            <td>
                <select>
                    <option selected="selected">--请选择年份--</option>
                    <option>1995</option>
                    <option>1996</option>
                    <option>1997</option>
                    <option>1998</option>
                    <option>1999</option>
                    <option>2000</option>
                </select>

                <select>
                    <option selected="selected">--请选择月份--</option>
                    <option>1</option>
                    <option>2</option>
                    <option>3</option>
                    <option>4</option>
                    <option>5</option>
                    <option>6</option>
                    <option>7</option>
                    <option>8</option>
                    <option>9</option>
                    <option>10</option>
                    <option>11</option>
                    <option>12</option>
                </select>

                <select>
                    <option selected="selected">--请选择日期--</option>
                    <option>1</option>
                    <option>2</option>
                    <option>3</option>
                    <option>4</option>
                    <option>5</option>
                    <option>6</option>
                    <option>7</option>
                    <option>8</option>
                    <option>9</option>
                    <option>10</option>
                    <option>11</option>
                    <option>12</option>
                    <option>13</option>
                    <option>14</option>
                    <option>14</option>
                    <option>15</option>
                    <option>16</option>
                    <option>17</option>
                    <option>18</option>
                    <option>19</option>
                    <option>20</option>
                    <option>21</option>
                    <option>22</option>
                    <option>23</option>
                    <option>24</option>
                    <option>25</option>
                    <option>26</option>
                    <option>27</option>
                    <option>28</option>
                    <option>29</option>
                    <option>30</option>
                    <option>31</option>
                </select>
            </td>
        </tr>

        <tr>
            <td>就读学校</td>
            <td>
                <input type="text">
            </td>
        </tr>

        <tr>
            <td>应聘岗位</td>
            <td>
                <input type="checkbox"> 前端开发
                <input type="checkbox"> 后端开发
                <input type="checkbox"> 测试开发
                <input type="checkbox"> 运维开发
            </td>
        </tr>

        <tr>
            <td>掌握的技能</td>
            <td>
                <textarea cols="30" rows="10"></textarea>
            </td>
        </tr>

        <tr>
            <td>项目经历</td>
            <td>
                <textarea cols="30" rows="10"></textarea>
            </td>
        </tr>

        <tr>
            <td></td>
            <td>
                <input type="checkbox"> 我已阅读了公司的招聘要求
            </td>
        </tr>

        <tr>
            <td></td>
            <td>
                <a href="#">查看我的状态</a>
            </td>
        </tr>

        <tr>
            <td></td>
            <td>
                <h3>请应聘者确认: </h3>
                <ul>
                    <li>以上信息真实有效</li>
                    <li>能够尽早去公司实习</li>
                    <li>能够接受公司加班文化</li>
                </ul>
            </td>
        </tr>
    </table>
</body>
</html>

在这里插入图片描述

五、Emmet 快捷键

  • 快速输入标签
input[tab]
  • 快速输入多个标签
div*3[tab]
  • 标签带id
div#sex[tab]
  • 标签带类名
div.sex[tab]
  • 标签带子元素
ul>li*3[tab]
  • 标签带兄弟元素
span+span
  • 标签带内容
div{hello}
  • 标签带内容(带编号)
div{$.hello}

六、HTML 特殊字符

有些特殊的字符在 html 文件中是不能直接表示的, 例如:

  • 空格:  
  • 小于号: <
  • 大于号: >
  • 按位与: &

html 标签就是用 < > 表示的. 因此内容里如果存在 < > , 就会发生混淆.

相关文章:

  • IDEA中JDBC连接MYSQL数据库步骤超详细总结
  • docker 开启 nginx 容器
  • 109 使用Ajax传递请求本地数据库
  • 《算法系列》之设计
  • xerces-c++内存管理策略为何耗费大量内存
  • STM32学习笔记:驱动SPI外设读写FLASH
  • 操作系统安全 基本概念
  • 猿创征文——C++|string类2
  • 【51单片机】认识单片机
  • Windows中执行C语言编译的程序乱码的解决方法
  • 商城项目10_JSR303常用注解、在项目中如何使用、统一处理异常、分组校验功能、自定义校验注解
  • 一天时间迅速准备前端面试|JS基础—原型和原型链【三座大山之一,必考】
  • Spring Security详细讲解(JWT+SpringSecurity登入案例)
  • 【Network】网络基础@应用层 —— 协议 | http | https
  • UGUI学习笔记(九)自制3D轮播图
  • Apache的80端口被占用以及访问时报错403
  • Bootstrap JS插件Alert源码分析
  • gops —— Go 程序诊断分析工具
  • Hexo+码云+git快速搭建免费的静态Blog
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JavaScript设计模式系列一:工厂模式
  • JDK9: 集成 Jshell 和 Maven 项目.
  • js操作时间(持续更新)
  • node.js
  • PAT A1092
  • redis学习笔记(三):列表、集合、有序集合
  • SpriteKit 技巧之添加背景图片
  • XML已死 ?
  • 从setTimeout-setInterval看JS线程
  • 缓存与缓冲
  • 如何在 Tornado 中实现 Middleware
  • 深入 Nginx 之配置篇
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 详解NodeJs流之一
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 【运维趟坑回忆录 开篇】初入初创, 一脸懵
  • 交换综合实验一
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​Java并发新构件之Exchanger
  • ​卜东波研究员:高观点下的少儿计算思维
  • #数学建模# 线性规划问题的Matlab求解
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (2015)JS ES6 必知的十个 特性
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (十八)SpringBoot之发送QQ邮件
  • (转载)利用webkit抓取动态网页和链接
  • *1 计算机基础和操作系统基础及几大协议
  • .cfg\.dat\.mak(持续补充)
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net 调用php,php 调用.net com组件 --
  • .net 发送邮件
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET6 开发一个检查某些状态持续多长时间的类
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @SpringBootApplication 包含的三个注解及其含义