赞
踩
目录
前端开发是创建Web页面或APP等前端界面呈现给用户的过程,负责把界面更好的呈现给用户
相对于后端主要负责用户看不见的数据处理,前端是指用户可以看到和操作的部分,例如网页页面,PC端程序页面或移动端APP页面。
HTML(HyperText Markup Language)是超文本标记语言的简称,是一种用于创建网页的标准标记语言。
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- 页面内容
- </body>
- </html>
如上:
其中被尖括号包括的就是HTML标签,不同标签之间分为父子关系和兄弟关系
我们可以通过上面不同标签的缩进程度来观察它们的关系,例如head和body是html的子标签,title是head的子标签,head和body之间是兄弟关系
不同标签之间的结构关系就构成了一棵DOM树
HTML标签又分为单标签和双标签
单标签只会单独出现,用法:<标签名/>
双标签成对出现,用法:<标签名></标签名>
<!-- 我是注释 -->
像这样,用尖括号、感叹号和横杠组成注释标签,其中填写自己需要的注释
注释不会显示在网页界面上,主要用于提高代码的可读性
就像CSDN的富文本编辑器中提供了六级标题,HTML的标题标签也有六个,从h1到h6逐级变小
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <h1>这是一级标题</h1>
- <h2>这是二级标题</h2>
- <h3>这是三级标题</h3>
- <h4>这是四级标题</h4>
- <h5>这是五级标题</h5>
- <h6>这是六级标题</h6>
- </body>
- </html>
我们在开发工具中编写HTML文档,将一长段文字分成多段,但是在网页中并不会显示分成多段的效果,仍然是一长段,例如:
在浏览器中运行:
在HTML中直接输入回车并不能真正的实现分段,而是相当于一个空格
如果我们要进行分段,需要用到段落标签p,具体用法如下:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <p>1111111111111111111</p>
- <p>2222222222222222222</p>
- </body>
- </html>
再次运行:
会发现成功分成了两段,段落之间有一定的间隙
段落标签p是一个双标签,在开始标签和结束标签之间填写自己想要的内容
当然,标签不限制只能在同一行,像这样也是正确的用法:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <p>
- 1111111111111111111
- </p>
- <p>
- 2222222222222222222
- </p>
- </body>
- </html>
换行标签br是break的缩写,是一个单标签,规范写法是<br/>,不建议写成<br>
区别于段落标签p,用br标签只会进行分行,不会产生空隙
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- hello<br/>world
- </body>
- </html>
在浏览器中运行:
HTML中还有一些标签可以改变字体格式:
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <strong>加粗</strong>
- <b>加粗</b>
- <em>倾斜</em>
- <i>倾斜</i>
- <del>删除线</del>
- <s>删除线</s>
- <ins>下划线</ins>
- <u>下划线</u>
- </body>
- </html>
在浏览器中运行:
要在网页中显示图片,就需要用到图片标签img
img标签中必须带有src属性,用于说明图片的路径,用法:<img src="图片路径">
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <img src="html.png">
- </body>
- </html>
在浏览器中运行:
除了保存在本地的图片,网络路径也可以使用,例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <img src="https://tgi12.jia.com/114/936/14936926.jpg">
- </body>
- </html>
在浏览器中运行:
除了src属性,img标签还有其他属性:
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <img src="html.png" alt="HTML" title="这是HTML图标" width="1000px" border="2px">
- </body>
- </html>
属性之间不分先后顺序,按照键值对的格式表示
要实现在网页中跳转到其他地方,就需要超链接标签a
超链接标签也有必须具备的属性href,用来说明点击后要跳转到哪个页面
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <a href="https://www.baidu.com/">百度</a>
- </body>
- </html>
在浏览器中运行:
点击蓝紫色带下划线的“百度”,就可以跳转到对应的页面
属性href的值有多种形式:
例如:
<a href="#">空链接</a>
例如:
<a href="test.zip">下载文件</a>
例如:
- <a href="https://www.baidu.com/">
- <img src="baidu.png">
- </a>
点击该图片就会跳转到百度首页
例如:
- <a href="#one">第一章</a>
- <a href="#two">第二章</a>
- <p id="one">
- 第一章内容
- </p>
- <p id="two">
- 第二章内容
- </p>
要在网页中显示一个表格,就需要使用表格标签table
table有一些子标签:
其中td和th又是tr的子标签
我们举一个例子:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <table>
- <tr>
- <th>姓名</th>
- <th>性别</th>
- <th>年龄</th>
- </tr>
- <tr>
- <td>张三</td>
- <td>男</td>
- <td>18</td>
- </tr>
- <tr>
- <td>李四</td>
- <td>男</td>
- <td>19</td>
- </tr>
- </table>
- </body>
- </html>

在浏览器中运行:
我们发现这个表格怎么没有边框?事实上,表格标签table包含一些属性,其中边框也是属性之一,需要进行设置
table的属性有:
实际设置中我们可能会发现表格的边框有两条线,这是因为单元格之间有距离,如果将cellspacing设置为0边框就变为了单线。大家可以自己设置一下看看
我们还可以对单元格标签td设置合并单元格:
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <table align="center" border="1" cellpadding="5" cellspacing="0" width="500px" height="500px">
- <tr>
- <th>姓名</th>
- <th>性别</th>
- <th>年龄</th>
- </tr>
- <tr>
- <td>张三</td>
- <td rowspan="2">男</td>
- <td>18</td>
- </tr>
- <tr>
- <td>李四</td>
- <td>19</td>
- </tr>
- </table>
- </body>
- </html>

在浏览器中运行:
列表标签又分为有序列表、无序列表和自定义列表:
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <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>
- </body>
- </html>

在浏览器中运行:
无序列表中,每一列前面的实心圆可以改成方块或空心圆。可以通过ul标签的type属性修改,默认值为disc(实心圆),还有square(实心方块)和circle(空心圆),例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <h3>无序列表</h3>
- <ul type="circle">
- <li>第一列</li>
- <li>第二列</li>
- <li>第三列</li>
- </body>
- </html>
有序列表中每一列前面的数字也可以改成英文字母或罗马数字,也是通过修改ol标签的type属性。
有序序列还可以通过修改ol标签的start属性来改变列表起始的数字
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <h3>有序列表</h3>
- <ol type="I" start="2">
- <li>第一列</li>
- <li>第二列</li>
- <li>第三列</li>
- </ol>
- </body>
- </html>
要想让用户通过页面输入信息,就需要用到表单标签
用于创建表单,将用户输入的数据提交到服务器
其中action属性负责定义表单数据提交的目标URL,method属性定义提交数据的HTTP方法
例如:
这里就涉及到一定的服务器和网络编程相关知识了
用于创建各种输入控件,如文本框、按钮、单选框和复选框
input的type属性用于定义输入控件的类型,是必须要显式定义的属性
输入控件有:
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- 输入姓名<input type="text">
- </form>
- </body>
- </html>
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- 输入密码<input type="password">
- </form>
- </body>
- </html>
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- 性别<input type="radio" name="sex">男<input type="radio" name="sex">女
- </form>
- </body>
- </html>
注意!两个构成单选关系的单选框,name属性的值必须相同才可以实现多选一的效果
如果我们想让某个选项作为默认选择项,可以设置其checked属性,例如:
再次运行,此时男选项就被默认选择了
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- <input type="checkbox">选项1<input type="checkbox">选项2<input type="checkbox">选项3
- </form>
- </body>
- </html>
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- <input type="button" value="点击">
- </form>
- </body>
- </html>
当前我们写出的按钮点击后没有响应,需要搭配JS使用,例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- <input type="button" value="点击" onclick="alert('hello')">
- </form>
- </body>
- </html>
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- 输入姓名<input type="text" name="username">
- <input type="submit" value="提交">
- </form>
- </body>
- </html>
页面如下:
在文本框中输入zhangsan后点击提交:
此时输入的数据就作为参数提交给服务器了
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form action="1.html">
- 输入姓名<input type="text" name="username">
- <input type="reset" value="清空">
- </form>
- </body>
- </html>
在文本框中进行输入后点击清空按钮,即可清空输入的内容
例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- <input type="file">
- </form>
- </body>
- </html>
搭配input标签使用,可以与表单控件相关联,当用户点击label标签的内容时,会自动将焦点跳到相关联的表单控件上,能够提高用户体验
例如我们想实现点击选框对应的文字就能选择该选项的功能:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- <input type="radio" name="sex" id="male">
- <label for="male">男</label>
- <input type="radio" name="sex" id="female">
- <label for="female">女</label>
- </form>
- </body>
- </html>
此时即使我们不点击选框,点击"男"或"女"也可以实现选择的功能
注意:要将label和表单控件相关联,必须要保证表单控件的id属性值和label标签的for属性值对应
select用于实现下拉菜单,其子标签option作为菜单的每一行,例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- <select>
- <option>北京</option>
- <option>上海</option>
- <option>广州</option>
- <option>深圳</option>
- </select>
- </form>
- </body>
- </html>
如果在option中定义selected="selected"则表示该选项默认选中,例如:
此时就会默认选中广州
可以定义一个多行的文本输入控件,例如:
- <html>
- <head>
- <title>页面标题</title>
- </head>
- <body>
- <form>
- <textarea rows="5" cols="20">
-
- </textarea>
- </form>
- </body>
- </html>
其中rows属性和cols属性表示一次能够显示几行几列
顾名思义,就是没有语义的标签,不需要考虑其内容,区别于前面的通过标签名就可以知道标签用途的语义化标签
无语义标签中有div标签和span标签:
这两个标签主要用于网页布局
接下来是练习时间,尝试根据前面的知识来实现下面的网页吧!
源码如下:
- <!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>
- <div>
- <h2>基本信息</h2>
- <img src="https://pic.616pic.com/ys_bnew_img/00/24/50/zLfQibcVrw.jpg" width="300px">
- <p><span>求职意向:</span>C++开发工程师</p>
- <p><span>联系电话:</span>XXX-XXXX-XXXX</p>
- <p><span>邮箱:</span>xxx@qq.com</p>
- <p><a href="https://github.com/">我的 github</a></p>
- <p><a href="https://blog.csdn.net/">我的 博客</a></p>
- </div>
-
- <div>
- <h2>教育背景</h2>
- <ol>
- <li>xxx小学</li>
- <li>xxx初中</li>
- <li>xxx高中</li>
- <li>xxx大学</li>
- </ol>
- </div>
-
- <div>
- <h2>专业技能</h2>
- <ul>
- <li>熟练掌握C++</li>
- <li>能够实现并熟练运用常见数据结构</li>
- <li>熟知计算机网络理论</li>
- <li>掌握Web开发能力</li>
- </ul>
- </div>
-
- <div>
- <h2>我的项目</h2>
- <ol>
- <li><h3>树洞</h3></li>
- <p>开发时间:xxxx-xxxx</p>
- <p>功能介绍:</p>
- <ul>
- <li>功能1</li>
- <li>功能2</li>
- </ul>
- <li><h3>个人博客网站</h3></li>
- <p>开发时间:xxxx-xxxx</p>
- <p>功能介绍:</p>
- <ul>
- <li>功能1</li>
- <li>功能2</li>
- </ul>
- </ol>
- </div>
-
- <div>
- <h2>个人评价</h2>
- <p>在校期间学习优良,绩点名列前茅,多次获得奖学金</p>
- </div>
- </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>
- <table cellspacing="0" width="600px">
- <thead><h3>请填写简历信息</h3></thead>
- <tbody>
- <tr>
- <td>姓名</td>
- <td><input type="text"></td>
- </tr>
- <tr>
- <td>性别</td>
- <td>
- <input type="radio" name="sex" id="male">
- <label for="male">男</label>
- <input type="radio" name="sex" id="female">
- <label for="female">女</label>
- </td>
- </tr>
- <tr>
- <td>出生年份</td>
- <td>
- <select>
- <option>--请选择年份--</option>
- <option>--2000--</option>
- <option>--2001--</option>
- <option>--2002--</option>
- <option>--2003--</option>
- <option>--2004--</option>
- <option>--2005--</option>
- </select>
- </td>
- </tr>
- <tr>
- <td>就读学校</td>
- <td><input type="text"></td>
- </tr>
- <tr>
- <td>应聘岗位</td>
- <td>
- <input type="checkbox" id="fe"><label for="fe">前端开发</label>
- <input type="checkbox" id="be"><label for="be">后端开发</label>
- <input type="checkbox" id="qa"><label for="qa">测试开发</label>
- <input type="checkbox" id="op"><label for="op">运维开发</label>
- </td>
- </tr>
- <tr>
- <td>掌握的技能</td>
- <td><textarea rows="7" cols="20"></textarea></td>
- </tr>
- <tr>
- <td>项目经历</td>
- <td><textarea rows="7" cols="20"></textarea></td>
- </tr>
- <tr>
- <td></td>
- <td>
- <input type="checkbox" id="read">
- <label for="read">我已仔细阅读过公司的招聘要求</label>
- </td>
- </tr>
- <tr>
- <td></td>
- <td>
- <h3>请应聘者确认:</h3>
- <ol>
- <li>以上信息真实有效</li>
- <li>能够随时上岗</li>
- </ol>
- </td>
- </tr>
- </tbody>
- </table>
- </body>
- </html>

完.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。