1. 什么是HTML?

  • HTML (Hyper Text Mark-up Language) 即超文本标记语言,是用来描述网页的一种语言。
  • 它不是一种编程语言,而是一种标记语言 (markup language)
  • Web 浏览器通过读取 HTML 文档,并以网页的形式显示出它们。

一个网页一般由 HTML 和 CSS 两部分组成:

  • HTML负责描述网页的结构和内容(如标题,导航栏等)
  • CSS则负责网页的表现(外观,如:背景颜色,字体样式等)。

标签主要分为2类:

  • 自闭合标签,如:<meta charset="UTF-8">
  • 主动闭合标签,如:<title>标题</title>

2. HTML文档

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body> </body>
</html>

我们先简单解释一下上面的代码:

  • <html></html>是说明这个是一个网页,告诉浏览器这个网页的开始和结束,他包含了之后的 head 和 body 两个元素。
  • <head></head>之间的内容,是元信息和网站的标题,元信息一般是不显示出来的,但是记录了你这个 HTML 文件的很多有用的信息。
  • <body></body>之间的内容,是浏览器呈现出来的,用户看到的页面效果。也就是说这里是网页的主体。

2.1 DOCTYPE

HTML语言需要一个标准,当我们在第一行指定了<!DOCTYPE html>的时候,当浏览器去访问我们的代码的时候就就按照 HTML 代码里指定的标准去读取和渲染给我们展现的页面。

定义和用法

  • 声明必须是 HTML 文档的第一行,位于 标签之前。
  • 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

在 HTML 4.01 中有三种 <!DOCTYPE> 声明。在 HTML5 中只有一种:

<!DOCTYPE html>

更多关于 DOCTYPE 的说明请点击这里了解。

2.2 Head(头部)

Meta(metadata information)

提供有关页面的元信息,例:页面编码、刷新、跳转、针对搜索引擎和更新频度的描述和关键词。

1.页面编码(告诉浏览器是什么编码)

<meta charset="UTF-8" />

2.刷新和跳转

每30秒刷新一次

<meta http-equiv="Refresh" Content="30" />

5秒后自动跳转到京东首页开始买买买

<meta http-equiv="Refresh" Content="5; Url=http://www.jd.com" />

3.关键字

关键字的作用:一般是让爬虫之类的收录程序,当他们在爬你的网站的时候,如果你有关键字,那么他们会优先把关键字收录到他们的记录中,比如百度:如果他们收录之后,别人搜索你的关键字的时候,就能找到你的网站啦。

<meta name="keywords" content="网上购物,网上商城,手机,笔记本,电脑,京东" />

4.描述

看看京东商城的描述:

<meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!" />

5.X-UA-Compatible

X-UA-Compatible 这个是IE8特有的,知道即可,因为做前端的同学都很害怕IE因为他们问题比较多各个版本问题很诡异,当IE8的时候微软想把各个版本的统一,那么这个参数就出现了,他为了向下兼容,如下的代码如果使用IE8的时候他会以IE7的模式运行。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Title(标题)

标题会显示在浏览器的标签页上,如下图:

<title>京东(JD.COM)-综合网购首选</title>

Link

1.网页头部的图标

<link rel="shortcut icon" href="image/favicon.ico" />

2.导入CSS

<link rel="stylesheet" href="css/css_model.css" />

Style

1.在当前文件中写 CSS 样式

例如:

<style type="text/css">
.bb{
background-color: red;
}
</style>

2.使用上述的Link标签导入CSS

Script

1.在当前文件中写 JS

<script type="text/javascript"> ... </script>

2.导入 JS

<script type="text/javascript" src="http://www.googletagservices.com/tag/js/gpt.js"> </script>

2.3 body(主体)

常用标签

body里面分为两类标签:

  • 块级标签:占用整行大小。

主要有:div(白板)、H系列(标题)、p标签(段落)

  • 内联标签,占用实际使用的大小。

主要有:span(白板)

标签之间可以嵌套使用,标签存在的意义:css操作,js操作。

各种符号

在 HTML 中,某些字符是预留的,不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。

如果希望正确地显示预留字符,我们必须在 HTML 源代码中使用字符实体(character entities)。

显示结果 描述 描述 实体编号
空格 空格 &nbsp;  
< 小于号 &lt; <
< 大于号 &gt; >
& 和号 &amp; &
" 引号 &quot; "

更多符号请访问:HTML 实体符号参考手册

p 和 br

1. p标签:段落标签,每一对p标签为一段,默认段落之间是有间隔的

<p>段落内容1</p>
<p>段落内容2</p>

2. br标签:换行标签,有一个<br/>为一个换行

我爱北京天安门<br/>天安门上太阳升

a 标签

<a></a>标签的作用主要是:跳转和锚

1. 点击文字跳转到链接

下面的代码点击“买买买”将会在当前页面打开京东首页

<a href="http://www.jd.com/">买买买</a>

如果想用一个新的标签打开链接地址,可以这样实现:

<a target="_blank" href="http://www.jd.com/">买买买</a>

2. 点击图片跳转到链接

<a href="http://www.jd.com/">
<img src="image/1.jpg" title="大美女" style="height: 200px;width: 200px;" alt="美女">
</a>

3. a标签之:锚

锚的作用是类似于读书时候的书签,当你你点击这个“锚”=“书签”,的时候就跳转到指定的位置

<body>
<a href="#i1">第1章</a><br>
<a href="#i2">第2章</a><br>
<a href="#i3">第3章</a><br>
<!--在标签里,ID是这个标签的唯一的值,我们在做锚的时候指定他的ID即可-->
<!--<a href="#a2"> 上面的代码href="#要跳转的标签"-->
<div id="i1" style="height: 600px;">我是第1章</div>
<div id="i2" style="height: 600px;">我是第2章</div>
<div id="i3" style="height: 600px;">我是第3章</div>
</body>

H 标签

即标题标签,1级标题到6级标签将按照从大到小排列,代码如下:

<body>
<h1>H1</h1>
<h2>H2</h2>
<h3>H3</h3>
<h4>H4</h4>
<h5>H5</h5>
<h6>H6</h6>
</body>

显示效果如下:

select 标签

1. 下拉单选菜单

<select>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3" selected="selected">深圳</option>
<!--selected="selected"表示默认选择深圳-->
</select>

显示效果如下:

2. 滚动单选菜单

<select size="3">
<option>香港</option>
<option>北京</option>
<option>上海</option>
<option>深圳</option>
</select>

显示效果如下:

3. 滚动多选菜单

还是上面的滚动菜单,加上multiple="multiple"就可以多选了

<select multiple="multiple" size="3">
<option>香港</option>
<option>北京</option>
<option>上海</option>
<option>深圳</option>
</select>

显示效果如下:

4. 菜单分组

<select>
<optgroup label="中国">
<option>北京</option>
<option>上海</option>
</optgroup>
<optgroup label="美国">
<option>纽约</option>
<option>洛杉矶</option>
</optgroup>
</select>

显示效果如下:

input 系列标签

1. 单选框(radio)

radio 标签只有当 name 值相同时它们才会互斥,才是真正的单选框;

当你不写 name 值或是 name 值不同时,它们可以多选,这特么就不是单选框了。

<!--对于input标签来说只要,radio的name值相同,那么他们就会互斥-->
<p>请选择性别:</p>
男:<input type="radio" name="gender" value="1" />
女:<input type="radio" name="gender" value="2" />
妖:<input type="radio" name="gender" value="3" />

显示效果如下:

2. 复选框(checkbox)

<p>请选择体育爱好:</p>
篮球:<input type="checkbox" name="favor" value="1">
足球:<input type="checkbox" name="favor" value="1">
乒乓球:<input type="checkbox" name="favor" value="1" checked="checked">
羽毛球:<input type="checkbox" name="favor" value="1" checked="checked">
<!--这里加一个标识checked="checked,为默认选择"-->

显示效果如下:

3. 输入框(text & password)

<!--标准的输入框-->
<input type="text"/>
<!--密码的输入框(输入的内容是保密的)-->
<input type="password"/>

显示效果如下:

4. 提交按钮(button & submit)

<!--普通的按钮-->
<input type="button" value="提交"/>
<!--带提交表单功能的按钮?-->
<input type="submit" value="提交"/>
<!--重置按钮,清空所有输入的数据-->
<input type="reset" value="重置" />

显示效果如下:

5. 提交文件(file)

<input type="file" name="fname"/>

显示效果如下:

6. 多行文本框(textarea)

<textarea style="height: 100px;width: 100px;"></textarea>

显示效果如下:

form 表单

HTML 表单用于搜集不同类型的用户输入。

  • 表单是一个包含表单元素的区域。
  • 表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。
  • 表单使用表单标签<form>定义。
<form action="http://localhost:8888/index" method="get">
<!--这里action是告诉html提交到那里-->
<!--method是通过什么方法去action指定的地址-->
<!--表单会把所有获取输入的数据存成一个json提交到后台-->
<input type="text" name="user" />
<input type="text" name="email" />
<input type="password" name="pwd" />
<input type="button" value="button1" />
<input type="submit" value="提交"/>
<!--这里按提交才有反映,submit是用来提交当前的表单的,当然可以有多个表单-->
<!--但是,这个submit需要写入表单内,那么提交的时候是提交的当前表单-->
</form>

lable 标签

在不使用label标签的时候,我们在登录界面输入用户名等数据只能点进框体里去,否则就不能输入或选择,这样用户体验不是很好。

使用label标签的时,选择文字就会进入到相应的框体,他类似一个跳转,目前多数网站登录页面都可以这样。

<label for="username">用户名:</label>
<input id="username" type="text" name="user" />
<br />
<label for="pwd">密码:</label>
<input id="pwd" type="text" name="user" />

列表(ul/ol/dl)

1. ul 无序列表

<ul>
<li>line1</li>
<li>line2</li>
<li>line3</li>
</ul>

显示效果如下:

2. ol 顺序列表

<ol>
<li>line1</li>
<li>line2</li>
<li>line3</li>
</ol>

显示效果如下:

3. dl 分组列表

<dl>
<dt>河北省</dt>
<!--dt是标签,dd是标签里的内容-->
<dd>石家庄</dd>
<dd>衡水市</dd>
<dt>山东省</dt>
<!--dt是标签,dd是标签里的内容-->
<dd>济南市</dd>
<dd>烟台市</dd>
</dl>

显示效果如下:

表格

1. 基本的九宫格

<table border="1">
<!--border这里是加上边框-->
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<!--一个tr是1行,一个td是一列,一行里可能有很多列。-->
<!--如果想加多个行就加多个tr即可-->
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>

显示效果如下:

2. 合并单元格

<table border="1">
<!--border这里是加上边框-->
<tr>
<td colspan="3">1</td>
<!--这里colspan,就告诉html解析的时候占3个格-->
</tr>
<!--一个tr是1行,一个td是一列,一行里可能有很多列。-->
<!--如果想加多个行就加多个tr即可-->
<tr>
<td rowspan="2">1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>2</td>
<td>3</td>
</tr>
</table>

显示效果如下:

以上的表格标签其实还不是很标准,正常标准的标签如下:

<table border="1">
<thead>
<!--表头-->
<tr>
<th>表1</th>
<th>表2</th>
<th>表3</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</tbody>
</table>

显示效果如下:

fieldset 标签

<fieldset>
<legend>登录</legend>
<label for="username">用户名:</label>
<input id="username" type="text" name="user" />
<br />
<label for="pwd">密码:</label>
<input id="pwd" type="text" name="user" />
</fieldset>

显示效果如下:


参考以下文章:

罗天帅博客

W3School

感谢!

最新文章

  1. 高性能JavaScript--数据存储(简要学习笔记二)
  2. Unity3D中使用委托和事件
  3. eclipse创建web项目
  4. crontab计划任务
  5. 在浏览器中将表格导入到本地的EXCEL文件,注意控制内存
  6. android_ViewPager_实现导航页
  7. SQL2005 学习笔记 窗口函数(OVER)【转】
  8. 动态规划——J 括号配对问题
  9. 如何获取启动文件路径 GetModuleFileName
  10. 响应式(css_media)
  11. poj 1204 Word Puzzles(字典树)
  12. 用持续集成工具Travis进行构建和部署
  13. SSL交互过程
  14. WKWebView的使用与JS交互详细解读
  15. 使用@property
  16. JAVA锁有哪些种类,以及区别(转)
  17. 2-sat学习笔记
  18. JavaScript Window Navigator 浏览器本身的信息
  19. 为Python加入默认模块搜索路径
  20. iOS开发学习-给圆形图片添加边框

热门文章

  1. var a=function()跟function a()的区别
  2. JS+HTML5的Canvas画图模拟太阳系运转
  3. 游标的使用——mysql
  4. 深入JavaScript:词法分析、连续赋值猜想
  5. jQuery静态方法parseJSON方法使用和源码分析
  6. css(二)
  7. Linux0.11内核--内存管理之2.配合fork
  8. 从汇编角度分析C语言的过程调用
  9. MySQL错误日志总结
  10. ORACLE临时表总结