什么是 HTML?

HTML 是用来描述网页的一种语言。

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签 (markup tag)
  • HTML 使用标记标签来描述网页

html中,除了语义,其他什么都没有。

html是一个纯本文文件(就是用txt文件改名而成),用一些标签来描述文字的语义,这些标签在浏览器里面是看不到的,所以称为“超文本”,所以就是“超文本标记语言”了。
所以,接下来,我们肯定要学习一堆html中的标签对儿,这些标签对儿能够给文本不同的语义。

比如,面试的时候问你,h1标签有什么作用?

    • 正确答案:给文本增加主标题的语义。
    • 错误答案:给文字加粗、加黑、变大。

2、HTML的网络术语

  • 网页 :由各种标记组成的一个页面就叫网页。
  • 主页(首页) : 一个网站的起始页面或者导航页面。
  • 标记: <p>称为开始标记 ,</p>称为结束标记,也叫标签。每个标签都规定好了特殊的含义。
  • 元素:<p>内容</p>称为元素.
  • 属性:给每一个标签所做的辅助信息。

HTML 标签

HTML 标记标签通常被称为 HTML 标签 (HTML tag)。

  • HTML 标签是由尖括号包围的关键词,比如 <html>
  • HTML 标签通常是成对出现的,比如 <b> 和 </b>
  • 标签对中的第一个标签是开始标签,第二个标签是结束标签
  • 开始和结束标签也被称为开放标签闭合标签

在我们新建一个新的html文件的时候,总共会分为两部分,一部分是Html的头文件即<head>标签中的内容,还有一部分是Html的<body>即html 的主体。接下来先分开来看两这两部分。

同时html有着自己的一份规范

1)所有标记元素都要正确的嵌套,不能交叉嵌套。正确写法举例:<h1><font></font></h1>

(2)所有的标记都必须小写。

(3)所有的标记都必须关闭。

  • 双边标记:<span></span>
  • 单边标记:<br> 转成 <br /> <hr> 转成 <hr />,还有<img src=“URL” />

(4)所有的属性值必须加引号。<h1 id=”head”></h1>

(5)所有的属性必须有值。<input type="radio" checked="checked" />

文档声明头

任何一个标准的HTML页面,第一行一定是一个以

<!DOCTYPE...

开头的这一行,就是文档声明头,DocType Declaration,简称DTD。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。

PS:

XHTML:Extensible Hypertext Markup Language,可扩展超文本标注语言。

XHTML的主要目的是为了取代HTML,也可以理解为HTML的升级版。

HTML的标记书写很不规范,会造成其它的设备(ipad、手机、电视等)无法正常显示。

XHTML与HTML4.0的标记基本上一样。

XHTML是严格的、纯净的HTML

Head部分

首先从Head标签来开始看起,首先我们需要知道的是Head标签中并不会直接将内容展现在页面之中,更多的是隐藏的内容,同时Head中的内容会在Html中优先执行。在Head中常用的几种标签让我们一个一个的来看下都有哪些常用的。

1、<meta>标签

http-equiv属性

它用来向浏览器传达一些有用的信息,帮助浏览器正确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。

<!--重定向 2秒后跳转到对应的网址,注意分号-->
<meta http-equiv="refresh" content="2;URL=http://www.besttest.cn">
<!--指定文档的内容类型和编码类型 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<!--告诉IE浏览器以最高级模式渲染当前网页-->
<meta http-equiv="x-ua-compatible" content="IE=edge">

其他实例

<!-- 字体编码 -->
<meta charset="utf-8" /> <!-- 关键字 -->
<meta name="keywords" content="" /> <!-- 说明 -->
<meta name="description" content="" /> <!-- 作者 -->
<meta name="author" content="" /> <!-- 设置文档宽度、是否缩放 -->
<meta name="viewport" content="width=device-width,initial-scale=1.0,user-scalable=no" /> <!-- 优先使用IE最新版本或chrome -->
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <!-- 360读取到这个标签立即钱换到极速模式 -->
<meta name="renderer" content="webkit" /> <!-- 禁止百度转码 -->
<meta http-equiv="Cache-Control" content="no-siteapp" /> <!-- UC强制竖屏 -->
<meta name="screen-orientation" content="portrait" /> <!-- QQ强制竖屏 -->
<meta name="x5-orientation" content="portrait" /> <!-- UC强制全屏 -->
<meta name="full-scerrn" content="yes" /> <!-- QQ强制全屏 -->
<meta name="x5-fullscreen" content="ture" /> <!-- QQ应用模式 -->
<meta name="x5-page-mode" content="app" /> <!-- UC应用模式 -->
<meta name="browsermode" content="application"> <!-- window phone 点亮无高光 -->
<meta name="msapplication-tap-highlight" content="no" /> <!-- 安卓设备不自动识别邮件地址 -->
<meta name="format-detection" name="email=no" /> <!-- iOS设备 --> <!-- 添加到主屏幕的标题 -->
<meta name="apple-mobile-web-app-title" content="标题" /> <!-- 是否启用webApp全屏 -->
<meta name="apple-mobile-web-app-capable" content="yes" /> <!-- 设置状态栏的背景颜色,启用webapp模式时生效 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent/black/default" />
<!-- 半透明/黑色/默认白色 --> <!-- 禁止数字识别为电话号码 -->
<meta name="format-detection" content="telephone=no" /> <!-- 智能添加广告条 -->
<meta name="apple-itunes-app" content="app-id=myappstoreID,affiliate-data=myaffiliatedata,app-argument=myurl" />

2、Link标签

<!-- 有助于防止出现内容重复的问题 -->
<link rel="canonical" href="https://example.com/2010/06/9-things-to-do-before-entering-social-media.html">
<!-- 定义一个icon -->
<link rel="shortcut icon" href="path/to/favicon.ico"> <!-- 链接到当前文档的一个 AMP HTML 版本 -->
<link rel="amphtml" href="https://example.com/path/to/amp-version.html"> <!-- 表明一个 CSS 样式表 -->
<link rel="stylesheet" href="https://example.com/styles.css"> <!-- 链接到一个指定 Web 应用程序“安装”证书的 JSON 文件 -->
<link rel="manifest" href="manifest.json"> <!-- 链接到文档的作者 -->
<link rel="author" href="humans.txt"> <!-- 指向一个适用于链接内容的版权申明 -->
<link rel="copyright" href="copyright.html"> <!-- 给出可能的你的另一种语言的文档位置参考 -->
<link rel="alternate" href="https://es.example.com/" hreflang="es"> <!-- 提供了关于作者或其他人的信息 -->
<link rel="me" href="https://google.com/profiles/thenextweb" type="text/html">
<link rel="me" href="mailto:name@example.com">
<link rel="me" href="sms:+15035550125"> <!-- 链接到一个文档,包含当前文档的一个归档链接 -->
<link rel="archives" href="https://example.com/2003/05/" title="May 2003"> <!-- 链接到层次结构中的顶级资源 -->
<link rel="index" href="https://example.com/" title="DeWitt Clinton"> <!-- 给出该文档的起点 -->
<link rel="start" href="https://example.com/photos/pattern_recognition_1_about/" title="Pattern Recognition 1"> <!-- 引导当前文档的前述资源序列 -->
<link rel="prev" href="https://example.com/opensearch/opensearch-and-openid-a-sure-way-to-get-my-attention/"
title="OpenSearch and OpenID? A sure way to get my attention."> <!-- 给出一个自我参考 - 当文档有多个可能的参考时非常有用 -->
<link rel="self" type="application/atom+xml" href="https://example.com/atomFeed.php?page=3"> <!-- 分别是在一系列文件中的第一个、下一个、上一个和最后一个 -->
<link rel="first" href="https://example.com/atomFeed.php">
<link rel="next" href="https://example.com/atomFeed.php?page=4">
<link rel="previous" href="https://example.com/atomFeed.php?page=2">
<link rel="last" href="https://example.com/atomFeed.php?page=147">

3、script标签

这个script标签我们放到js部分去看

Body部分

HTML标签中有两类标签:

  1. 字体标签
  2. 排版标签

1、字体标签包含:h1~h6、<b>、<u>、<i>、<sub><sup>

标题标签h1-h6

标题使用<h1><h6>标签进行定义。<h1>定义最大的标题,<h6>定义最小的标题。具有align属性,属性值可以是:left、center、right。

<h1>BestTest</h1>
<h2>BestTest</h2>
<h3>BestTest</h3>
<h4>BestTest</h4>
<h5>BestTest</h5>
<h6>BestTest</h6>

粗体标签<b>

Liml
<b>Liml</b>
<strong>Liml</strong>

下划线标记<u>

<u>Liml</u>
<s>Liml</s>

斜体标记<i>

BestTest-liml
<I>BestTest-liml</i>
<em>BestTest-liml</em>

上标<sup> 下标<sub>

上小标这两个标签容易混淆,我们可以这样来记:b的意思是bottom:底部

5<sup>2</sup>
8<sub>2</sub>

除了这些标签之外,我们还有一些其他常用的符号,

  • &nbsp;:空格 (non-breaking spacing,不断打空格)
  • &lt;:小于号(less than)
  • &gt;:大于号(greater than)
  • &amp;:符号&
  • &quot;:双引号
  • &apos;:单引号
  • &copy;:版权©
  • &trade;:商标

2、排版标签

<p>标签,段落:是英文paragraph的缩写。属性:align=’属性值’:对齐方式。属性值包括:left、center、right

示例:

<p>这是一个段落1</p>
<p align="center">这是另一个段落2</p>

在这里我们需要记住一点:p标签是一个文本级标签,p里面只能放文字、图片、表单元素,不可以放其他的。

<span>标签:与p标签有点类似是一个文本级的标签,不同点是不会单独新起一行去展示。

<div>标签:

div:把标签中的内容作为一个块儿来对待(division)。必须单独占据一行。

div标签的属性:

  • align="属性值":设置块儿的位置。属性值可选择:left、right、 center

如果单独在网页中插入这两个元素,不会对页面产生任何的影响。div元素是专门为定义CSS样式而生的。或者说,DIV+CSS来实现各种样式。

行内标签和块级标签的概念

<p>这是一个p标签</p><span>这是第一个span标签</span>

<span>这是第二个span标签</sapn><div>这是一个div标签</div>
  • .行内元素与块级元素直观上的区别

    • 行内元素会在一条直线上排列,都是同一行的,水平方向排列
    • 块级元素各占据一行,垂直方向排列。块级元素从新行开始结束接着一个断行。
  • 块级元素可以包含行内元素和块级元素。行内元素不能包含块级元素。
  • 行内元素与块级元素属性的不同,主要是盒模型属性上

3、超链接

超链接有下面两种常用形式:

  • 外部链接:链接到外部文件。举例:
<a href="http://www.besttest.cn">这是一个超链接</a>

a是英语anchor“锚”的意思,就好像这个页面往另一个页面扔出了一个锚。是一个文本级的标签。

  • 锚链接:

指给超链接起一个名字,作用是在本页面或者其他页面的的不同位置进行跳转。比如说,在网页底部有一个向上箭头,点击箭头后回到顶部,这个就是利用到了锚链接。
首先我们要创建一个锚点,也就是说,使用name属性或者id属性给那个特定的位置起个名字。效果如下

图片标签<img>

  • width:宽度
  • height:高度
  • title:提示性文本。公有属性。也就是鼠标悬停时出现的文本。
  • align:指图片的水平对齐方式,属性值可以是:left、center、right
  • alt:当图片显示不出来的时候,代替图片显示的内容。

嘿嘿<img src="data:images/pang.png" alt="胖哥" title='胖哥绝版' width="400" height="400">幺幺

文本级的标签显示在浏览器上时,不管你的图片多高,它总会底边对齐,这是一种现象,“高矮不齐,底边对齐”。

此时大家可以给图片设置align属性,来查看效果吧!

注意事项:
(1)如果要想保证图片等比例缩放,请只设置width和height中其中一个。
(2)如果想实现图文混排的效果,请使用align属性,取值为left或right。

4、表格

表格标签用<table>表示。
一个表格<table>是由每行<tr>组成的,每行是由<td>组成的。
所以我们要记住,一个表格是由行组成的(行是由列组成的),而不是由行和列组成的。
在以前,要想固定标签的位置,唯一的方法就是表格。现在可以通过CSS定位的功能来实现。但是现在在做页面的时候,表格作用还是有一些的。

例如,一行的单元格:

<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>

如果我们需要多行

<table>
<tr>
<td>胖哥</td>
<td>18</td>
<td>男</td>
<td>帅</td>
</tr> <tr>
<td>大叔</td>
<td>38</td>
<td>男</td>
<td>更帅</td>
</tr>
<tr>
<td>梦林</td>
<td>23</td>
<td>男</td>
<td>比他们都帅</td>
</tr>
</table>

<table>的属性:

  • border:边框。像素为单位。
  • style="border-collapse:collapse;":单元格的线和表格的边框线合并
  • width:宽度。像素为单位。
  • height:高度。像素为单位。
  • bordercolor:表格的边框颜色。
  • align:表格的水平对齐方式。属性值可以填:left right center。
    注意:这里不是设置表格里内容的对齐方式,如果想设置内容的对齐方式,要对单元格标签<td>进行设置)
  • cellpadding:单元格内容到边的距离,像素为单位。默认情况下,文字是紧挨着左边那条线的,即默认情况下的值为0。
    注意不是单元格内容到四条边的距离哈,而是到一条边的距离,默认是与左边那条线的距离。如果设置属性dir="rtl",那就指的是内容到右边那条线的距离。
  • cellspacing:单元格和单元格之间的距离(外边距),像素为单位。默认情况下的值为0
  • bgcolor="#99cc66":表格的背景颜色。
  • background="路径src/...":背景图片。
    背景图片的优先级大于背景颜色。

<tr>:行

一个表格就是一行一行组成的嘛。
属性:

  • dir:公有属性,设置这一行单元格内容的排列方式。可以取值:ltr:从左到右(left to right,默认),rtl:从右到左(right to left)
  • bgcolor:设置这一行的单元格的背景色。
    注:没有background属性,即:无法设置这一行的背景图片,如果非要设置,可以用css实现。
  • height:一行的高度
  • align="center":一行的内容水平居中显示,取值:left、center、right
  • valign="center":一行的内容垂直居中,取值:top、middle、bottom

<td>:单元格

属性:

  • align:内容的横向对齐方式。属性值可以填:left right center。
    如果想让每个单元格的内容都居中,这个属性太麻烦了,以后用css来解决。
  • valign:内容的纵向对齐方式。属性值可以填:top middle bottom
  • width:绝对值或者相对值(%)
  • height:单元格的高度
  • bgcolor:设置这个单元格的背景色。
  • background:设置这个单元格的背景图片。

单元格合并

如果要将两个单元格合并,那肯定就要删掉一个单元格。
单元格的属性:

    • colspan:横向合并。例如colspan="2"表示当前单元格在水平方向上要占据两个单元格的位置。
    • rowspan:纵向合并。例如rowspan="2"表示当前单元格在垂直方向上

5、表单标签

表单标签用<form>表示,用于与服务器的交互。表单就是收集用户信息的,就是让用户填写的、选择的。

属性:

  • name:表单的名称,用于JS来操作或控制表单时使用;
  • id:表单的名称,用于JS来操作或控制表单时使用;
  • action:指定表单数据的处理程序,一般是PHP,如:action=“login.php”
  • method:表单数据的提交方式,一般取值:get(默认)和post

form标签里面的action属性和method属性,在后面课程给大家讲解。稍微说一下:action属性就是表示,表单将提交到哪里。 method属性表示用什么HTTP方法提交,有get、post两种。

get提交和post提交的区别:
GET方式:
将表单数据,以”name=value”形式追加到action指定的处理程序的后面,两者间用”?”隔开,每一个表单的”name=value”间用”&”号隔开。
特点:只适合提交少量信息,并且不太安全(不要提交敏感数据)、提交的数据类型只限于ASCII字符。

POST方式:
将表单数据直接发送(隐藏)到action指定的处理程序。POST发送的数据不可见。Action指定的处理程序可以获取到表单数据。
特点:可以提交海量信息,相对来说安全一些,提交的数据格式是多样的(Word、Excel、rar、img)。

Enctype:
表单数据的编码方式(加密方式),取值可以是:application/x-www-form-urlencoded、multipart/form-data。Enctype只能在POST方式下使用。

  • Application/x-www-form-urlencoded:默认加密方式,除了上传文件之外的数据都可以
  • Multipart/form-data:上传附件时,必须使用这种编码方式。

6、<input>输入标签(文本框)

用于接收用户输入。

<input type="text" />

属性:

    • type="属性值":文本类型。属性值可以是:

      • text(默认)
      • password:密码类型
      • radio:单选按钮,名字相同的按钮作为一组进行单选(单选按钮,天生是不能互斥的,如果想互斥,必须要有相同的name属性。name就是“名字”。
        )。非常像以前的收音机,按下去一个按钮,其他的就抬起来了。所以叫做radio。
      • checkbox:多选按钮,名字相同的按钮作为一组进行选择。
      • checked:将单选按钮或多选按钮默认处于选中状态。当<input>标签的type="radio"时,可以用这个属性。属性值也是checked,可以省略。
      • hidden:隐藏框,在表单中包含不希望用户看见的信息
      • button:普通按钮,结合js代码进行使用。
      • submit:提交按钮,传送当前表单的数据给服务器或其他程序处理。这个按钮不需要写value自动就会有“提交”文字。这个按钮真的有提交功能。点击按钮后,这个表单就会被提交到form标签的action属性中指定的那个页面中去。
      • reset:重置按钮,清空当前表单的内容,并设置为最初的默认值
      • image:图片按钮,和提交按钮的功能完全一致,只不过图片按钮可以显示图片。
      • file:文件选择框。
        提示:如果要限制上传文件的类型,需要配合JS来实现验证。对上传文件的安全检查:一是扩展名的检查,二是文件数据内容的检查。
    • value="内容":文本框里的默认内容(已经被填好了的)
    • size="50":表示文本框内可以显示五十个字符。一个英文或一个中文都算一个字符。
      注意size属性值的单位不是像素哦。
    • readonly:文本框只读,不能编辑。因为它的属性值也是readonly,所以属性值可以不写。
      用了这个属性之后,在google浏览器中,光标点不进去;在IE浏览器中,光标可以点进去,但是文字不能编辑。
    • disabled:文本框只读,不能编辑,光标点不进去。属性值可以不写。

7、<select>下拉列表标签

<select>标签里面的每一项用<option>表示。select就是“选择”,option“选项”。

select标签和ul、ol、dl一样,都是组标签。

<select>标签的属性:

  • multiple:可以对下拉列表中的选项进行多选。没有属性值。
  • size="3":如果属性值大于1,则列表为滚动视图。默认属性值为1,即下拉视图。

<option>标签的属性:

    • selected:预选中。没有属性值。

前端基础之HTML快速入门的更多相关文章

  1. web前端基础知识及快速入门指南

    web前端基础知识及快速入门指南 做前端开发有几个月了,虽然说是几个月,但是中间断断续续的上课.考试以及其它杂七杂八的事情,到现在居然一直感觉自己虽然很多前端的知识很眼熟,却也感觉自己貌似也知识在门口 ...

  2. 前端基础之CSS快速入门

    前一篇写了我们的Html的常用组件,当然那些组件在我们不去写样式的时候都是使用的浏览器的默认样式,可以说是非常之丑到爆炸了,我们肯定是不能让用户去看这样丑到爆炸的样式,所以我们在这里需要使用css样式 ...

  3. Spring Boot 2.x基础教程:快速入门

    简介 在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot ...

  4. SpringBoot基础篇-SpringBoot快速入门

    SpringBoot基础 学习目标: 能够理解Spring的优缺点 能够理解SpringBoot的特点 能够理解SpringBoot的核心功能 能够搭建SpringBoot的环境 能够完成applic ...

  5. 【APICloud】APICloud基础学习与快速入门

    前言:回顾这几天学习情况,总的来说APICloud官网它的学习资料和社区还是足够了,但是我必须吐槽一句,实在是过于混乱了,视频资料文档资料它一股脑地都堆在了那里,这几天基本处于在各个地方跳转,然后现在 ...

  6. 0基础如何更快速入门Linux系统?学完Linux有哪些就业方向?

    Linux系统是使用Linux内核及开源自由软件组成的一套操作系统,是一种类UNIX系统,其内核在1991年10月5日由林纳斯·托瓦兹首次发布. 它的主要特性:Linux文件一切皆文件.完全开源免费. ...

  7. 【夯实Ruby基础】Ruby快速入门

    本文地址: http://www.cnblogs.com/aiweixiao/p/6664301.html 文档提纲 扫描关注微信公众号 1.Ruby安装 1.1)[安装Ruby] Linux/Uni ...

  8. pl/sql基础知识—函数快速入门

    n  函数 函数用于返回特定的数据,当建立函数式,在函数头部必须包含return子句,而在函数体内必须包含return语句返回的数据,我们可以使用create function来建立函数,实际案例: ...

  9. pl/sql基础知识—过程快速入门

    n  过程 过程用于执行特定的操作,当建立过程时,既可以指定输入参数(in),也可以指定输出参数(out),通过在过程中使用输入参数,可以将数据传递到执行部分:通过使用输出参数可以将执行部分的数据传递 ...

随机推荐

  1. Johnny Solving CodeForces - 1103C (构造,图论)

    大意: 无向图, 无重边自环, 每个点度数>=3, 要求完成下面任意一个任务 找一条结点数不少于n/k的简单路径 找k个简单环, 每个环结点数小于n/k, 且不为3的倍数, 且每个环有一个特殊点 ...

  2. Deep Learning of Graph Matching 阅读笔记

    Deep Learning of Graph Matching 阅读笔记 CVPR2018的一篇文章,主要提出了一种利用深度神经网络实现端到端图匹配(Graph Matching)的方法. 该篇文章理 ...

  3. failed to load response data

    当需要根据后台传回地址跳转页面时 即使使用preserve log 可以查看上一个页面获取地址请求,但是此时请求返回值为failed to load response data 当关闭页面跳转可以查看 ...

  4. 教你一步一步用 Node.js 制作慕课网视频爬虫

    转自:http://www.jianshu.com/p/d7631fc695af 开始 这个教程十分适合初学 Node.js 的初学者看(因为我也是一只初学的菜鸟~) 在这里,我就默认大家都已经在自己 ...

  5. linux 日志编程(总结)

    转自:http://blog.csdn.net/hemmanhui/article/details/4343844 日志主要涉及3个函数,分别是openlog.syslog和closelog函数.表8 ...

  6. libxl 的使用,读取时间格式

    最近开发使用到 libxl,用的是3.8.0 破解版. 具体过程: 1.将lib.dll放在exe同目录下,在代码中引用 libxl.lib #pragma comment(lib, ".\ ...

  7. BZOJ1461 字符串的匹配

    什么字符串...明明是两个数列... 分类上来讲,还是一道很好的noip题...(雾) 首先,kmp会不会?(答:会!) 其次,树状数组求顺序对会不会?(再答:会!) 讲完了!>.< 进入 ...

  8. BZOJ1342 [Baltic2007]Sound静音问题

    越来越水了... 这道题是简单的单调队列,同时维护最大值和最小值即可. 另解:multiset大法求区间最大最小,但是复杂度会上升... /****************************** ...

  9. poj 1163 The Triangle 搜索 难度:0

    The Triangle Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37931   Accepted: 22779 De ...

  10. DevExpress v17.2新版亮点—Analytics Dashboard篇(一)

    用户界面套包DevExpress v17.2日前终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.本文将介绍了Analytics Dashboard v17.2 的新功能,快来下载试用新版本! ...