html

2021-06-21  本文已影响0人  VicSong

HTML5

元素分类

内容类型

HTML5 中引入了很多的标记元素,根据内容类型的不同,这些元素被分成了7大类:

  1. 流内容(Flow):
    包含在文档正常流中的大多数HTML5元素。

  2. 元数据(Metadata):
    通常出现在页面的head中,设置页面其他部分的表现和行为 。
    元素:<base>,<link>,<meta>,<noscript>,<script>,<style>,<title>。

  3. 内联(Embedded):
    在文档中添加其他类型的内容。
    元素:<audio>,<video>,<canvas>,<iframe>,<img>,<math>,<object>,<svg>。

  4. 交互(Interactive):
    与用户交互的内容。
    元素:<a> , <audio> , <video> , <button> , <details> , <embed> , <iframe> , <img> , <input> , <label> , <object> , <select> , <textarea>。

  5. 标题(Heading):
    定义段落标题。
    元素:<h1>,<h2>,<h3>,<h4>,<h5>,<h6>,<hgroup>。

  6. 短语(Phrasing):
    文本和文本标记元素。
    元素:<img>,<span>,<strong>,<label>,<br />,<small>,<sub>等。

  7. 区段内容(Sectioning) :
    定义标题,内容,导航和页脚的范围。
    元素:<article>,<aside>,<nav>,<section>

相同的元素可以属于多个内容模型。
各种内容类型在某些区域重叠,具体取决于它们的使用方式。

元素等级

HTML5 的元素按优先等级定义为结构性元素级块性元素行内语义性元素交互性元素四大类。

结构性元素
结构性元素主要负责 Web 的上下文结构的定义,确保 HTML 文档的完整性,这类元素包括以下几个:

级块性元素
级块性元素主要完成 Web 页面区域的划分,确保内容的有效分隔,这类元素包括以下几个:

行内语义性元素
行内语义性元素主要完成 Web 页面具体内容的引用和表述,是丰富内容展示的基础,这类元素包括以下几个:

交互性元素
交互性元素主要用于功能性的内容表达,会有一定的内容和数据的关联,是各种事件的基础,这类元素包括以下几个:

页面结构

常用H5页面结构布局

<!doctype html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <meta name="format-detection" content="telephone=no">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="description" content="">
    <meta name="keywords" content="">
    <title></title>
    <link rel="stylesheet" type="text/css" href="css/common/layout.css">
    <link rel="stylesheet" type="text/css" href="css/common/general.css">
    <link rel="stylesheet" type="text/css" href="css/index.css">
    <script src="js/head.js"></script>
</head>
<body>
    <div id="container">
        <header id="gHeader">
            <h1></h1>
            <nav></nav>
        </header>
        <div id="main">
            <article id="conts">
                <section class="company">
                    <h2></h2>
                </section>
                <section class="about">
                    <h2></h2>
                </section>                
            </article>
            <aside id="sideBar"></aside>
        </div>
        <footer id="gFooter"> </footer>
    </div>
    <script src="js/jquery.js"></script>
    <script src="js/common.js"></script>
</body>
</html>

页面头部

<head>

<head>标签定义文档的头部,包含了所有的头部标签元素。
在 <head> 标签中你可以插入脚本(scripts), 样式文件(CSS),及各种meta信息。
可以在头部区域的添加 <title>,<meta>,<link>,<style>,<script>等。

<meta>

<meta>标签描述了一些基本的元数据,比如针对搜索引擎和更新频度的描述和关键词。

为搜索引擎定义关键词:

<meta name="keywords" content="HTML, CSS, JavaScript">

为网页定义描述内容:

<meta name="description" content="一个神奇的网站">

定义字符编码:

<meta charset="utf-8">

定义网页作者:

<meta name="author" content="VicSong">

在 iPhone 上默认会自动把一串数字加链接样式、并且点击这个数字还会自动拨号,为了不让手机自动将网页中的电话号码显示为拨号的超链接,设置如下:

<meta name="format-detection" content="telephone=no"><!--默认开启 -->
<meta name="format-detection" content="email=no"><!-- 告诉设备不识别邮箱,点击之后不自动发送,默认开启 -->
<meta name="format-detection" content="adress=no"><!--禁止跳转至地图 -->

通知IE 以最高级别的可用模式显示内容:

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

在iPhone的浏览器中页面将以原始大小显示,不允许缩放:

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<!-- content属性值 :
     width:可视区域的宽度,值可为数字或关键词device-width
     height:同width
     intial-scale:页面首次被显示是可视区域的缩放级别,取值1.0则页面按实际尺寸显示,无任何缩放
     maximum-scale=1.0,允许用户缩放到的最大比例,1.0将禁止
     minimum-scale=1.0;允许用户缩放到的最小比例,1.0将禁止
     user-scalable:用户是否可以手动对页面进行缩放,no 禁止缩放 -->

<title>

<title>标签定义网页标题,在所有 HTML 文档中是必需的。

<style>

<style> 标签定义了HTML文档的样式文件引用地址.

在<style> 元素中也可以直接添加样式来渲染HTML文档。

<head>
<style type="text/css">
body {
    background-color:yellow;
    }
p {
    color:blue;
    }
</style>
</head>

<link>

<link> 标签定义网页与外部资源之间的关系,常用于链接到 CSS 样式表。

<link rel="stylesheet" type="text/css" href="css/common/layout.css">

<link>也可以设置网页的图标

<link rel="shortcut icon" href="图片url">

标签的语义化

  1. 什么是HTML语义化
    根据网页内容的结构(内容语义化),选择合适的html标签(代码语义化)便于开发者浏览,代码更具可读性,同时最重要的是对搜索引擎友好,让爬虫和浏览器很好地解析。

  2. 为什么要标签语义化

常用的语义化的页面结构标签

页面标题

标题(Heading)是通过 <h1> ~ <h6> 等标签进行定义的。

标题很重要
搜索引擎使用标题为网页的结构和内容编制索引。
用户可以通过标题来快速浏览您的网页,所以用标题来呈现文档结构是很重要的。

规范

页眉页脚

<header>

<header> 标签定义页面的页眉,通常网页的头部作为页眉。

<footer>

<footer> 标签定义页面的页脚,通常网页的底部作为页脚。

页面导航

<nav>

<nav> 标签定义页面导航链接集合。

<nav id="gNavi">
    <ul>
        <li><a href="#">text</a></li>
        <li><a href="#">text</a></li>
        <li><a href="#">text</a></li>
</nav>

主要区域

<main>

<main> 标签定义页面的主要内容。

==注意==:<main> 元素不能是以下元素的后代:<article>、<aside>、<footer>、<header> 或 <nav>。

对于IE浏览器11版本和低于11的版本,推荐向 <main> 元素添加 "main" 这一 ARIA 角色,以保证其可访问性。(屏幕阅读器,如 JAWS,当与较旧版本的 Internet Explorer 一起使用时,需包括此 role 属性<main role="main">才能理解 <main> 元素的语义含义)

内容区域

<article>

<article> 标签定义独立的自包含内容,像之前的conts部分。

附加区域

<aside>

<aside> 标签定义页面主内容(article/conts)之外的某些内容(比如侧栏的广告等)。

区块定义

<section>

<section> 标签定义文档中的区块。

容器DIV

<div>

文本相关

基本标签

<p>

定义文本段落

<span>

<br>

定义文本换行

描述文本

<time>

<time> 标签定义时间(或日期。

<big>

<big> 标签定义大号字体效果。

<small>

<small> 标签定义小号字体效果。

<sup>

<sup> 标签定义上标文本。

<sub>

<sub> 标签定义下标文本。

<del>

<del> 标签定义已被删除的文本。

原价 <del>200元</del> 现价 <ins>100元</ins>

<ins>

<ins> 标签定义被插入页面中的文本,与 <del> 一同使用,来描述文档中的更新和修正。

<code>

<code>标签用于显示代码块内容,一般需要代码格式化插件完成。

<progress>

<progress> 标签定义运行中的任务进度(进程)。当游览器不支持时显示内容。

<progress> 标签的属性有:

实例:正在进行中的下载,下载进度的当前值为 60。

<progress value="60" max="100">完成60%</progress>

强调文本

<strong>

<strong> 定义==语气更强==的强调的内容。

<b>

<b> 定义粗体文本。

<em>

<em> 定义强调的内容。

<i>

<i> 定义斜体字。

标签 说明
<strong>与<b> 如果仅定义文本加粗,推荐使用<strong>更具有语义化,对SEO友好。
<em>与<i> 如果仅定义文本倾斜,推荐使用<i>更具有语义化,对SEO友好。

<mark>

<mark> 标签定义带有记号的文本。

引用标签

<cite>

<cite> 标签通常表示它所包含的文本对某个参考文献的引用,比如书籍或者杂志的标题。

<blockquote>

<blockquote> 标签定义块引用。
<blockquote> 与 </blockquote> 之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。

<q>

<q> 标签定义短的引用。
用于表示行内引用文本,在大部分浏览器中会加上引号。

联系信息

<address>

用于设置联系地址等信息,一般将address 放在footer 标签中,例如:copyright。

链接与图片

链接

页面超链接

<a href="http://www.w3school.com.cn/" target="_blank" title="W3School">Visit W3School</a>

锚点链接

锚点可以设置跳转到页面中的某个部分。

<a href="#h2Ttl">跳转标题2</a>

<h2 id="h2Ttl">这是标题2</h2>

也可以跳转到其他页面的锚点

<a href="company.html#h2Ttl">跳转company页面的标题2</a>

邮箱链接

<a href="mailto:邮箱地址">邮箱地址</a>

==邮箱地址通常要加密==

加密网址:
[http://www.luft.co.jp/cgi/coding.php]

电话链接

<a href="tel:12345678">12345678</a>

图像

<img> 标签

<img src="coding.png" alt="coding"/>

<img> 标签有两个必需的属性:src 属性 和 alt 属性。

列表与多媒体

列表

有序列表

<ol> 标签定义有序列表,列表排序以数字来显示。使用 <li> 标签来定义列表选项。

<ol>
    <li>apple</li>
    <li>banana</li>
    <li>orange</li>
</ol> 

无序列表

<ul> 标签定义无序列表,列表项目以黑色圆点标记,使用 <li> 标签定义列表项目,

<ul>
    <li>apple</li>
    <li>banana</li>
    <li>orange</li>
</ul> 

定义列表

自定义列表以 <dl> 标签开始。每个自定义列表项以 <dt> 开始。每个自定义列表项的描述以 <dd> 开始。

<dl>
    <dt>2020-01-02</dt>
    <dd>news text</dd>
    <dt>2020-01-01</dt>
    <dd>news text</dd>
</dl>

多媒体

声音

<audio> 标签定义声音,比如音乐或其他音频流。
目前,<audio> 元素支持的 3 种文件格式:MP3、Wav、Ogg。

<audio> 常见属性

属性 描述
autoplay 如果出现该属性,则视频在就绪后马上播放。
preload 如果出现该属性,则视频在页面加载时进行加载,并预备播放。
如果使用 "autoplay",则忽略该属性。
如果视频观看度低可以设置为 preload="none" 不加载视频数据减少带宽。
如果设置为 preload="metadata"值将加载视频尺寸或关键针数据,目的也是减少带宽占用。
设置为preload="auto" 时表示将自动加载视频数据
controls 如果出现该属性,则向用户显示控件,比如播放按钮。
loop 如果出现该属性,则当媒介文件完成播放后再次开始播放。
muted 规定视频的音频输出应该被静音。
src 要播放的视频的 URL。
<audio controls autoplay loop preload="auto">
    <source src="/statics/demosource/horse.ogg" type="audio/ogg">
    <source src="/statics/demosource/horse.mp3" type="audio/mpeg">
  您的浏览器不支持 audio 元素。
</audio>

视频

<video> 标签定义视频,比如电影片段或其他视频流。
目前,<video> 元素支持三种视频格式:MP4、WebM、Ogg。

<video> 常见属性

属性 描述
autoplay 如果出现该属性,则视频在就绪后马上播放(需要指定类型如 type="video/mp4")。
preload 如果出现该属性,则视频在页面加载时进行加载,并预备播放。
如果使用 "autoplay",则忽略该属性。
如果视频观看度低可以设置为 preload="none" 不加载视频数据减少带宽。
如果设置为 preload="metadata"值将加载视频尺寸或关键针数据,目的也是减少带宽占用。
设置为preload="auto" 时表示将自动加载视频数据
controls 如果出现该属性,则向用户显示控件,比如播放按钮。
height 设置视频播放器的高度。
width 设置视频播放器的宽度。
poster 规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。
loop 如果出现该属性,则当媒介文件完成播放后再次开始播放。
muted 规定视频的音频输出应该被静音。
src 要播放的视频的 URL。
<video src="movie.mp4" autoplay="autoplay" loop muted controls width="800" height="200">
    <source src="movie.mp4" type="video/mp4">
    <source src="movie.ogg" type="video/ogg">
您的浏览器不支持 video 标签。
</video>

表格与表单

表格

HTML 表格由 <table> 标签来定义。

<table>
    <caption>表格标题</caption>
    <col width="20%">
    <col width="30%">
    <col width="50%">
    <thead>
        <tr>
            <th>表头1</th>
            <th>表头2</th>
            <th>表头3</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td colspan="2">合并列单元格</td>
            <td>表格单元3</td>
        </tr>
        <tr>
            <td rowspan="2">合并行单元格</td>
            <td>表格单元2</td>
            <td>表格单元3</td>
        </tr>
        <tr>
            <td>表格单元2</td>
            <td>表格单元3</td>
        </tr>
        <tr>
            <td>表格单元1</td>
            <td>表格单元2</td>
            <td>表格单元3</td>
        </tr>
    </tbody>
</table>

显示如下:

[图片上传失败...(image-99c8ec-1623318404810)]

属性 说明
<caption> 表格的标题
<colgroup> 定义表格列的组
<col> 定义表格列的属性
<thead> 表格的页眉
<tbody> 表格的主体
<tfoot> 表格的页脚
<tr>
<th> 表格的表头
<td> 表格的单元格
<td colspan="2"> 合并列单元格
<td rowspan="2"> 合并行单元格

表单

表单是服务器收集用户数据的方式。

<form> 标签用于创建供用户输入的 HTML 表单。

<form action="" method="post" class="mailForm">
    <table>
        <tbody>
            <tr>
                <th>お名前<span>*</span></th>
                <td><input type="text" value="" name="name"></td>
            </tr>
            <tr>
                <th>性別<span>*</span></th>
                <td><label>
                        <input type="radio" value="男" name="sex">
                        男</label>
                    <label>
                        <input type="radio" value="女" name="sex">
                        女</label></td>
            </tr>
            <tr>
                <th>電話番号<span>*</span></th>
                <td><input type="tel" value="" name="input_main_tp" maxlength="13"></td>
            </tr>
            <tr>
                <th>メールアドレス<span>*</span></th>
                <td><input type="email" value="" name="input_main_em"></td>
            </tr>
            <tr>
                <th>郵便番号<span>*</span></th>
                <td><input type="text" name="zip" value="" placeholder="例)451-0045(半角)" maxlength="8">
                    <input type="button" value="番号検索" name="search"></td>
            </tr>
            <tr>
                <th>住所<span>*</span></th>
                <td>都道府県:
                    <select name="area">
                        <option value="">選択してください</option>
                        <option value="北海道">北海道</option>
                        <option value="青森県">青森県</option>
                    </select>
                    市区町村:
                    <input type="text" value="" name="address"></td>
            </tr>
            <tr>
                <th>ご希望方法<span>*</span></th>
                <td><label>
                        <input type="checkbox" name="method1" value="電話">
                        電話</label>
                    <label>
                        <input type="checkbox" name="method2" value="メールアドレス">
                        メールアドレス</label></td>
            </tr>
            <tr>
                <th>お問い合わせ内容<span>*</span></th>
                <td><textarea name="content" rows="5" cols="10"></textarea></td>
            </tr>
        </tbody>
    </table>
    <ul class="submit">
        <li>
            <input type="submit" value="入力内容を確認する" name="__submit__">
        </li>
        <li>
            <input type="reset" value="リセット" name="__reset__">
        </li>
    </ul>
</form>

其他

HTML实体符号

下面是常见的 HTML 实体列表:

显示结果 描述 实体名称 实体编号
空格 &nbsp; &#160;
< 小于号 &lt; &#60;
> 大于号 &gt; &#62;
& 和号 &amp; &#38;
" 引号 &quot; &#34;
' 撇号 &apos; (IE不支持) &#39;
&cent; &#162;
£ &pound; &#163;
¥ 人民币/日元 &yen; &#165;
欧元 &euro; &#8364;
§ 小节 &sect; &#167;
© 版权 &copy; &#169;
® 注册商标 &reg; &#174;
商标 &trade; &#8482;
× 乘号 &times; &#215;
÷ 除号 &divide; &#247;

提示:虽然 HTML 不区分大小写,但实体名称对大小写敏感。

HTML 颜色

HTML 颜色由一个十六进制符号来定义,这个符号由红色、绿色和蓝色的值组成(RGB)。
每种颜色的最小值是 0(十六进制:#00),最大值是 255(十六进制:#FF)。
HTML 三种颜色 红,绿,蓝的组合从 0 到 255,一共有1600万种不同颜色(256 x 256 x 256)。

RGB 模型如下图所示
[图片上传失败...(image-db8fb7-1623318404810)]

上一篇 下一篇

猜你喜欢

热点阅读