HTML 基本语法

学习网站,以下学习内容绝大部分均来自该网站

html 参考手册

什么是HTML

HTML 是用于创建网页的标准标记语言,可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。

  • HTML 指的是超文本标记语言 Hyper Text Markup Language
  • HTML 不是一种编程语言,而是一种标记语言。
  • 标记语言是一套标记标签(markup tag),由尖括号包围的关键词,例如 <html>
  • HTML 使用标记标签来描述网页
  • HTML 文档包含 HTML 标签以及文本内容

html5 对大小写不敏感,但推荐使用小写,为了向后兼容,因为新版本的 (X)HTML 要求使用小写属性。

HTML 元素

  • HTML 元素通常以开始(起始)标签(opening tag)起始,以结束(闭合)标签(closing tag)终止
  • 元素的内容是开始标签与结束标签之间的内容
  • 某些HTML 元素具有空内容
  • 空元素在开始标签中进行关闭 例如 <br />
  • 大多数 HTML 元素可拥有属性

HTML 属性

  • 属性是 HTML 元素提供的附加信息。

  • 属性以名称/值对的形式出现,比如:name = "value"。

  • 属性总是在HTML元素的开始标签中规定

<h1 align="center">This is heading 1</h1>

!DOCTYPE 声明

  • <!DOCTYPE>声明不是一个HTML标签
  • 位于文档的最前面位置,处于<html>标签之前
  • 用来声明 HTML 版本,帮助浏览器正确显示网页内容
  • HTML5版本声明是 <!DOCTYPE html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>文档标题</title>
</head>
 
<body>
文档内容......
</body>
</html>

HTML 头部元素

<head> 元素是所有头部元素的容器。可以添加在头部区域的元素标签为: <title>, <style>, <meta>, <link>, <script>, <noscript><base>

  • <title> 元素 定义文档的标题
    • 定义浏览器工具栏中的标题

    • 提供页面被添加到收藏夹时显示的标题

    • 显示在搜索引擎结果中的页面标题

<head>
    <!--在标题左侧显示logo图片-->
    <link rel="shortcut icon" href="">
	<title>Title of the document</title>
</head>
  • <base> 元素

为页面上的所有链接规定默认地址或默认目标(target)

<head>
<base href="https://www.runoob.com/images/" target="_blank" />
</head>
  • <link> 定义文档与外部资源之间的关系,最常用于连接样式表
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
  • <style>定义文档的样式信息
<head>
<style type="text/css">
body {background-color:yellow}
p {color:blue}
</style>
</head>
  • <meta> 元素被用于规定页面的描述、关键词、文档的作者、最后修改时间以及其他元数据。
<head>
<!--定义文档的字符编码-->
<meta charset="utf-8" /> 
<title>菜鸟教程(runoob.com)</title> 
<!--定义web页面描述-->
<meta name="description" content="免费在线教程" />
<!--定义文档关键词,用于搜索引擎-->
<meta name="keywords" content="HTML,CSS,XML,JavaScript" />
<!--定义页面作者-->
<meta name="author" content="runoob" />
<!--每30秒刷新页面-->
<meta http-equiv="refresh" content="30" />
</head>

关于meta的更多用法可自行探索。

  • <script> 用于加载脚本文件,如JavaScript。

HTML 标题 <h1></h1>

  • 标题(Heading) 是通过<h1> - <h6> 标签进行定义,分别表示一到六级标题
  • 搜索引擎使用标题为网页的结构和内容编制索引。
  • 浏览器会自动地在标题的前后添加空行。
<h1>这是标题 1</h1>
<h2>这是标题 2</h2>
<h3>这是标题 3</h3>
<h4>这是标题 4</h4>
<h5>这是标题 5</h5>
<h6>这是标题 6</h6>

HTML 段落 <p>

浏览器会自动地在段落的前后添加空行。

<p>This is a paragraph</p>

注:当显示页面时,浏览器会移除源代码中多余的空格和空行。所有连续的空格或空行都会被算作一个空格。需要注意的是,HTML 代码中的所有连续的空行(换行)也被显示为一个空格。而且段落的行数是依赖于浏览器窗口大小的。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>

<body>

<h1>春晓</h1>

<p>
    春眠不觉晓,
      处处闻啼鸟。
        夜来风雨声,
          花落知多少。
</p>

<p>注意,浏览器忽略了源代码中的排版(省略了多余的空格和换行)。</p>

</body>

</html>

HTML 换行 <br />

<p>这个<br>段落<br>演示了分行的效果</p>

HTML 水平线<hr>

<hr /> 标签在HTML 页面中创建水平线

hr 元素可用于分割内容

<p>这是段落</p>
<hr />
<p>这是段落</p>

HTML 注释

注释标签 <!----> 用于在 HTML 插入注释。

<!-- This is a comment -->

浏览器会忽略注释,不会显示它们

HTML 文本格式化标签

标签 描述
<b> 定义粗斜字体
<big> 定义大号字体
<em> 定义着重字体(斜体)
<i> 定义斜体字
<samll> 定义小号字
<strong> 定义加重语气(粗体)
<sub> 定义下标字
<sup> 定义上标字
<ins> 定义插入字
<del> 定义删除字

HTML 引用

  • <q> 定义短的引用
<p>WWF 的目标是:<q>构建人与自然和谐共存的世界。</q></p>
  • <blockquote> 定义被引用的节
<p>以下内容引用自 WWF 的网站:</p>
<blockquote cite="http://www.worldwildlife.org/who/index.html">
五十年来,WWF 一直致力于保护自然界的未来。
世界领先的环保组织,WWF 工作于 100 个国家,
并得到美国一百二十万会员及全球近五百万会员的支持。
</blockquote>
  • <cite> 定义著作的标题
<p><cite>The Scream</cite> by Edward Munch. Painted in 1893.</p>
  • <address> 定义文档作者或拥有者的联系信息
<address>
Written by Donald Duck.<br> 
Visit us at:<br>
Example.com<br>
Box 564, Disneyland<br>
USA
</address>
  • <abbr> 定义缩写或字母缩略语
<p><abbr title="World Health Organization">WHO</abbr> 成立于 1948 年。</p>
  • <dfn> 定义项目或缩写的定义
<p><dfn title="World Health Organization">WHO</dfn> 成立于 1948 年。</p>

HTML 计算机代码元素

<code> 定义计算机文本,但不保留多余的空格和折行,如需解决该问题可使用<pre>

<pre> 定义预格式化文本

<p>Coding Example:</p>

<code>
<pre>
var person = {
    firstName:"Bill",
    lastName:"Gates",
    age:50,
    eyeColor:"blue"
}
</pre>
</code>

<var> 定义数学变量

<p>Einstein wrote:</p>

<p><var>E = m c<sup>2</sup></var></p>

HTML 链接

<a> 标签定义超链接,用于从一张页面链接到另一个页面

<a href="url">链接文本</a>
  • "链接文本"* 不必一定是文本。图片或其他 HTML 元素都可以成为链接。
<p>创建图片链接:
<a href="//www.runoob.com/html/html-tutorial.html">
<img border="10" src="smiley.gif" alt="HTML 教程" width="32" height="32"></a></p>
  • 使用 target 属性定义被链接文档在何处显示
<a href="https://www.runoob.com/" target="_blank">访问菜鸟教程!</a>
描述
_blank 在新窗口中打开被链接文档。
_self 默认。在相同的框架中打开被链接文档。
_parent 在父框架集中打开被链接文档。
_top 在整个窗口中打开被链接文档。
framename (自定义) 在指定的框架中打开被链接文档。

关于target 自定义可以看下w3school的这个例子在框架中打开窗口

  • 电子邮件链接
<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
</head>
<body>

<p>
这是另一个电子邮件链接:
<a href="mailto:someone@example.com?cc=someoneelse@example.com&bcc=andsomeoneelse@example.com&subject=Summer%20Party&body=You%20are%20invited%20to%20a%20big%20summer%20party!" target="_top">发送邮件!</a>
</p> 

<p>
<b>注意:</b> 单词之间的空格使用 %20 代替,以确保浏览器可以正常显示文本。
</p>

</body>
</html>
  • 书签实现
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<p>
<a href="#C4">查看章节 4</a>
</p>

<h2>章节 1</h2>
<p>这边显示该章节的内容……</p>

<h2>章节 2</h2>
<p>这边显示该章节的内容……</p>

<h2>章节 3</h2>
<p>这边显示该章节的内容……</p>

<h2><a id="C4">章节 4</a></h2>
<p>这边显示该章节的内容……</p>

<h2>章节 5</h2>
<p>这边显示该章节的内容……</p>

<h2>章节 6</h2>
<p>这边显示该章节的内容……</p>

<h2>章节 7</h2>
<p>这边显示该章节的内容……</p>

<h2>章节 8</h2>
<p>这边显示该章节的内容……</p>

<h2>章节 9</h2>
<p>这边显示该章节的内容……</p>

<h2>章节 10</h2>
<p>这边显示该章节的内容……</p>

</body>
</html>

HTML 样式

style 属性用于改变HTML 元素的样式

<html>
<body style="background-color:PowderBlue">

<h1 style="text-align:center">Look! Styles and colors</h1>

<p style="font-family:verdana;color:red">
This text is in Verdana and red</p>

<p style="font-family:times;color:green">
This text is in Times and green</p>

<p style="font-size:30px">This text is 30 pixels high</p>

</body>
</html>

HTML CSS

CSS (Cascading Style Sheets)用于渲染HTML元素标签的样式。

当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化

  • 外部样式表

    使用外部样式表,可以通过更改一个文件来改变整个站点的外观

    <head>
    <link rel="stylesheet" type="text/css" href="mystyle.css">
    </head>
    
  • 内部样式表

    当单个文件需要特别样式时,可以使用内部样式表。在 <head> 部分通过 <style> 标签定义内部样式表

    <head>
    
    <style type="text/css">
    body {background-color: red}
    p {margin-left: 20px}
    </style>
    </head>
    
  • 内联样式

    当特殊的样式需要应用到个别元素时,使用内联样式。 使用内联样式的方法是在相关的标签中使用样式属性。样式属性可以包含任何 CSS 属性。

    <p style="color: red; margin-left: 20px">
    This is a paragraph
    </p>
    

更多了解可学习CSS

HTML 图像

<img> 是空标签

<img src="url" />
  • 替换文本属性
<img src="url" alt="在浏览器无法载入图像时,将显示此文本" />
  • height 和 width 属性可以改变图像的大小
<img src="url" width="50" height="50" />

除了<img>还有<map><area>搭配使用分别是定义图像地图和图像地图中的可点击区域,例创建图像映射

HTML 表格

  • <table>定义表格
  • <caption> 定义标题
  • <tr> 定义行
  • <th> 定义表头
  • <td> 定义单元格,可以包含文本、图片、列表、段落、表单、水平线、表格等等
  • border 边框属性
  • colspan 单元格跨列属性
  • rowspan 单元格跨行属性
  • cellpadding 属性创建单元格内容与边框之间的空白
  • cellspacing 属性增加单元格之间的距离
  • align 属性排列单元格内容
  • frame 属性控制围绕表格的边框
<table border="1" cellpadding="10">
<caption>标题</caption>
	<tr>
  		<th align="left">姓名</th>
  		<th colspan="2">电话</th>
	</tr>
	<tr>
  		<td align="left">Bill Gates</td>
  		<td>555 77 854</td>
  		<td>555 77 855</td>
	</tr>
</table>

HTML 列表

  • 无序列表
    • type 属性控制项目符号类型:disc, circle, square
<ul style="list-style-type:circle">
<li>Coffee</li>
<li>Milk</li>
</ul>
  • 有序列表
    • type 属性控制项目符号类型:A, a, I, i
    • start 属性定义从第几个数据排列
<ol type="A">
<li>Coffee</li>
<li>Milk</li>
</ol>
  • 嵌套列表
<ul>
  <li>咖啡</li>
  <li><ul>
    <li>红茶</li>
    <li>绿茶
      <ul>
      <li>中国茶</li>
      <li>非洲茶</li>
      </ul>
    </li>
    </ul>
  </li>
  <li>牛奶</li>
</ul>
  • 自定义列表
<dl> <!--定义列表-->
  <dt>Coffee</dt><!--定义列表项目-->
  <dd>- black hot drink</dd><!--定义列表项目的描述-->
  <dt>Milk</dt>
  <dd>- white cold drink</dd>
</dl>

从英文出发记忆:

ul是unordered lists的缩写 (无序列表)

li是list item的缩写 (列表项目)

ol是ordered lists的缩写(有序列表)

dl是definition lists的英文缩写 (自定义列表)

dt是definition term的缩写 (自定义列表组)

dd是definition description的缩写(自定义列表描述)

HTML 分组标签

HTML 可以通过 <div><span>将元素组合起来。

  • <div>

    • 块级元素 (block-level)

    • 用于组合其他 HTML 元素的容器。

    • 属于块级元素,默认情况下,浏览器通常会在 <div> 元素前后放置一个换行符。然而,您可以通过使用 CSS 改变这种情况。

    • 与 CSS 一同使用,<div> 元素可用于对大的内容块设置样式属性。

    • 用于文档布局

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
</head>
<body>
 
<div id="container" style="width:500px">
 
<div id="header" style="background-color:#FFA500;">
<h1 style="margin-bottom:0;">主要的网页标题</h1></div>
 
<div id="menu" style="background-color:#FFD700;height:200px;width:100px;float:left;">
<b>菜单</b><br>
HTML<br>
CSS<br>
JavaScript</div>
 
<div id="content" style="background-color:#EEEEEE;height:200px;width:400px;float:left;">
内容在这里</div>
 
<div id="footer" style="background-color:#FFA500;clear:both;text-align:center;">
版权 © runoob.com</div>
 
</div>
 
</body>
</html>
  • <span>

    • 内联元素(inline)

    • 用于对文档中的行内元素进行组合。

    • 供了一种将文本的一部分或者文档的一部分独立出来的方式。

    • <span>元素包含的文本,您可以使用 CSS 对它定义样式,或者使用 JavaScript 对它进行操作。

<p>我的母亲有 <span style="color:blue;font-weight:bold">蓝色</span> 的眼睛,我的父亲有 <span style="color:darkolivegreen;font-weight:bold">碧绿色</span> 的眼睛。</p>

HTML 表单

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

<form> 元素定义HTML表单

表单是一个包含表单元素的区域。

表单属性

  • action 属性定义在提交表单时执行的动作

  • method 属性规定在提交表单时所用的HTTP方法(GET或POST)

  • target 等

    <form action="action_page.php" method="GET" target="_blank" accept-charset="UTF-8"
    ectype="application/x-www-form-urlencoded" autocomplete="off" novalidate>
    .
    form elements
    .
    </form> 
    
  • name 属性 如果要正确地被提交,每个输入字段必须设置一个name属性

    <form action="action_page.php">
    First name:<br>
    <input type="text" value="Mickey">
    <br>
    Last name:<br>
    <input type="text" name="lastname" value="Mouse">
    <br><br>
    <input type="submit" value="Submit">
    </form>
    

    上面的例子只会提交last name 输入字段

表单元素

input 输入域

  • <input> 元素能根据不同的 type 属性变化形态

    输入类型:

    • <input type="text">定义单行文本输入

    • <input type="password">定义密码字段

    • <input type="submit">定义提交表单数据至表单处理程序的按钮

    • <input type="radio">定义单选按钮

      <form>
      <input type="radio" name="sex" value="male" checked>Male
      <br>
      <input type="radio" name="sex" value="female">Female
      </form> 
      
    • <input type="checkbox"> 定义复选框

      <form>
      <input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
      <input type="checkbox" name="vehicle" value="Car">I have a car
      </form>
      
    • <input type="button">定义按钮

      <input type="button" onclick="alert('Hello World!')" value="Click Me!">
      
    • HTML5新增输入类型

      • <input type="number">能对数字做出限制,例如
      <form>
        Quantity (between 1 and 5):
        <input type="number" name="quantity" min="1" max="5">
      </form>
      
      • <input type="date">日期的输入字段

        <form>
          Enter a date before 1980-01-01:
          <input type="date" name="bday" max="1979-12-31"><br>
          Enter a date after 2000-01-01:
          <input type="date" name="bday" min="2000-01-02"><br>
        </form>
        
      • <input type="color"> 颜色的输入字段

      • <input type="range">一定范围内的值的输入字段,可以用min、max、step、value属性来规定。

      • <input type="month"> 允许用户选择月份和年份

      • <input type="week"> 允许用户选择周和年

      • <input type="time"> 选择时间(无时区)

      • <input type="datetime"> 选择日期和时间(有时区)

      • <input type="email"> 电子邮件的输入字段

      • <input type="search"> 用于搜索字段

      • <input type="url"> url 地址的输入字段

  • Input属性

    • value 属性规定输入字段的初始值

    • readonly 属性规定输入字段为只读(readonly 属性不需要值。它等同于 readonly="readonly")

    • disabled 属性规定输入字段是禁用的(被禁用的元素不会被提交,disabled 属性不需要值。它等同于 disabled="disabled")

    • size 属性规定输入字段的尺寸

    • maxlength 属性规定输入字段允许的最大长度

    • height 和 width 属性仅用于<input type="image"> , 规定高和宽

    <input type="image" src="img_submit.gif" alt="Submit" width="48" height="48">
    
    • pattern 属性规定用于检查 <input> 元素值的正则表达式
    <input type="text" name="country_code" pattern="[A-Za-z]{3}" title="Three letter country code">
    
    • placeholder 属性规定用以描述输入字段预期值的提示,该提示会在用户输入值之前显示在输入字段中
    <input type="text" name="fname" placeholder="First name">
    
    • step 属性规定合法数字间隔,示例:如果 step="3",则合法数字应该是 -3、0、3、6、等等。

    • required 属性规定提交表单前必须填写输入字段

    Username: <input type="text" name="usrname" required>
    
    • multiple 属性允许用户输入一个以上的值
    Select images: <input type="file" name="img" multiple>
    

select 下拉列表

<option>定义下拉列表中的选项

<select name="cars">
	<option value="volvo">Volvo</option>
	<option value="saab">Saab</option>
	<option value="fiat">Fiat</option>
	<option value="audi">Audi</option>
</select>

列表通常会把首个选项显示为被选选项

可以通过添加selected 属性定义被选选项

<option value="fiat" selected>Fiat</option>

textarea 文本域

<textarea name="message" rows="10" cols="30">
The cat was playing in the garden.
</textarea>

button 按钮

<button type="button" onclick="alert('Hello World!')">Click Me!</button>

<button>元素内部,您可以放置内容,比如文本或图像。这是该元素与使用<input>元素创建的按钮之间的不同之处。

fieldset 组合表单元素

<legend> 元素为 <fieldset> 元素定义标题

<form action="action_page.php">
<fieldset>
<legend>Personal information:</legend>
First name:<br>
<input type="text" name="firstname" value="Mickey">
<br>
Last name:<br>
<input type="text" name="lastname" value="Mouse">
<br><br>
<input type="submit" value="Submit"></fieldset>
</form> 

HTML5表单元素

  • <datalist> 元素为 <input> 元素规定预定义选项列表,<input> 元素的 list 属性必须引用 <datalist> 元素的id属性。

    用户能看到一个下拉列表,里边的选项是预先定义好的,将作为用户的输入数据。

    <form action="action_page.php">
    <input list="browsers" name="browser">
    <datalist id="browsers">
       <option value="Internet Explorer">
       <option value="Firefox">
       <option value="Chrome">
       <option value="Opera">
       <option value="Safari">
    </datalist> 
    </form>
    
  • <output>

    作为计算结果输出显示(比如执行脚本的输出)

    <form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
    <input type="range" id="a" value="50">100
    +<input type="number" id="b" value="50">
    =<output name="x" for="a b"></output>
    </form>
    

HTML 框架

通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。

<iframe> 标签规定一个内联框架。

一个内联框架被用来在当前 HTML 文档中嵌入另一个文档。

<!DOCTYPE html>
<html>
<head> 
<meta charset="utf-8"> 
<title>菜鸟教程(runoob.com)</title> 
</head> 
<body>

<iframe src="demo_iframe.htm" name="iframe_a" frameborder="0" width="500" height="200"></iframe>
<p><a href="https://www.runoob.com" target="iframe_a">RUNOOB.COM</a></p>

<p><b>注意:</b> 因为 a 标签的 target 属性是名为 iframe_a 的 iframe 框架,所以在点击链接时页面会显示在 iframe框架中。</p>

</body>
</html>

frameborder 属性用于定义 iframe 表示是否显示边框,设置属性值为 "0" 移除 iframe 的边框。

HTML 脚本

JavaScript 使 HTML 页面具有更强的动态和交互性。

  • <script> 标签用于定义客户端脚本,比如 JavaScript。

    <script>元素既可包含脚本语句,也可通过 src 属性指向外部脚本文件。

  • <noscript> 标签提供无法使用脚本时的替代内容,比方在浏览器禁用脚本时,或浏览器不支持客户端脚本时。

    <noscript>元素可包含普通 HTML 页面的 body 元素中能够找到的所有元素。

    只有在浏览器不支持脚本或者禁用脚本时,才会显示

posted @   hzyuan  阅读(379)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)

喜欢请打赏

扫描二维码打赏

支付宝打赏

点击右上角即可分享
微信分享提示