一:HTML 介绍:
超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言,它不是一种编程语言。
HTML使用标签来描述网页。不像python编程语言一样,有逻辑什么的,这个标记语言是没有逻辑的.
网页文件的扩展名:.html或.htm
二:HTML文档结构
当创建一个初始的html文件时,会产生如下的内容:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
以下对上面结构进行解释:
1.<!DOCTYPE html>声明为HTML5文档。
2.<html>、</html>是文档的开始标记和结束的标记。
是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)。
3.<head>、</head>定义了HTML文档的开头部分。其中lang="en"就是说,你整个文档的内容以英文为主为主,如果整个内容与中文为主可改为:lang="zh-CN"。
它们之间的内容不会在浏览器的文档窗口显示。
包含了文档的元(meta)数据,配置信息等,是给浏览器看的,你看到的是在body标签里面写的。
4.<title>、</title>定义了网页标题,在浏览器标题栏显示。
(修改一下title中的内容,然后看一下浏览器,你就会发现title是什么了)
5.<body>、</body>之间的文本是可见的网页主体内容。
注意:对于中文网页需要使用 <meta charset="utf-8"> 声明编码,否则会出现乱码。有些浏览器会设置 GBK 为默认编码,则你需要设置为 <meta charset="gbk">。
三:常用标签介绍
标签分类:
双标签(双闭合)
<h1>dfdsfsdf</h1>
单标签(单闭合)
<img>
1.<!--注释内容-->
#找到一行内容ctrl+/就能注释,注释的内容不会在网页上显示出来,
这个标签不影响网页内容,起到注释的作用。
2.head标签以及head里的标签(网站的配置信息)
定义了HTML文档的开头部分。(在二有详细介绍)
下面这些标签可用在 head 部分:
<link>:定义文档与外部资源的关系。
<meta> :提供有关页面的基本信息。
<script>:既可以包含脚本语句,也可以通过 src 属性指向外部脚本文件。
<style>:用于为 HTML 文档定义样式信息。
<title>:定义文档的标题。
以下是head标签内有相关的标签介绍:
3.body标签以及body内的常用标签
<body>、</body>之间的文本是可见的网页主体内容。
<body> 元素包含文档的所有内容(比如文本、超链接、图像、表格和列表等等。)
(1)h系列(***)
<hr> #就是单独个一个水平线
h1-----h6
代码例子:
<h1>我的第一个网页</h1>
<h2>我的第一个网页</h2>
<h3>我的第一个网页</h3>
<h4>我的第一个网页</h4>
<h5>我的第一个网页</h5>
<h6>我的第一个网页</h6>
效果图:
(2)b标签加粗
代码例子:
字体没有加粗
<b>字体加粗了</b>
<strong>字体加粗了</strong>
效果图:
(3)u标签 下划线;s和del 中划线
<u> 标签可定义下划线文本。
<s> 标签可定义加删除线文本定义。
代码例子:
<!--u标签 下划线-->
<u>字体下面有下划线</u>
<br>
<!--s和del 中划线-->
<s>字体下面有中划线</s>
<br>
<del>字体下面有中划线</del>
效果图:
(4)上标<sup>和下标<sub>
<sup> 标签可定义上标文本。
<sub> 标签可定义下标文本。
代码例子:
4<sup>2</sup>
5<sub>3</sub>
效果:
(5)p标签(***)
<p> 标签定义段落。
段落:是英文paragraph的缩写。
HTML标签是分等级的。HTML将所有的标签分为两种:
文本级标签:p、span、a、b、i、u、em。文本标签里只能放文字、图片、表单元素。
容器级标签:div、h系列、li、dt、dd。容器级标签里可以放任何东西。
请死死记住:p标签是一个文本级标签,p里面只能放文字、图片、表单元素。其他的一律不能放。
只能放文本/图片/表单元素.
属性:align='属性值':对齐方式。属性值包括:left、center、right
代码例子:
<p>
<div>
<a href="https://www.baidu.com">去百度</a>
<img src="pic3.jpg">
</div>
</p>
(6)div标签(***)
块级标签,独占一行.页面排版时,当做容器使用
<div>可定义文档中的分区或节
(7)span标签(***)
内联标签,作为页面提示信息使用
<span> 标签被用来组合文档中的行内元素。
<span>和<div>唯一的区别在于:<span>是不换行的,而<div>是换行的。
如果单独在网页中插入这两个元素,不会对页面产生任何的影响。这两个元素是专门为定义CSS样式而生的。或者说,DIV+CSS来实现各种样式。
代码例子1:
<div>
第一个div
</div>
<div>
第二个div
</div>
<span>第一个span</span>
<span>第二个span动力</span>
效果图:
(8)pre标签
定义预格式化的文本
就是将原来的格式输出
<pre>
望庐山瀑布
作者:李白
日照香炉生紫烟,遥看瀑布挂前川。
飞流直下三千尺,疑是银河落九天。
</pre>
效果:
(9)a标签(***)文本级标签
超链接标签,所谓的超链接是指从一个网页指向一个目标的连接关系,这个目标可以是另一个网页,也可以是相同网页上的不同位置,还可以是一个图片,一个电子邮件地址,一个文件,甚至是一个应用程序。
跳转到指定地址
跳转至锚点(name和id,注意一下)
跳转至顶部(#)
写静态页面是,建议给a加上 <a href="javascript:void(0);"
javascript:是伪协议,表示url的内容通过javascript执行。void(0)表示不作任何操作,这样会防止链接跳转到其他页面。这么做往往是为了保留链接的样式,但不让链接执行实际操作.
例子1:
<h1>我的第一个网页</h1>
<h3 id="title-h3">我的第一个网页</h3>
<p id="aaa">字体没有加粗</p>
<a href="one.html">跳到one.html网页</a>
<!--跳转到百度-->
<a href="http://www.baidu.com">百度一下</a>
<!--跳转到id = "#title-h3" 的标签 -->
<a href="#title-h3">跳至h3</a>
<a href="#">跳至顶部</a>
<!--跳转到id = "aaa" 的标签-->
<a href="#aaa">跳至aaa</a>
例子2:
<a href="javascript:alert('hsz');" title="弹出框">不跳转,显示hsz</a>
<a href="javascript:void(0);">点击2</a>
<a href="javascript:;">点击3</a>
(10)img标签(***)
src 图片的地址(url,绝对路径,相对路径)
宽和高,只设置一个时,会按照图片的原始比例,进行缩放.
title 鼠标悬浮时,显示的提示性的文本.
alt 图片加载失败时,提示信息.提高用户的体验度.
a标签可以包裹img,点击img时,进行跳转.
高矮不齐,底边对齐
例子:
<img src="pic3.jpg" alt="走丢了" width="120" height="100" title="妖精的尾巴">
<img src="pic3.jpg" alt="走丢了" width="250" height="200" title="妖精的尾巴">
<img src="pic3.jpg" alt="走丢了" width="450" height="400" title="妖精的尾巴">
<img src="pi3.jpg" alt="走丢了" width="100" height="200" title="妖精的尾巴">
前三个只要将鼠标移动到图片位置就会显示"妖精的尾巴",第四个是没有这个图标,会返回alt的内容"走丢了"
(11)ul标签(***)无序列表
li标签,不能单独使用.容器级标签.
一般会结合css,进行页面排版.
type属性:
disc(实心圆点,默认值)
circle(空心圆圈)
square(实心方块)
none(无样式)
例1:(注意不同属性)
<ul type="disc">
<li>张三</li>
<li>李四</li>
<li>赵五</li>
</ul>
<ul type="circle">
<li>张三</li>
<li>李四</li>
<li>赵五</li>
</ul>
效果图:
例2:(嵌套的ul)
<ul>
<li><b>北京</b>
<ul>
<li>朝阳区</li>
<li>东城区</li>
<li>西城区</li>
</ul>
</li>
</ul>
<ul>
<li><b>广东</b>
<ul>
<li>广州市</li>
<li>佛山市</li>
<li>深圳市</li>
</ul>
</li>
</ul>
效果图:
(12)ol标签 有序列表
例1:(从第二项开始)
<ol type="1" start="2">
<li>第一项</li>
<li>第二项</li>
</ol>
设置type,自定制序号
type属性: start是从数字几开始
1 数字列表,默认值
A 大写字母
a 小写字母
Ⅰ大写罗马
ⅰ小写罗马
配合li标签.
(13)dl标签
定义列表
dt标签,顶头显示.
dd标签,在左侧有缩进
<dl>
<dt>第一条规则</dt>
<dd>不准睡觉</dd>
<dd>不准交头接耳</dd>
<dt>第二条规则</dt>
<dd>可以泡妞</dd>
<dd>可以找妹子</dd>
</dl>
效果:
(14)table标签
tr标签,行
td标签,列
th标签,列(td+b)
thead标签,表头
tbody标签,表内容
tfoot标签,表页脚.
合并单元格:
纵向合并rowspan
横向合并colspan
例子:
<!--表格 3行4列-->
<table border="1" style="border-collapse:collapse;">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<td><b>地区</b></td> <!-- th相当于td+b -->
</tr>
<tr>
<td>夏波</td>
<td>22</td>
<td>男</td>
<td rowspan="2">中国</td>
</tr>
<tr>
<td>小岳岳</td>
<td>35</td>
<td>男</td>
<!-- <td>河南</td>-->
</tr>
<tr>
<td>邓紫棋</td>
<td>33</td>
<!-- <td colspan="2">女</td> <!– 横向 –>-->
<td>女</td>
<td>中国香港</td>
</tr>
</table>
效果图:
(15)form表单(***)
属性:
- action 数据提交的服务器地址
- method 数据提交的方式,默认get,指定post,当你写错的时候,还是按照get
input标签
type:
- text, 默认,文本,用于输入用户名等信息(***)
- password, 用于用户密文输入密码(***)
- radio , 单选框,必须name值一致.(***)
- CheckBox, 复选框,(***)
- button, 普通按钮,配合js使用(***)
<button>按钮</button>
- submit, 提交按钮.(***)
- reset, 重置form表单内的内容
- file, 上传文件(***)
<input type="file" value='上传文件'>
- hidden, 隐藏的input标签
默认选中,checked
(16)select标签(***)
name是提交过去的key,option的value属性是提交过去的值.
option标签 value属性,
默认选中,selected
textarea标签
多行文本输入框
(17)label标签(***)
提高用户的体验度
for属性,必须制定的对方的id值.
如果以get 的方式,比较不安全,因为输入的信息在提交过程中都显示跳转的网址上了,以下有个例子是为了方便查看提交的信息所有先用get,一般用post,post方式提交的信息在请求体,相对安全
例子:
<h3>用户注册</h3>
<!--method 一般用post,此处是为了方便查看-->
<form action="https://www.baidu.com" method="get">
<p><label for="username">昵称:</label><input type="text" name="username" id="username"></p>
<!--type="password"表示输入的密码为密文显示-->
<p>密码:<input type="password" name="pwd"></p>
<p>性别:
<!--checked 如果没有选择默认选择男-->
<input type="radio" name="sex" value="male" checked> 男
<input type="radio" name="sex" value="female"> 女
<input type="radio" name="sex" value="secret"> 保密
</p>
<p>爱好:
<input id="chui" type="checkbox" name="hobby" value="chui"> <label for="chui">吹管乐</label>
<input type="checkbox" name="hobby" value="la"> 拉二胡
<input type="checkbox" name="hobby" value="tan"> 弹吉他
<input type="checkbox" name="hobby" value="chang"> 唱京剧
</p>
<p>
学历:
<select name="xueli" id="sel1" size="3" multiple>
<option value="g">高中</option>
<option value="d">大专</option>
<option value="b" selected>本科</option>
<option value="s">硕士</option>
</select>
</p>
<div>
<!--多行文本输入框cols="40" rows="5" 5行40列-->
<p>个性签名:
<textarea name="" id="" cols="40" rows="5"></textarea>
</p>
</div>
<!--hidden1 隐藏了不显示-->
<input type="hidden" value="sdfsdfsdf">
<!--如果reset不写value的值,默认为重置-->
<input type="reset" value='重置'>
<input type="submit" value='注册'>
</form>
效果截图:
输入信息后截图:
提交后跳转到百度,百度网址后跟着一串的提交值,(平常一般用于将着一串值传给服务端)