【Web】HTML基础——了解HMTL基本结构+常用标签的使用
🐟HTML结构
👉HTML标签
形如:
<body>hello</body>
- 标签名 (body) 放到 < > 中
- 大部分标签成对出现. 为开始标签, 为结束标签.
- 少数标签只有开始标签, 称为 “单标签”.
- 开始标签和结束标签之间, 写的是标签的内容. (hello)
- 开始标签中可能会带有 “属性”. id 属性相当于给这个标签设置了一个唯一的标识符(身份证号码).
<body id="myId">hello</body>
👉HTML文件基本结构
<html>
<head>
<title>第一个页面</title>
</head>
<body>
hello world
</body>
</html>
html
标签是整个 html 文件的根标签(最顶层标签
)head
标签中写页面的属性
.body
标签中写的是页面上显示的内容
title
标签中写的是页面的标题
.
👉标签层次结构
- 父子关系
- 兄弟关系
<html>
<head>
<title>第一个页面</title>
</head>
<body>
hello world
</body>
</html>
其中:
- head 和 body 是 html 的子标签(html 就是 head 和 body 的父标签)
- title 是 head 的子标签. head 是 title 的父标签.
- head 和 body 之间是兄弟关系.
👉快速生成代码框架
在html文件输入 !即可生成代码框架,省时省事
效果如下:
细节解释: ( 了解即可, 不必深究
)
-
< !DOCTYPE html > 称为 DTD (文档类型定义), 描述当前的文件是一个 HTML5 的文件.
-
< html lang=“en” > 其中 lang 属性表示当前页面是一个 “英语页面”. 这里暂时不用管. (有些浏览器会根据此处的声明提示是否进行自动翻译).
-
< meta charset=“UTF-8” > 描述页面的字符编码方式. 没有这一行可能会导致中文乱码.
-
< meta name=“viewport” content=“width=device-width, initial-scale=1.0” >
1.name=“viewport” 其中 viewport 指的是设备的屏幕上能用来显示我们的网页的那一块区域.
2.content=“width=device-width, initial-scale=1.0” 在设置可视区和设备宽度等宽, 并
设置初始缩放为不缩放. (这个属性对于移动端开发更重要一些).
🐟HTML常见标签
👉注释标签
注释不会显示在界面上. 目的是提高代码的可读性.
<!-- 我是注释 -->
ctrl + / 快捷键可以快速进行注释/取消注释.
注释的原则
- 要和代码逻辑一致.
- 尽量使用中文.
不要传递负能量.
(容易被老板实锤)
👉标题标签:h1-h6
有六个, 从 h1 - h6. 数字越大, 则字体越小.
<h1>hello</h1>
<h2>hello</h2>
<h3>hello</h3>
<h4>hello</h4>
<h5>hello</h5>
<h6>hello</h6>
效果:
👉段落标签:p
把一段比较长的文本粘贴到 html 中, 会发现并没有分成段落.
例如:
此时用p标签即可实现文字分段
- p 标签表示一个段落.
<p>这是一个段落</p>
通过 p 标签改进上述代码, 每个段落放到 p 标签中
.
注意:
- p 标签之间存在一个空隙
- 当前的 p 标签描述的段落, 前面还没有缩进. (未来 CSS 会学)
- 自动根据浏览器宽度来决定排版.
- html 内容
首尾处的换行, 空格均无效
. - 在 html 中文字之间
输入的多个空格只相当于一个空格
. html 中直接输入换行不会真的换行, 而是相当于一个空格
.
👉换行标签:br
br 是 break 的缩写. 表示换行(通常和p标签一起使用)
br 是一个单标签(不需要结束标签)
- br 标签不像 p 标签那样带有一个很大的空隙.
< br/ >
是规范写法. 不建议写成< br >
(其实只写br也可以,浏览器会自动补全代码
)
👉格式化标签
- 加粗: strong 标签 和 b 标签
- 倾斜: em 标签 和 i 标签
- 删除线: del 标签 和 s 标签
- 下划线: ins 标签 和 u 标签
效果:
👉图片标签:img
img 标签必须带有 src 属性. 表示图片的路径
.
<img src="rose.jpg">
此时要把 rose.jpg 这个图片文件放到和 html 中的同级目录中.
img 标签的其他属性
alt:
替换文本. 当文本不能正确显示的时候, 会显示一个替换的文字.title:
提示文本. 鼠标放到图片上, 就会有提示.width/height:
控制宽度高度. 高度和宽度一般改一个就行, 另外一个会等比例缩放. 否则就会图片失衡.border:
边框, 参数是宽度的像素. 但是一般使用 CSS 来设定.
注意:
属性可以有多个, 不能写到标签之前
- 属性之间用空格分割, 可以是多个空格, 也可以是换行.
- 属性之间
不分先后顺序
- 属性使用 “键值对” 的格式来表示.
属性=“xxxx”
关于目录结构:
对于一个复杂的网站, 页面资源很多, 这种情况可以使用目录把这些文件整理好.
-
相对路径: 以 html 所在位置为基准, 找到图片的位置.
同级路径: 直接写文件名即可 (或者 ./)
下一级路径: image/1.jpg
上一级路径: …/image/1.jpg -
绝对路径: 一个完整的磁盘路径, 或者网络路径. 例如
磁盘路径 D:\rose.jpg
网络路径 https://images0.cnblogs.com/blog/130623/201407/300958470402077.png
代码示例
- 使用相对路径: 创建一个 image 目录和 html 同级, 并放入一个 rose2.jpg
<img src="image/rose2.jpg" alt="">
- 使用相对路径2: 在 image 目录中创建一个 html, 并访问上级目录的 rose.jpg
<img src="../rose.jpg" alt="">
- 使用绝对路径1: 最好使用 / , 不要使用 \
<img src="D:/rose.jpg" alt="">
- 使用绝对路径2: 使用网络路径
<img src="图片链接"alt="">
👉超链接标签:a
href
: 必须具备, 表示点击后会跳转到哪个页面.target
: 打开方式. 默认是 _self. 如果是 _blank 则用新的标签页打开.
<a href="http://www.baidu.com">百度</a>
链接的几种形式:
-
外部链接: href 引用其他网站的地址
<a href="http://www.baidu.com">百度</a>
-
内部链接: 网站内部页面之间的链接. 写相对路径即可.
-
空链接: 使用 # 在 href 中占位.
<a href="#">空链接</a>
-
下载链接: href 对应的路径是一个文件. (可以使用 zip 文件)
<a href="test.zip">下载文件</a>
-
网页元素链接: 可以给图片等任何元素添加链接(把元素放到 a 标签中,实现点图片跳转)
<a href="http://www.sogou.com">
<img src="rose.jpg" alt="">
</a>
- 锚点链接: 可以快速定位到页面中的某个位置.
<a href="#one">第一集</a>
<a href="#two">第二集</a>
<a href="#three">第三集</a>
<p id="one">
第一集剧情 <br>
第一集剧情 <br>
...
</p>
<p id="two">
第二集剧情 <br>
第二集剧情 <br>
...
</p>
<p id="three">
第三集剧情 <br>
第三集剧情 <br>
...
</p>
👉表格标签
🦈基本使用
table 标签:
表示整个表格
tr:
表示表格的一行
td:
表示一个单元格
th:
表示表头单元格. 会居中加粗
thead:
表格的头部区域(注意和 th 区分, 范围是比 th 要大的)
tbody:
表格得到主体区域
table 包含 tr
tr 包含 td 或者 th.
示例:
<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>
🦈合并单元格
- 跨行合并: rowspan=“n”
- 跨列合并: colspan=“n”
步骤
- 先确定跨行还是跨列(参数n表示合并的 行数/列数)
- 找好目标单元格(跨列合并, 左侧是目标单元格; 跨行合并, 上方是目标单元格)
- 删除的多余的单元格
👉列表标签
主要使用来布局的. 整齐好看.
- 无序列表[重要] ul li , .
- 有序列表[用的不多] ol li
- 自定义列表[重要] dl (总标签) dt (小标题) dd (围绕标题来说明) 上面有个小标题, 下面有几个围绕着标题来展开的.
👉表单标签
🦈form标签
描述了要把数据按照什么方式, 提交到哪个页面中.
<form action="test.html">
... [form 的内容]
</form>
🦈input标签
各种 输入控件
, 单行文本框, 按钮, 单选框, 复选框.等等
type(必须有)
, 取值种类很多多, button, checkbox, text, file, image, password, radio 等.name:
给 input 起了个名字. 尤其是对于 单选按钮, 具有相同的 name 才能多选一.value:
input 中的默认值.checked:
默认被选中. (用于单选按钮和多选按钮)maxlength:
设定最大长度
-
文本框
<input type="text">
-
密码框
<input type="password">
这里有个很有意思的东西,因为密码输入一般都是看不见的,如果有时候忘记密码了,就可以在当前网页打开 开发者工具(F12)找到 密码输入框 对应的 html代码
然后将"password"改成"text" 就能看到密码了
拿去装b吧,不用谢~~ -
单选框
<input type="radio" name="sex">男
<input type="radio" name="sex" checked="checked">女
注意: 单选框之间必须具备相同的 name 属性, 才能实现 多选一 效果.
checked
是默认选中的意思
-
复选框
<input type="checkbox"> 吃饭 <input type="checkbox"> 睡觉 <input type="checkbox">打游戏
-
普通按钮
<input type="button" value="我是个按钮">
- 提交按钮
<form action="test.html">
<input type="text" name="username">
<input type="submit" value="提交">
</form>
- 清空按钮
<form action="test.html">
<input type="text" name="username">
<input type="submit" value="提交">
<input type="reset" value="清空">
</form>
- 选择文件
<input type="file">
点击选择文件, 会弹出对话框, 选择文件.
🦈label标签
- for 属性: 指定当前 label 和哪个相同 id 的 input 标签对应. (此时点击才是有用的)
<label for="male">男</label> <input id="male" type="radio" name="sex">
🦈select标签
下拉菜单
- option 中定义
selected="selected"
表示默认选中.
<select>
<option>北京</option>
<option selected="selected">上海</option>
</select>
注意! 可以给的第一个选项, 作为默认选项
<select>
<option>--请选择年份--</option>
<option>1991</option>
<option>1992</option>
<option>1993</option>
<option>1994</option>
<option>1995</option>
</select>
🦈textarea标签
表示一个文本域,里边可以放文字片段
<textarea rows="3" cols="50">文本内容 </textarea>
👉无语义标签:div &span
div 标签
, division 的缩写, 含义是 分割
span 标签
, 含义是跨度
就是两个盒子. 用于网页布局
- div 里的东西是独占一行的, 是一个大盒子.
- span 里的东西不独占一行, 是一个小盒子
两者可以互相嵌套
🐒综合案例1:展示简历信息
<!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>
<h1>求职者:布莱恩特·张</h1>
<h2>基本信息</h2>
<img src="kobe.jpg" alt="曼巴精神永存" width="200px">
<p>
<span>求职意向:</span>
<span>Java 后端开发工程师</span>
</p>
<p>
<span>联系电话:</span>
<span>18778836281</span>
</p>
<p>
<span>邮箱:</span>
<span>1149698679@qq.com</span>
</p>
<p>
<a href="https://gitee.com/super-mali" target="_blank">我的Gitee </a>
</p>
<p>
<a href="https://blog.csdn.net/DerrickWestbrook" target="_blank">我的CSDN博客</a>
</p>
<h2>
教育背景
</h2>
<ol>
<li>2007-2013 芦笛小学</li>
<li>2013-2016 奎光中学</li>
<li>2016-2019 桂林中学</li>
<li>2019-2023 西安工业大学</li>
</ol>
<h2>专业技能</h2>
<ul>
<li>熟练掌握Java基础语法</li>
<li>熟悉Mysql常用数据库相关操作</li>
<li>熟知计算机网络原理</li>
<li>熟悉数据结构,了解经典排序算法,二叉树,RB树,红黑树,AVL树,哈希原理</li>
<li>掌握Web开发能力,并且能独立开发学校留言墙功能</li>
</ul>
<h2>我的项目</h2>
<h3>1.留言墙</h3>
<h4>开发时间</h4>
<span>2022.6.6</span>
<h4>功能介绍</h4>
<li>支持留言发布</li>
<li>支持匿名留言</li>
<h3>2.学习小助手</h3>
<h4>开发时间</h4>
<span>2022.4.11</span>
<h4>功能介绍</h4>
<li>支持错题检索</li>
<li>支持同学探讨</li>
<h2>个人评价</h2>
<span>在校期间,表现优异,多次夺得奖学金,代表学校外出竞赛</span>
</body>
</html>
网页效果:
🐒综合案例2:填写简历信息
<!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>
<table align="center" width="500px" height="500px" cellspacing="1">
<thead>
<h3 align="center">请填写你的简历信息</h3>
</thead>
<tbody >
<tr>
<td>
姓名:
</td>
<td>
<input type="text">
</td>
</tr>
<tr>
<td>
性别:
</td>
<td>
<input type="radio" name="sex" checked>♂男
<input type="radio" name="sex">♀女
</td>
</tr>
<tr>
<td>
出生日期:
</td>
<td>
<select>
<option>--请选择年份</option>
<option>2001</option>
<option>2002</option>
<option>2003</option>
<option>2004</option>
</select>
<select>
<option>--请选择月份</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>--请选择日期</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>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>
</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>
</tbody>
</table>
</body>
</html>
网页效果: