【前端基础】- HTML
本文主要内容:
- HTML文档格式及标签格式介绍
- head中的标签
- body中的标签
- h1~h6、p、strong、b、em、i、del、u、div、span、br、hr
- ol、ul、a、img、table、
- form
HTML文档结构
HTML文档格式:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
- 声明为HTML5文档。
-
<html>、</html>
是文档的开始标记和结束的标记。是HTML页面的根元素,在它们之间是文档的头部(head)和主体(body)。<html lang="en">
指定网页的语言 -
<head>、</head>
定义了HTML文档的开头部分。它们之间的内容不会在浏览器的文档窗口显示。包含了文档的元(meta)数据。 -
<body>、</body>
之间的文本是可见的网页主体内容。
注意:对于中文网页需要使用 <meta charset="utf-8">
声明编码,否则会出现乱码。有些浏览器会设置 GBK 为默认编码,则你需要设置为 <meta charset="gbk">
。
HTML标签格式
- HTML标签是由尖括号包围的关键字,如
<html>, <div>
等 - HTML标签通常是成对出现的,比如:
<div>
和</div>
,第一个标签是开始,第二个标签是结束。结束标签会有斜线。 - 也有一部分标签是单独呈现的,比如:
<br/>
、<hr/>
、<img src="1.jpg" />
等。 - 标签里面可以有若干属性,也可以不带属性。如果带属性,必须有属性值,属性值放到引号里
- 标签字母全部是小写
标签的语法:
- <标签名 属性1=“属性值1” 属性2=“属性值2”……>内容部分</标签名>
- <标签名 属性1=“属性值1” 属性2=“属性值2”…… />
- 空白折叠
几个很重要的属性:
- id:定义标签的唯一ID,HTML文档树中唯一
- class:为html元素定义一个或多个类名(classname)(CSS样式类名)
- style:规定元素的行内样式(CSS样式)
HTML注释
<!--注释内容-->
注释非常重要!!
head中的标签
head标签都放在头部分之间。这里面包含了:
<title>
、<meta>
、<link>
,<style>
<title>
:指定整个网页的标题,在浏览器最上方显示。<meta>
:提供有关页面的基本信息<link>
:定义文档与外部资源的关系。<style>
:定义内部样式表与网页的关系
头标签位于文档的头部,不包含任何内容。
提供的信息是用户不可见的。 meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。
title标签
主要用来告诉用户和搜索引擎这个网页的主要内容是什么,搜索引擎可以通过网页标题,迅速的判断出当前网页的主题。
<title>路飞学城</title>
Meta标签
元素可提供有关页面的原信息(mata-information),针对搜索引擎和更新频度的描述和关键词。
标签位于文档的头部,不包含任何内容。
提供的信息是用户不可见的。 meta标签的组成:meta标签共有两个属性,它们分别是http-equiv属性和name属性,不同的属性又有不同的参数值,这些不同的参数值就实现了不同的网页功能。
常用的meta标签:
1、http-equiv属性
它用来向浏览器传达一些有用的信息,帮助浏览器正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。
<!--重定向 2秒后跳转到对应的网址,注意分号-->
<meta http-equiv="refresh" content="2;URL=http://www.luffycity.com">
<!--指定文档的内容类型和编码类型 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<!--告诉IE浏览器以最高级模式渲染当前网页-->
<meta http-equiv="x-ua-compatible" content="IE=edge">
ps:关于mime文件类型(前端静态资源文件):
连接:http://www.w3school.com.cn/media/media_mimeref.asp
2、name属性
主要用于页面的关键字和描述,是写给搜索引擎看的,关键字可以有多个用 ‘,’号隔开,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。
<meta name="Keywords" content="网易,邮箱,游戏,新闻,体育,娱乐,女性,亚运,论坛,短信" />
这些关键词,就是告诉搜索引擎,这个网页是干嘛的,能够提高搜索命中率。让别人能够找到你,搜索到。
<meta name="Description" content="网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流,网聚人的力量。" />
只要设置Description页面描述,那么百度搜索结果,就能够显示这些语句,这个技术叫做*SEO**(search engine optimization,搜索引擎优化)。*
<meta name="viewport" content="width=device-width, initial-scale=1">
上面这个标签,是让我们网页支持移动端,移动设备优先(了解即可)
link标签
link标签定义了文档与外部资源之间的关系,通常用于链接到样式表:
<link rel="stylesheet" type="text/css" href="mystyle.css">
style标签
style标签在 HTML 文档中添加样式:
<head>
<style type="text/css">
body {background-color:yellow}
p {color:blue}
</style>
</head>
body中的标签
标题<h1>
标题使用<h1>
至<h6>
标签进行定义。<h1>
定义最大的标题,<h6>
定义最小的标题。
示例:
<h1>路飞学城</h1>
<h2>路飞学城</h2>
<h3>路飞学城</h3>
<h4>路飞学城</h4>
<h5>路飞学城</h5>
<h6>路飞学城</h6>
效果:
段落标签<p>
段落:是英文paragraph的缩写。
属性:
align='属性值'
:对齐方式。属性值包括:left、center、right
示例:
<p>这是第一个段落</p>
<p>这是第二个段落</p>
<p>这是第三个段落</p>
效果:
粗体标签<b>
或<strong>
示例:
路飞学城
<b>路飞学城</b>
<strong>路飞学城</strong>
效果:
斜体标记 <i>
或<em>
示例:
路飞学城
<i>路飞学城</i>
<em>路飞学城</em>
效果:
标签 <div>
和标签<span>
div和span是非常重要的标签。CSS课程中你将知道,这两个东西,都是最最重要的“盒子”。
div:把标签中的内容作为一个块儿来对待。必须单独占据一行。
div标签的属性:
align="属性值"
:设置块儿的位置。属性值可选择:left、right、 center
<span>
和<div>
唯一的区别在于:<span>
是不换行的,而<div>
是换行的。
如果单独在网页中插入这两个元素,不会对页面产生任何的影响。这两个元素是专门为定义CSS样式而生的。或者说,DIV+CSS来实现各种样式。
示例:
<body>
<div>
导航栏
</div>
<div>
中心banner
</div>
<span>路飞</span>
<span>alex</span>
</body>
效果:
div在浏览器中,默认是不会增加任何的效果的,但是语义变了,div中的所有元素是一个小区域。
div标签是一个容器级标签,里面什么都能放,当然也可以放div自己。
span也是表达“小区域、小跨度”的标签,但是是一个文本级的标签。
就是说,span里面只能放置文字、图片、表单元素。 span里面不能放p、h、ul、ol、div。
span举例:
<p>
商品简介:
<span>
<a href="">详细信息</a>
<a href="">生产日期</a>
</span>
</p>
div举例:
<div class="header">
<div class="logo"></div>
<div class="nav"></div>
</div>
<div class="content">
<div class="guanggao"></div>
<div class="shop"></div>
</div>
<div class="footer"></div>
所以,我们把这种模式叫做“div+css”。div标签负责布局,负责结构,负责分块。css负责样式。
ps:这个class属性名就与css有很大关联,讲到css模块会详细讲这块内容。
超链接<a>
:
1、外部链接
链接到外部文件。举例:
<a href="new.html">点击进入到新网页</a>
a是英语anchor
“锚”的意思,就好像这个页面往另一个页面扔出了一个锚。是一个文本级的标签。
href是英语hypertext reference
超文本地址的缩写。
我们可以点击进入一个自己写的新网页
<a href="new.html">进入新网页</a>
当然,我们也可以直接点进链接,访问一个网址。举例如下;
<a href="http://www.baidu.com">进入百度</a>
2、锚链接
指给超链接起一个名字,作用是在本页面或者其他页面的的不同位置进行跳转。比如说,在网页底部有一个向上箭头,点击箭头后回到顶部,这个就是利用到了锚链接。
首先我们要创建一个锚点,也就是说,使用name
属性或者id
属性给那个特定的位置起个名字。
<div id="top1">这是div1</div>
<div style="height: 2000px;"></div>
<div id="top2">这是div2</div>
<div style="height: 2000px;"></div>
<a href="#top1">回到div1</a>
<a href="#top2">回到div2</a>
上面代码中,第一个div的id是top1,第二个div的id是top2。第一个a标签,点击页面跳到第一个div的位置,第二个a标签,点击页面跳到第二个div的位置,
然后在底部设置超链接,点击时将回到顶部(此时,网页中的url的末尾也出现了#top
)。注意href中的#号不要忘记了,表示跳到名为top的特定位置,这是规定。如果少了#
号,点击之后,就会跳到top这个文件或者top这个文件夹中去。
我们可以写成:
<a href="new.hhml#top">回到顶部</a>
就表示,点击之后,跳转到new.html
页面的top
锚点中去。
说明:name属性是HTML4.0以前使用的,id属性是HTML4.0后才开始使用。如果要向前兼容,name和id这两个属性都要写上,并且值是一样的。
3、邮件链接、电话号码:
代码举例:
<a href="mailto:zhaoxu@tedu.cn">联系我们</a>
<a href="tel:10086">联系我们</a>
效果:点击之后,会弹出outlook,作用不大。
前提:计算机中必须安装邮件客户端,并且配置好了邮件相关信息
特殊几个链接:
返回页面顶部的位置
<a href="#">跳转到顶部</a>
与js有关:
<a href="javascript:alert(1)">内容</a>
<a href="javascript:;">内容</a>
-
javascript:;表示什么都不执行,这样点击
<a>
时就没有任何反应 例如:
<a href="javascrip:;">
内容</a>
-
javascript:是表示在触发
<a>
默认动作时,执行一段JavaScript代码。 例如:
<ahref="javascript:alert()">内容</a>
超链接的属性
href
:目标URLtitle
:悬停文本。name
:主要用于设置一个锚点的名称。target
:告诉浏览器用什么方式来打开目标页面。target
属性有以下几个值:_self
:在同一个网页中显示(默认值)_blank
:在新的窗口中打开。_parent
:在父窗口中显示_top
:在顶级窗口中显示
blank就是“空白”的意思,就表示新建一个空白窗口。为啥有一个_ ,就是规定,没啥好解释的。 也就是说,如果不写target=”_blank”
那么就是在相同的标签页打开,如果写了target=”_blank”
,就是在新的空白
ps:a是一个文本级的标签
比如一个段落中的所有文字都能够被点击,那么应该是p包含a;
<p>
<a href="">段落段落段落段落段落段落</a>
</p>
而不是a包裹p:
<a href="">
<p>
段落段落段落段落段落段落
</p>
</a>
a的语义要小于p,a就是可以当做文本来处理,所以p里面相当于放的就是纯文字。
图片标签 <img />
img: 代表的就是一张图片。是单边标记。
img是自封闭标签,也称为单标签。
能插入的图片类型:
- 能够插入的图片类型是:jpg(jpeg)、gif、png、bmp。
- 不能往网页中插入的图片格式是:psd、ai
HTML页面不是直接插入图片,而是插入图片的引用地址,所以也要把图片上传到服务器上。
src
属性:图片的相对路径和绝对路径
这里涉及到图片的一个属性:
src
属性:指图片的路径。
在写图片的路径时,有两种写法:相对路径、绝对路径
1、写法一:相对路径
相对当前页面所在的路径。两个标记 .
和 ..
分表代表当前目录和父路径。
举例1:
<!-- 当前目录中的图片 -->
<img src="2.jpg">
<img src=".\2.jpg">
<!-- 上一级目录中的图片 -->
<img src="..\2.jpg">
img 是image“图片”的简写,src 是英语source“资源”的缩写。
举例2:
<img src="images/1.jpg">
上方代码的意思是说,当前页面有一个并列的文件夹images
,在文件夹images
中存放了一张图片1.jpg
2、写法二:绝对路径
(1)以盘符开始的绝对路径。举例:
<img src="C:\Users\aaa\Desktop\html-01\images\1.jpg">
不要这样写,本地文件都用相对路径
(2)网络路径。举例:
<img src="http://www.baidu.com/2016040102.jpg">
相对路径和绝对路径的总结
相对路径的好处:站点不管拷贝到哪里,文件和图片的相对路径关系都是不变的。
相对路径使用有一个前提,就是网页文件和你的图片,必须在一个服务器上。
<img src="file://C:\Users\Danny\Pictures\明星\1.jpg" alt="" />
不要这样写,本地文件都用相对路径
总结一下:
- 我们现在无论是在a标签、img标签,如果要用路径。只有两种路径能用,就是相对路径和绝对路径。
- 相对路径,就是../ image/ 这种路径。从自己出发,找到别人;
- 绝对路径,就是http://开头的路径。
- 绝对不允许使用file://开头的东西,这个是完全错误的!
img标签的常用其它属性
width
:宽度height
:高度title
:提示性文本。公有属性。也就是鼠标悬停时出现的文本。align
:指图片的水平对齐方式,属性值可以是:left、center、rightalt
:当图片显示不出来的时候,代替图片显示的内容。alt是英语 alternate “替代”的意思。(有的浏览器不支持)
举例:
示例:
嘿嘿<img src="images/bojie.jpeg" alt="波姐" title='波多野结衣' width="400" height="400">幺幺
文本级的标签显示在浏览器上时,不管你的图片多高,它总会底边对齐,这是一种现象,“高矮不齐,底边对齐”。
此时大家可以给图片设置align属性,来查看效果吧!
注意事项:
(1)如果要想保证图片等比例缩放,请只设置width和height中其中一个。
(2)如果想实现图文混排的效果,请使用align属性,取值为left或right
如果想点击图片的时候跳转到某个链接,应该是:
<a>
<img src="images/bojie.jpeg" alt="波姐" title='波多野结衣'>
</a>
列表标签
列表标签分为三种。
有序列表<ol>
里面的每一项是<li>
,
- ol:ordered list,“有序列表”的意思。
- li:list item,“列表项”的意思。
例如:
<ol>
<li>李丽珍</li>
<li>舒淇</li>
<li>高树玛利亚</li>
<li>武藤兰</li>
</ol>
属性:
type="属性值"
。属性值可以是:1(阿拉伯数字,默认)、a、A、i、I。结合start
属性表示从几开始
。
有序列表也是可以嵌套的。
ol和ul就是语义不一样,怎么使用都是一样的。
ol里面只能有li,li必须被ol包裹。li是容器级。
ol这个东西用的不多,如果想表达顺序,大家一般也用ul,在内容中加序号。
无序列表<ul>
ul:unordered list,“无序列表”的意思,无序列表中的每一项是<li>
示例:
<ul>
<li>张三</li>
<li>李四</li>
<li>王五</li>
</ul>
注意:
- li不能单独存在,必须包裹在ul里面;反过来说,ul的“儿子”不能是别的东西,只能有li。
- 我们这里再次强调,ul的作用,并不是给文字增加小圆点的,而是增加无序列表的“语义”的。
属性:
type="属性值"
。属性值可以选:disc
(实心原点,默认),square
(实心方点),circle
(空心圆)。
列表之间是可以嵌套的。我们来举个例子:
代码:
<ul>
<li><b>北京市</b>
<ul>
<li>海淀区</li>
<li>朝阳区</li>
<li>东城区</li>
</ul>
</li>
<li><b>广州市</b>
<ul>
<li>天河区</li>
<li>越秀区</li>
</ul>
</li>
</ul>
声明:ul的儿子,只能是li。但是li是一个容器级标签,li里面什么都能放。也可以再放一个ul。
表格标签
表格标签用<table>
表示。
一个表格<table>
是由每行<tr>
组成的,每行是由<td>
组成的。
所以我们要记住,一个表格是由行组成的(行是由列组成的),而不是由行和列组成的。
在以前,要想固定标签的位置,唯一的方法就是表格。现在可以通过CSS定位的功能来实现。但是现在在做页面的时候,表格作用还是有一些的。
例如,一行的单元格:
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
上面的表格中没有加文字,所以在生成的网页中什么都看不到。
例如,3行4列的单元格:
<table>
<tr>
<td>小马哥</td>
<td>18</td>
<td>男</td>
<td>山东</td>
</tr>
<tr>
<td>小岳岳</td>
<td>45</td>
<td>男</td>
<td>河南</td>
</tr>
<tr>
<td>邓紫棋</td>
<td>23</td>
<td>女</td>
<td>香港</td>
</tr>
</table>
效果:
上图中的表格好像没看到边框呀,不急,接下来看看<table>
标签的属性。
<table>
的属性:
-
border
:边框。像素为单位。style="border-collapse:collapse;"
:单元格的线和表格的边框线合并width
:宽度。像素为单位。height
:高度。像素为单位。bordercolor
:表格的边框颜色。align
:表格的水平对齐方式。属性值可以填:left right center。
注意:这里不是设置表格里内容的对齐方式,如果想设置内容的对齐方式,要对单元格标签<td>
进行设置)cellpadding
:单元格内容到边的距离,像素为单位。默认情况下,文字是紧挨着左边那条线的,即默认情况下的值为0。
注意不是单元格内容到四条边的距离哈,而是到一条边的距离,默认是与左边那条线的距离。如果设置属性dir="rtl"
,那就指的是内容到右边那条线的距离。cellspacing
:单元格和单元格之间的距离(外边距),像素为单位。默认情况下的值为0bgcolor="#99cc66"
:表格的背景颜色。background="路径src/..."
:背景图片。
背景图片的优先级大于背景颜色。
单元格带边框的效果:
备注:表格中很细表格边线的制作:
CSS的写法:
style="border-collapse:collapse;"
<tr>
:行
一个表格就是一行一行组成的嘛。
属性:
dir
:公有属性,设置这一行单元格内容的排列方式。可以取值:ltr
:从左到右(left to right,默认),rtl
:从右到左(right to left)bgcolor
:设置这一行的单元格的背景色。
注:没有background属性,即:无法设置这一行的背景图片,如果非要设置,可以用css实现。height
:一行的高度align="center"
:一行的内容水平居中显示,取值:left、center、rightvalign="center"
:一行的内容垂直居中,取值:top、middle、bottom
<td>
:单元格
属性:
align
:内容的横向对齐方式。属性值可以填:left right center。
如果想让每个单元格的内容都居中,这个属性太麻烦了,以后用css来解决。valign
:内容的纵向对齐方式。属性值可以填:top middle bottomwidth
:绝对值或者相对值(%)height
:单元格的高度bgcolor
:设置这个单元格的背景色。background
:设置这个单元格的背景图片。
单元格的合并
如果要将两个单元格合并,那肯定就要删掉一个单元格。
单元格的属性:
-
colspan
:横向合并。例如colspan="2"
表示当前单元格在水平方向上要占据两个单元格的位置。rowspan
:纵向合并。例如rowspan="2"
表示当前单元格在垂直方向上
<th>
:加粗的单元格。相当于<td>
+ <b>
- 属性同
<td>
标签
<caption>
:表格的标题。使用时和tr
标签并列
表格的<thead>
标签、<tbody>
标签、<tfoot>
标签
这三个标签有与没有的区别:
- 1、如果写了,那么这三个部分的代码顺序可以任意,浏览器显示的时候还是按照thead、tbody、tfoot的顺序依次来显示内容。如果不写thead、tbody、tfoot,那么浏览器解析并显示表格内容的时候是从按照代码的从上到下的顺序来显示。
- 2、当表格非常大内容非常多的时候,如果用thead、tbody、tfoot标签的话,那么数据可以边获取边显示。如果不写,则必须等表格的内容全部从服务器获取完成才能显示出来。
例子:
<table border="1">
<caption>人物介绍</caption>
<tbody>
<tr>
<td>小马哥</td>
<th>18</th>
<td>男</td>
<td rowspan="3">中国</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>小岳岳</td>
<td>45</td>
<td>男</td>
</tr>
</tfoot>
<thead>
<tr>
<td>邓紫棋</td>
<td>23</td>
<td>女</td>
</tr>
</thead>
</table>
表单标签:<form>****
- form表单用于与服务器的交互,将用户填入表单的信息提交到服务器。
- form表单属性
- action:指定表单数据发送的url。
- method:表单数据的提交方式
- get(默认)
- post
- input(输入标签)
- type=”属性值“:标签的文本类型
- text(默认)
- password
- radio
- checkbox
- button
- submit
- reset
- image
- file
- value=”内容“:文本框里的默认内容(已经被填好的)
- size=“50”:表示文本框可以显示50个字符。
- readonly
- disabled
- type=”属性值“:标签的文本类型
- select标签
<select>
标签里面的每一项用<option>
表示。select就是“选择”,option“选项”。select标签和ul、ol、dl一样,都是组标签。<select>
标签的属性:multiple
:可以对下拉列表中的选项进行多选。没有属性值。size="3"
:如果属性值大于1,则列表为滚动视图。默认属性值为1,即下拉视图。
<option>
标签的属性:selected
:预选中。没有属性值。
- label标签
- 通过for属性,将lable和input标签绑定,为 input 元素定义标注(标记)。