标签
标签的写法
<strong>文字内容</strong> #需要包裹内容双标签;加粗
<hr> #水平线
HTML基本骨架
VSCode快速生成:!加enter
<!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>
给用户看的内容
</body>
</html>
标签的关系
- 父子关系(嵌套)
- 兄弟关系(平级)
标题标签
用途:新闻标题、文章标题、网页区域名称、产品名称等等
标签名:h1~h6(特点:文字加粗,字号逐渐减小,独占一行(换行))
h1标签:一个网页就用一次,用来放新闻标题或网页Logo
<body>
<h1>一级标题</h1>
<h2>二级标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>
</body>
段落标签
用途:新闻段落、文章段落、产品描述信息等等
标签名:p(特点:独占一行,段落之间存在间隙)
<body>
<p> Vue </p>
<p> Vue </p>
</body>
换行与水平线标签
标签名:<br> #换行;<hr> #水平线
<body>
第一行内容
<br>
<br>
第二行内容
<hr>
</body>
文本格式化标签
左边标签名带有强调含义,一般用左边标签名
<body>
<strong>strong 加粗</strong>
<b>b 加粗</b>
<em>em 倾斜</em>
<i>i 倾斜</i>
<ins>ins 下划线</ins>
<u>u 下划线</u>
<del>del 删除线</del>
<s>s 删除线</s>
</body>
图像标签和属性
标签名:<img>
属性:属性名+属性值
特点:
·属性名="属性值"
·属性写在尖括号里面,标签名后面,标签名和属性之间用空格隔开,不区分先后顺序
src #指定图片
<body>
<!-- 如果网速慢,可能导致图片加载不出来,用于解释此处是什么,用alt替换 -->
<img src="./cat1.jpg" alt="这是一只猫">
<img src="./dog.jpg" title="这是一只狗">
<!-- 浏览器缩放图片,默认是等比例缩放 -->
<img src="./cat.jpg" width="100">
<img src="./dog.jpg" height="600">
</body>
相对路径和绝对路径
相对路径:
. 当前文件所在文件夹
.. 当前文件上一级文件夹
/ 进入某个文件夹里面
代码示例:
<body> <!-- 1.jpg --> <img src="./1.jpg"> <!-- 2.gif --> <img src="./images/2.gif"> <!-- 3.jpg --> <img src="../3.jpg"> </body>
绝对路径:
代码示例:
<body> <!-- 本地磁盘地址 --> <img src="E:\cat.jpg"> <img src="E:/cat.jpg"> <!-- 图片网址链接 --> <img src="https://img-home.csdnimg.cn/images/20201124032511.png"> </body>
超链接标签
代码示例:
<body> <a href="https://www.baidu.com/">跳转到百度</a> <!-- 跳转到本地文件:相对路径查找 --> <!-- target="_blank" 新窗口跳转页面 --> <a href="./12-绝对路径.html" target="_blank">跳转到12-绝对路径.html</a> <!-- 开发初期,不知道超链接的跳转地址,href属性值写#,表示空链接,不会跳转 --> <a href="#">空链接</a> </body>
注意:在新窗口打开要加属性:target="_blank"
音频和视频标签
音频标签:<audio src="音频的URL"></audio>
常用属性:
代码示例:
<body> <!-- 在 HTML5 里面,如果属性名和属性值完全一样,可以简写为一个单词 --> <audio src="./media/Stay The Night.mp3" controls loop autoplay></audio> </body>
注:如未简写,格式为:controls = "controls",其余简写属性与之相同
视频标签:<video src="视频的URL"></video>
常用属性:
代码示例:
<body> <!-- 在浏览器中,想要自动播放,必须有 muted 属性 --> <video src="./media/The Moment.mp4" controls loop muted autoplay></video> </body>
案例实战
案例一
网页制作思路:从上到下,先整体再局部,逐步分析制作。
操作步骤:分析内容→写代码→保存→刷新浏览器看效果
预实现效果:
代码参考:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>个人简介</title> </head> <body> <h1>雷军</h1> <hr> <p>雷军,男,汉族,1969年12月16日出生于湖北省仙桃市,无党派人士,大学学历,理学学士学位,高级工程师。中国著名天使投资人。现任第十四届全国人大代表,中国民间商会副会长,北京市工商联副主席,<a href="https://baike.baidu.com/item/%E9%9B%B7%E5%86%9B/1968" target="_blank">小米科技有限责任公司董事长兼首席执行官</a> ,北京金山软件有限公司董事长,小米智能技术有限公司法定代表人、执行董事、经理 ,小米汽车有限公司法定代表人、执行董事、经理。</p> <img src="./雷神.png" alt="雷军" title="雷军"> <h2>人物经历</h2> <p>雷军,1969年出生于湖北仙桃。1987年,毕业于原沔阳中学(现湖北省仙桃中学),同年,雷军考上了武汉大学计算机系。进入大学后,对自己要求比较严的雷军就开始选修了不少高年级的课程。<strong>仅用了两年时间,雷军修完了所有学分</strong> (武汉大学是当时国内最早一批实施学分制的大学,按照学校要求,只要修完一定的学分就可以毕业),甚至完成了大学的毕业设计。</p> <h2>社会任职</h2> <p>2022年8月29日,当选为<ins>北京市工商业联合会兼职副主席</ins> 。</p> <p>2022年12月,当选<ins>中国民间商会副会长</ins> 。</p> <p>2022年12月,当选<ins>中华全国工商业联合会第十三届执行委员会委员</ins> 。</p> </body> </html>
列表、表格和表单
样式参考图:
列表
作用:布局内容排列整齐的区域。
列表分类:无序列表、有序列表、定义列表。
参考样式:
无序列表
作用:布局排列整齐的不需要规定顺序的区域。
标签:ul嵌套li,ul是无序列表,li是列表条目。
代码示例:
<body> <ul> <li>列表条目1</li> <li>列表条目2</li> <li>列表条目3</li> </ul> </body>
注意事项: ul 标签里面只能包裹 li 标签 ; li 标签里面可以包裹任何内容
有序列表
作用:布局排列整齐的需要规定顺序的区域。
标签:ol嵌套li,ol是有序列表,li是列表条目。
代码示例:
<body> <ol> <li>步骤1</li> <li>步骤2</li> <li>步骤3</li> </ol> </body>
注意事项:ol 标签里面只能包裹 li 标签 ; li 标签里面可以包裹任何内容
定义列表
作用:网页底部,应用于一个标题对应多个内容区域。
标签:dl嵌套dt和dd,dl是定义列表,dt是定义列表的标题,dd是定义列表的描述/详情。
代码示例:
<body> <dl> <dt>服务中心</dt> <dd>申请售后</dd> <dd>售后政策</dd> </dl> </body>
注意事项: dl里面只能包含dt和dd ;dt和dd里面可以包含任何内容
表格
基本使用
标签: table 嵌套 tr,tr 嵌套 td/th。
注:表格默认没有边框线,使用border属性可以为表格添加边框线。
代码示例:
<body> <table border="1"> <tr> <th>姓名</th> <th>语文</th> <th>数学</th> <th>总分</th> </tr> <tr> <td>张三</td> <td>99</td> <td>100</td> <td>199</td> </tr> <tr> <td>李四</td> <td>98</td> <td>100</td> <td>198</td> </tr> <tr> <td>总结</td> <td>全市第一</td> <td>全市第一</td> <td>全市第一</td> </tr> </table> </body>
表格结构标签(了解即可)
作用:用表格结构标签把内容划分区域,让表格结构更清晰,语义更清晰。
代码示例:
<body> <table border="1"> <thead> <tr> <th>姓名</th> <th>语文</th> <th>数学</th> <th>总分</th> </tr> </thead> <tbody> <tr> <td>张三</td> <td>99</td> <td>100</td> <td>199</td> </tr> <tr> <td>李四</td> <td>98</td> <td>100</td> <td>198</td> </tr> </tbody> <tfoot> <tr> <td>总结</td> <td>全市第一</td> <td>全市第一</td> <td>全市第一</td> </tr> </tfoot> </table> </body>
合并单元格
作用:将多个单元格合并成一个单元格,以合并同类信息。
合并单元格的步骤:
1.明确合并的目标
2.保留最左最上的单元格,添加属性(取值是数字,表示需要合并的单元格数量)
- 跨行合并,从上到下,保留最上单元格,添加属性rowspan
- 跨列合并,从左到右,保留最左单元格,添加属性colspan
3.删除其他单元格
代码示例:
<body> <table border="1"> <thead> <tr> <th>姓名</th> <th>语文</th> <th>数学</th> <th>总分</th> </tr> </thead> <tbody> <!-- 跨行合并 --> <tr> <td>张三</td> <td>99</td> <td rowspan="2">100</td> <td>199</td> </tr> <tr> <td>李四</td> <td>98</td> <!-- <td>100</td> --> <td>198</td> </tr> </tbody> <tfoot> <!-- 跨列合并 --> <tr> <td>总结</td> <td colspan="3">全市第一</td> <!-- <td>全市第一</td> <td>全市第一</td> --> </tr> </tfoot> </table> </body>
注:不能跨结构标签(表头、主要内容和表底)合并
表单
作用:收集用户信息。
使用场景: 登录页面、注册页面、搜索区域
input标签的基本使用
不同type属性的不同功能:
代码示例:
<body> 文本框:<input type="text"> <br><br> 密码框:<input type="password"> <br><br> 单选框:<input type="radio"> <br><br> 多选框:<input type="checkbox"> <br><br> 上传文件:<input type="file"> </body>
网页效果图:
input占位文本
用途:提示用户输入正确信息
代码示例:
<body> 文本框:<input type="text" placeholder="请输入用户名"> <br><br> 密码框:<input type="password" placeholder="请输入密码"> </body>
效果图:
单选框
代码示例:
<body> <!-- 用name属性将两个radio连接为一组,实现二者只能选其一的效果 --> 性别: <input type="radio" name="gender"> 男 <input type="radio" name="gender" checked> 女 </body>
效果图:
注:name属性里的gender为自定义的,可以是a,b,c等等,但最好能使代码有良好的可读性;checked表示默认性别选 '女'
上传多个文件
代码示例:
<body> 上传文件:<input type="file" multiple> </body>
注:默认只能上传一个文件,加上multiple属性实现多文件上传
多选框
代码示例:
<body> 兴趣爱好: <input type="checkbox"> 敲代码 <input type="checkbox" checked> 敲前端代码 <input type="checkbox" checked> 敲前端 HTML 代码 </body>
效果图:
下拉菜单
标签:select嵌套option,select是下拉菜单整体,option是下拉菜单的每一项。
代码示例:
<body> 城市: <select> <option>北京</option> <option>上海</option> <option>广州</option> <option>深圳</option> <option selected>武汉</option> </select> </body>
效果图:
注:不加selected标签默认选择显示北京,加上后默认显示武汉
文本域
作用:多行输入文本的表单控件。
代码示例:
<body> <!-- 工作中,使用 CSS 禁用右下角的拖拽功能;使用 CSS 设置尺寸 --> <textarea>请输入评论</textarea> </body>
效果图:
label标签
作用:网页中,某个标签的说明文本。
经验:用label标签绑定文字和表单控件的关系,增大表单控件的点击范围(点击男女即可选中)。
增大点击范围的2种写法
代码示例:
<body> 性别: <!--写法一--> <input type="radio" name="gender" id="man"> <label for="man">男</label> <!--写法二--> <label><input type="radio" name="gender"> 女</label> </body>
注:
写法一: label 标签只包裹内容,不包裹表单控件 ;设置label标签的for属性值和表单控件的id属性值相同
写法二 :使用label 标签包裹文字和表单控件,不需要属性
button按钮
标签名:<button type="></button>
代码示例:
<body> <!-- form 表单区域 --> <!-- action="" 发送数据的地址 --> <form action=""> 用户名:<input type="text"> <br><br> 密码:<input type="password"> <br><br> <!-- 如果省略 type 属性,功能是 提交 --> <button type="submit">提交</button> <button type="reset">重置</button> <button type="button">普通按钮</button> </form> </body>
效果图:
注:按钮reset功能需和form标签联用才能重置表单
div和span标签
无语义的布局标签
作用:布局网页(划分网页区域,摆放内容)
div:独占一行
span:不换行
代码示例:
<body> <!-- div:大盒子 --> <div>这是 div 标签</div> <div>这是 div 标签</div> <!-- span:小盒子 --> <span>这是 span 标签</span> <span>这是 span 标签</span> </body>
效果图:
字符实体
作用:在网页中显示预留字符。
常用的字符实体:
代码示例:
<body> <!-- 在代码中敲键盘的空格,网页只识别一个 --> 乾坤未定,你我皆是黑 马。 <p> </body>
效果图:
案例实战
案例一
预实现效果
代码参考:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>案例一</title> </head> <body> <ul> <li> <img src="./BB1kKHjf.jpg" alt=""> <h2>22年前的今天,《火焰纹章:封印之剑》发售</h2> </li> <li> <img src="./BB1kKXiq.jpg" alt=""> <h2>2002年的今天(3月29日),《火焰纹章:封印之剑》在GBA平台正式发售。</h2> </li> <li> <img src="./BB1kTgJi.jpg" alt=""> <h2>创意总监:《最终幻想7:重制版》第三章正在积极开发</h2> </li> </ul> </body> </html>
案例二
预实现效果:
代码示例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>案例一</title> </head> <body> <form action=""> <h1>注册信息</h1> <h3>个人信息</h3> <br><br> 姓名:<input type="text"> <br><br> 密码:<input type="password"> <br><br> 确认密码:<input type="password"> <br><br> 性别: <input type="radio" name="gender"> 男 <input type="radio" name="gender"> 女 <br><br> 居住城市: <select> <option>北京</option> <option>上海</option> <option>广州</option> <option>深圳</option> <option>武汉</option> </select> <h3>教育经历</h3> 最高学历: <select> <option>博士</option> <option>硕士</option> <option>本科</option> <option>专科</option> <option>高中</option> </select> <br><br> 学校名称:<input type="text"> <br><br> 所学专业:<input type="text"> <br><br> 在校时间: <select> <option>2015</option> <option>2016</option> <option>2017</option> <option>2018</option> </select> -- <select> <option>2019</option> <option>2020</option> <option>2021</option> <option>2022</option> </select> <h3>工作经历</h3> 公司名称:<input type="text"> <br><br> 工作描述:<br> <textarea></textarea> <br> <input type="checkbox"> 已阅读并同意以下协议: <ul> <li><a href="#">《用户服务协议》</a></li> <li><a href="#">《隐私政策》 </a></li> </ul> <button type="submit">免费注册</button> <button type="reset">重新填写</button> </form> </body> </html>