【前端】HTML

目录

  • 一、HTML结构
    • [1.1 HTML标签](#1.1 HTML标签)
    • [1.2 HTML文件基本结构](#1.2 HTML文件基本结构)
    • [1.3 快速生成框架](#1.3 快速生成框架)
  • 二、HTML常见标签
    • [2.1 注释标签 !-- --](#2.1 注释标签 !-- --)
    • [2.2 标题标签 h1到h6](#2.2 标题标签 h1到h6)
    • [2.3 段落标签 p](#2.3 段落标签 p)
    • [2.4 换行标签 br](#2.4 换行标签 br)
    • [2.5 格式化标签](#2.5 格式化标签)
    • [2.6 图片标签 img](#2.6 图片标签 img)
    • [2.7 超链接标签 a](#2.7 超链接标签 a)
  • 三、表格标签
    • [3.1 常用标签](#3.1 常用标签)
    • [3.2 合并单元格](#3.2 合并单元格)
  • 四、列表标签
  • 五、表单标签
    • [5.1 表单域: form 标签](#5.1 表单域: form 标签)
    • [5.2 表单控件: input 标签](#5.2 表单控件: input 标签)
    • [5.3 label 标签](#5.3 label 标签)
    • [5.4 select 标签](#5.4 select 标签)
    • [5.5 textarea 标签](#5.5 textarea 标签)
  • [六、无语义标签: div & span](#六、无语义标签: div & span)

一、HTML结构

1.1 HTML标签

HTML 代码是由 "标签" 构成的。

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

1.2 HTML文件基本结构

html 复制代码
<html>
	<head>
		<title>第一个页面名字</title>
	</head>
	<body>
	 hello world 
	</body>
<html>

上述代码效果图:

代码内容简介:

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

标签关系:

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

1.3 快速生成框架

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

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

二、HTML常见标签

2.1 注释标签 !-- --

格式如下:

html 复制代码
<!-- 注释 -->

在编辑器中使用 Ctrl+/ 快捷键注释。

2.2 标题标签 h1到h6

数字越大,标题越小。

html 复制代码
    <h1>标题h1</h1>
    <h2>标题h2</h2>
    <h3>标题h3</h3>
    <h4>标题h4</h4>
    <h5>标题h5</h5>
    <h6>标题h6</h6>

代码结果:

2.3 段落标签 p

在HTML中,不会自动帮你分段,粘贴一个分了段的文本,还是会一行一行写满。

分段就需要p标签:

html 复制代码
<p>  这是一个段落</p>
<p>这是一个段落</p>
<p>这是一个段落</p>

代码结果:

可以看见上述结果并没有缩进,并且就算我们在内容中打上空格,表示缩进也不会有效果。

HTML表示空格:

  • HTML提供了几种不同的空格字符实体来表示空格,每种都有不同的宽度和特性:

  • &nbsp;:这是最常用的空格字符实体,代表一个不断行的空白格。它的宽度受字体影响,通常等于一个标准字符的宽度。如果需要在网页中插入多个连续的空格,可以重复使用&nbsp;。

  • &ensp;:这个字符实体表示一个半角的空格,宽度大约是一个标准字符的一半,不受字体影响。

  • &emsp;:这个字符实体表示一个全角的空格,宽度大约是一个标准字符的宽度,也不受字体影响。

  • &thinsp;:这个字符实体表示一个比标准空格更窄的空格

p标签注意事项:

  • p 标签之间存在一个空隙
  • 当前的 p 标签描述的段落, 前面还没有缩进. (未来 CSS 会学)
  • 自动根据浏览器宽度来决定排版.
  • html 内容首尾处的换行, 空格均无效.
  • 在 html 中文字之间输入的多个空格只相当于一个空格.
  • html 中直接输入换行不会真的换行, 而是相当于一个空格.

2.4 换行标签 br

注意事项:

  • br 是一个单标签(不需要结束标签)
  • br 标签不像 p 标签那样带有一个很大的空隙.
  • <br/> 是规范写法. 不建议写成 <br>
html 复制代码
<p>&nbsp;&nbsp;这是一个<br/>段落</p>
    <p>这是一个段落</p>
    <p>这是一个段落</p>

执行结果:

2.5 格式化标签

  • strong 加粗标签
  • b 加粗标签
  • em 倾斜标签
  • i 倾斜标签
  • del 删除标签
  • s 删除线标签
  • ins 下划线标签
  • u 下划线标签
html 复制代码
<strong>strong 加粗</strong><br/>
<b>b 加粗</b><br/>
<em>em 倾斜</em><br/>
<i> i 倾斜</i><br/>
<del>del 删除线</del><br/>
<s>s 删除线</s><br/>
<ins>ins 下划线</ins><br/>
<u>u 下划线</u><br/>

执行结果:

2.6 图片标签 img

img 标签必须带有 src 属性. 表示图片的路径。

图片路径:

  • 可以是网络路径:网上图片的位置。
  • 也可以是绝对路径;
  • 还可以是相对路径。
html 复制代码
<img src="路径">

img 标签的其他属性

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

2.7 超链接标签 a

  • href: 必须具备, 表示点击后会跳转到哪个页面。
  • target: 打开方式. 默认是 _self. 如果是 _blank 则用新的标签页打开。
html 复制代码
<a href="https://blog.csdn.net/yj20040627/article/details/142794511?spm=1001.2014.3001.5502" target="_blank">哈希</a>

链接形式:

  1. 外部链接: href 引用其他网站的地址。
html 复制代码
<a href="http://www.baidu.com">百度</a>
  1. 内部链接: 网站内部页面之间的链接. 写相对路径即可。
  2. 空链接: 使用 # 在 href 中占位。
html 复制代码
<a href="#">空链接</a>
  1. 下载链接: href 对应的路径是一个文件。(可以使用 zip 文件)。
  2. 网页元素链接: 可以给图片等任何元素添加链接(把元素放到 a 标签中)。
html 复制代码
<a href="http://www.sogou.com">
    <img src="rose.jpg" alt="">
</a>
  1. 锚点链接: 可以快速定位到页面中的某个位置。

三、表格标签

3.1 常用标签

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

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

这些属性都要放到 table 标签中。

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

设计如下表格:

html 复制代码
    <table align="center" border="1" cellpadding="20" cellspacing="0"width="500" height="500">
    <tr>
        <td>姓名</td>
        <td>性别</td>
        <td>年龄</td>
    </tr>
    <tr>
        <td>张三</td>
        <td>男</td>
        <td>10</td>
    </tr>
    <tr>
    <td>李四</td>
        <td>女</td>
        <td>11</td>
    </tr>
</table>

执行结果:

3.2 合并单元格

  • 跨行合并: rowspan="n"
  • 跨列合并: colspan="n"

步骤

  1. 先确定跨行还是跨列
  2. 找好目标单元格(跨列合并, 左侧是目标单元格; 跨行合并, 上方是目标单元格)
  3. 删除的多余的单元格

四、列表标签

主要使用来布局的, 整齐好看。

  • 无序列表[重要] ul ,li
  • 有序列表[用的不多] ol, li
  • 自定义列表[重要] dl (总标签) dt (小标题) dd (围绕标题来说明) 上面有个小标题, 面有几个围绕着标题来展开的。

例子:

html 复制代码
<h3>无序列表</h3>
<ul>
    <li>无序</li>
    <li>无序</li>
    <li>无序</li>
</ul>
<h3>有序列表</h3>
<ol>
    <li>有序</li>
    <li>有序</li>
    <li>有序</li>
</ol>
<h3>自定义列表</h3>
<dl>
    <dt>自定义</dt>
    <dd>自定义</dd>
    <dd>自定义</dd>
    <dd>自定义</dd>
</dl>
       

结果:

五、表单标签

表单分成两个部分:

  • 表单域: 包含表单元素的区域. 重点是 form 标签。
  • 表单控件: 输入框, 提交按钮等. 重点是 input 标签。

5.1 表单域: form 标签

html 复制代码
<form action="test.html">
   ... [form 的内容]
</form>

5.2 表单控件: input 标签

各种控件:

  • type(必须有), 取值种类很多多, button, checkbox, text, file, image, password,radio 等.
  • name: 给 input 起了个名字. 尤其是对于 单选按钮, 具有相同的 name 才能多选一.
  • value: input 中的默认值.
  • checked: 默认被选中. (用于单选按钮和多选按钮)
  • maxlength: 设定最大长度.
  1. 文本框<input type="text">
  2. 密码框<input type="password">
  3. 单选框:单选框之间必须具备相同的 name 属性, 才能实现 多选一 效果. <input type="radio" name="sex">
  4. 复选框<input type="checkbox">
  5. 普通按钮<input type="button" value="我是个按钮">
  6. 提交按钮:提交按钮必须放到 form 标签内. 点击后就会尝试给服务器发送。
html 复制代码
<form action="test.html">
    <input type="text" name="username">
    <input type="submit" value="提交">
</form>
  1. 清空按钮:清空按钮必须放在 form 中. 点击后会将 form 内所有的用户输入内容重置。
html 复制代码
<form action="test.html">
    <input type="text" name="username">
    <input type="reset" value="清空">
</form>

5.3 label 标签

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

for 属性: 指定当前 label 和哪个相同 id 的 input 标签对应. (此时点击才是有用的)。

html 复制代码
<label for="male">男</label> <input id="male" type="radio" name="sex"> 

5.4 select 标签

下拉菜单:

option 中定义 selected="selected" 表示默认选中。

html 复制代码
<select>
    <option>北京</option>
    <option selected="selected">上海</option>
</select>

5.5 textarea 标签

文本域中的内容, 就是默认内容, 注意, 空格也会有影响.

rows和cols也都不会直接使用,都是用css来改的 。

html 复制代码
<textarea rows="3" cols="50">
    
</textarea>

示例:

html 复制代码
<form action="HTML.html">
         账户:<input type="text"></form><br><!--文本框 -->
        密码:<input type="password"><br><!--密码框-->
        性别:<input type="radio" name="sex" id="male1" > <label for="male1">男</label>
            <input type="radio" name="sex" id="male2" ><label for="male2">女</label><br><!--单选框-->
        兴趣:<input type="checkbox" name="intrest" id = "i1"><label for="i1">唱</label>
            <input type="checkbox" name="intrest" id = "i2"><label for="i2">跳</label>
            <input type="checkbox" name="intrest" id = "i3"><label for="i3">rap</label>
            <input type="checkbox" name="intrest" id = "i4"><label for="i4">篮球</label><br><!--多选框-->
        <input type="submit" value="提交">


    </form>

结果:

六、无语义标签: div & span

div标签,division的缩写,含义是分割。

span标签,含义是跨度。

就是相当于两个盒子。用于网页布局:

  • div是独占一行的,是一个大盒子.
  • span不独占一行,是一个小盒子
相关推荐
哑巴语天雨37 分钟前
React+Vite项目框架
前端·react.js·前端框架
初遇你时动了情1 小时前
react 项目打包二级目 使用BrowserRouter 解决页面刷新404 找不到路由
前端·javascript·react.js
乔峰不是张无忌3301 小时前
【HTML】动态闪烁圣诞树+雪花+音效
前端·javascript·html·圣诞树
鸿蒙自习室1 小时前
鸿蒙UI开发——组件滤镜效果
开发语言·前端·javascript
m0_748250741 小时前
高性能Web网关:OpenResty 基础讲解
前端·openresty
前端没钱2 小时前
从 Vue 迈向 React:平滑过渡与关键注意点全解析
前端·vue.js·react.js
NoneCoder2 小时前
CSS系列(29)-- Scroll Snap详解
前端·css
无言非影2 小时前
vtie项目中使用到了TailwindCSS,如何打包成一个单独的CSS文件(优化、压缩)
前端·css
我曾经是个程序员2 小时前
鸿蒙学习记录
开发语言·前端·javascript
羊小猪~~3 小时前
前端入门之VUE--ajax、vuex、router,最后的前端总结
前端·javascript·css·vue.js·vscode·ajax·html5