722 lines
495 KiB
HTML
722 lines
495 KiB
HTML
|
<!DOCTYPE html>
|
|||
|
<html><head><title>HTML</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="HTML"/><meta property="og:description" content="HTML 超文本标记语言."/><meta property="og:image" content="https://wiki.7wate.com/static/og-image.png"/><meta property="og:width" content="1200"/><meta property="og:height" content="675"/><link rel="icon" href="../../../static/icon.png"/><meta name="description" content="HTML 超文本标记语言."/><meta name="generator" content="Quartz"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><script async src="https://umami.7wate.com/script.js" data-website-id="c061efdc-95dd-4d21-9d04-a1ffda0a85b9"></script><script>
|
|||
|
var _hmt = _hmt || [];
|
|||
|
(function() {
|
|||
|
var hm = document.createElement("script");
|
|||
|
hm.src = "https://hm.baidu.com/hm.js?94d8ccb156eb7c65abf317e6e01cdba9";
|
|||
|
var s = document.getElementsByTagName("script")[0];
|
|||
|
s.parentNode.insertBefore(hm, s);
|
|||
|
})();
|
|||
|
</script><script async src="https://www.googletagmanager.com/gtag/js?id=G-MHMEL0F832"></script><script>
|
|||
|
(function() {
|
|||
|
window.dataLayer = window.dataLayer || [];
|
|||
|
function gtag() {
|
|||
|
window.dataLayer.push(arguments);
|
|||
|
}
|
|||
|
gtag('js', new Date());
|
|||
|
gtag('config', 'G-MHMEL0F832');
|
|||
|
})();
|
|||
|
</script><link href="../../../index.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://fonts.googleapis.com/css2?family=IBM Plex Mono&family=Schibsted Grotesk:wght@400;700&family=Source Sans Pro:ital,wght@0,400;0,600;1,400;1,600&display=swap" rel="stylesheet" type="text/css" spa-preserve/><script src="../../../prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch(`../../../static/contentIndex.json`).then(data => data.json())</script></head><body data-slug="Work/full-stack/基础/HTML"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><h1 class="page-title "><a href="../../..">📚 X·Eden</a></h1><div class="spacer mobile-only"></div><div class="search "><div id="search-icon"><p>Search</p><div></div><svg tabIndex="0" aria-labelledby="title desc" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title id="title">Search</title><desc id="desc">Search</desc><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></div><div id="search-container"><div id="search-space"><input autocomplete="off" id="search-bar" name="search" type="text" aria-label="Search for something" placeholder="Search for something"/><div id="results-container"></div></div></div></div><div class="darkmode "><input class="toggle" id="darkmode-toggle" type="checkbox" tabIndex="-1"/><label id="toggle-label-light" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35;" xmlSpace="preserve"><title>Light mode</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6 C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9 c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06 L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z M28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2 C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-0.439-1.061L28.561,26.439z M17.5,29 c-0.829,0-1.5,0.672-1.5,1.5v3c0,0.828,0.671,1.5,1.5,1.5s1.5-0.672,1.5-1.5v-3C19,29.672,18.329,29,17.5,29z M17.5,7 C11.71,7,7,11.71,7,17.5S11.71,28,17.5,28S28,23.29,28,17.5S23.29,7,17.5,7z M17.5,25c-4.136,0-7.5-3.364-7.5-7.5 c0-4.136,3.364-7.5,7.5-7.5c4.136,0,7.5,3.364,7.5,7.5C25,21.636,21.636,25,17.5,25z"></path></svg></label><label id="toggle-label-dark" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="nightIcon" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background='new 0 0 100 100'" xmlSpace="preserve"><title>Dark mode</title><path d="M96.76,66.458c-0.853-0.852-2.15-1.064-3.23-0.534c-6.063,2.991-12.858,4.571-19.655,4.571 C62.022,70.495,50.88,65.88,42.5,57.5C29.043,44.043,25.658,23.536,34.076,6.47c0.532-1.08,0.318-2.379-0.534-3.23 c-0.851-0.852-2.15-1.064-3.23-0.534c-4.918,2.427-9.375,5.619-13.246,9.491c-9.447,9.447-14.65,22.008-14.65,35.369 c0,13.36,5.203,25.921,14.65,
|
|||
|
<h2 id="html">HTML<a aria-hidden="true" tabindex="-1" href="#html" class="internal"> §</a></h2>
|
|||
|
<p>HTML 是用来描述网页的一种语言,它不是一种编程语言,而是一种标记语言。它由一系列的元素或标签组成,这些标签可以告诉浏览器如何呈现内容。<strong>HTML 构成了网页的骨架。</strong></p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><!</span><span style="color:var(--shiki-token-string-expression);">DOCTYPE</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">html</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">html</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">lang</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"zh"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">head</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">charset</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"UTF-8"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"viewport"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">content</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"width=device-width, initial-scale=1.0"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">title</span><span style="color:var(--shiki-color-text);">>Document Title</</span><span style="color:var(--shiki-token-string-expression);">title</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"><!-- CSS Stylesheet link --></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">link</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">rel</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"stylesheet"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">href</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"styles.css"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">head</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">body</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">header</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"><!-- Navigation links, logo, etc. --></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">header</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">main</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"><!-- Main content goes here --></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">main</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">footer</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"><!-- Footer content goes here --></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">footer</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line> </span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"><!-- JavaScript file link --></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">script</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">src</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"script.js"</span><span style="color:var(--shiki-color-text);">></</span><span style="color:var(--shiki-token-string-expression);">script</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">body</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">html</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<ol>
|
|||
|
<li><code><!DOCTYPE html></code>: 声明 HTML5 文档。</li>
|
|||
|
<li><code><html lang="zh"></code>: HTML 的根元素,语言设为中文。</li>
|
|||
|
<li><code><head></code>: 文档头部,包含元信息。</li>
|
|||
|
<li><code><meta charset="UTF-8"></code>: 设定 UTF-8 字符编码。</li>
|
|||
|
<li><code><meta name="viewport" content="width=device-width, initial-scale=1.0"></code>: 适应移动设备的视口设置。</li>
|
|||
|
<li><code><title>Document Title</title></code>: 设置文档标题。</li>
|
|||
|
<li><code><link rel="stylesheet" href="styles.css"></code>: 链接外部 CSS 样式表。</li>
|
|||
|
<li><code><body></code>: 文档主体,包含可见内容。</li>
|
|||
|
<li><code><header></code>, <code><main></code>, <code><footer></code>: 分别为页眉、主内容、页脚的 HTML5 语义元素。</li>
|
|||
|
<li><code><script src="script.js"></script></code>: 链接外部 JavaScript 文件。</li>
|
|||
|
</ol>
|
|||
|
<h3 id="元信息">元信息<a aria-hidden="true" tabindex="-1" href="#元信息" class="internal"> §</a></h3>
|
|||
|
<p>**HTML 的元信息(metadata)是关于 HTML 文档的数据,它们不会显示给用户,而是提供给浏览器和搜索引擎。**元信息通常在 HTML 文档的 <code><head></code> 部分定义。</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><!</span><span style="color:var(--shiki-token-string-expression);">DOCTYPE</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">html</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">html</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">lang</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"zh"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">head</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">charset</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"UTF-8"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"author"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">content</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"John Doe"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"viewport"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">content</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"width=device-width, initial-scale=1.0"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">title</span><span style="color:var(--shiki-color-text);">>网页的标题,这在浏览器的标签页中显示,并被搜索引擎用于索引页面。</</span><span style="color:var(--shiki-token-string-expression);">title</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"description"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">content</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"Page description. No longer than 155 characters."</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"keywords"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">content</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"your, tags"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">link</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">rel</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"icon"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">href</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"favicon.ico"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">type</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"image/x-icon"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">link</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">rel</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"stylesheet"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">href</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"styles.css"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">script</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">src</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"script.js"</span><span style="color:var(--shiki-color-text);">></</span><span style="color:var(--shiki-token-string-expression);">script</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">http-equiv</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"refresh"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">content</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"30"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">meta</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"robots"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">content</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"noindex, nofollow"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">link</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">rel</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"canonical"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">href</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"http://example.com/"</span><span style="color:var(--shiki-color-text);">/></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">head</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">body</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);"><!-- 主要内容在这里 --></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">body</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">html</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<ol>
|
|||
|
<li><strong><code><meta charset="UTF-8"></code></strong>: 这定义了文档的字符编码。常用的字符编码是 UTF-8,因为它包含了大多数已知的字符和符号。</li>
|
|||
|
<li><strong><code><meta name="author" content="John Doe"></code></strong>: 这个 <code><meta></code> 标签定义了网页的作者。</li>
|
|||
|
<li><strong><code><title></code></strong>: 网页的标题,这在浏览器的标签页中显示,并被搜索引擎用于索引页面。</li>
|
|||
|
<li><strong><code><meta name="viewport" content="width=device-width, initial-scale=1.0"></code></strong>: 这是移动端优化的元标签。它让网页的宽度等于设备的宽度,初始缩放比例为 1。</li>
|
|||
|
<li><strong><code><meta name="description" content="Page description. No longer than 155 characters."></code></strong>: 这提供了页面的简洁描述,这在搜索引擎结果页 (SERP) 中显示,可以提高页面的可点率(CTR)。</li>
|
|||
|
<li><strong><code><meta name="keywords" content="your, tags"></code></strong>: 这定义了网页的关键词。虽然现在搜索引擎很少使用这个元标签,但在 SEO 中还是有一些应用。</li>
|
|||
|
<li><strong><code><link rel="icon" href="favicon.ico" type="image/x-icon"></code></strong>: 这个 <code><link></code> 标签定义了网站的 favicon(收藏夹图标)。它在浏览器的标签页或地址栏中显示,也可以在用户的书签中显示。</li>
|
|||
|
<li><strong><code><link rel="stylesheet" href="styles.css"></code></strong>: 这链接了一个外部的 CSS 文件。虽然 <code><link></code> 标签不是 <code><meta></code>,但它在 <code><head></code> 中定义,也提供了一些元信息。</li>
|
|||
|
<li><strong><code><script src="script.js"></script></code></strong>: 这链接了一个外部的 JavaScript 文件。与 <code><link></code> 标签类似,<code><script></code> 标签也提供了一些元信息。</li>
|
|||
|
<li><strong><code><meta http-equiv="refresh" content="30"></code></strong>: 这可以让页面在特定的时间后自动刷新。在这个例子中,页面会在 30 秒后自动刷新。</li>
|
|||
|
<li><strong><code><meta name="robots" content="noindex, nofollow"></code></strong>: 这可以控制搜索引擎爬虫的行为。在这个例子中,“noindex” 告诉爬虫不要索引这个页面,“nofollow” 告诉爬虫不要追踪页面上的链接。</li>
|
|||
|
<li><strong><code><link rel="canonical" href="http://example.com/"/></code></strong>: 这告诉搜索引擎此页面是其 URL 的最佳表现形式,用于防止重复内容问题。</li>
|
|||
|
</ol>
|
|||
|
<p>这些是 HTML 元信息的一些常见形式,但还有更多的可能性。一般情况下,你应该根据你的<strong>需要选择合适的元信息来优化网站的性能和搜索引擎优化(SEO)。</strong></p>
|
|||
|
<h3 id="基础标签">基础标签<a aria-hidden="true" tabindex="-1" href="#基础标签" class="internal"> §</a></h3>
|
|||
|
<p>HTML 文档的基础是由各种标签组成,这些标签定义了网页的不同部分。</p>
|
|||
|
<p><img src="https://static.7wate.com/img/2023/10/13/707fac8d60c90.png" alt="grumpy-cat-small.png"/></p>
|
|||
|
<p>主要部分有:</p>
|
|||
|
<ul>
|
|||
|
<li><strong>开始标签(Opening tag)</strong>:包含元素的名称(本例为 p),被左、右角括号所包围。开头标签标志着元素开始或开始生效的地方。在这个示例中,它在段落文本的开始之前。</li>
|
|||
|
<li><strong>内容(Content)</strong>:元素的内容,本例中就是段落的文本。</li>
|
|||
|
<li><strong>结束标签(Closing tag)</strong>:与开始标签相似,只是其在元素名之前包含了一个斜杠。这标志着该元素的结束。没有包含关闭标签是一个常见的初学者错误,它可能会产生奇特的结果。</li>
|
|||
|
</ul>
|
|||
|
<p>以下是一些最常见和重要的 HTML 标签:</p>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<table><thead><tr><th align="left">标签</th><th align="left">描述</th></tr></thead><tbody><tr><td align="left"><code><html></code></td><td align="left">定义 HTML 文档</td></tr><tr><td align="left"><code><head></code></td><td align="left">包含元数据/头部数据</td></tr><tr><td align="left"><code><title></code></td><td align="left">定义文档的标题</td></tr><tr><td align="left"><code><body></code></td><td align="left">定义文档的主体</td></tr><tr><td align="left"><code><h1></code> 到 <code><h6></code></td><td align="left">定义标题</td></tr><tr><td align="left"><code><p></code></td><td align="left">定义段落</td></tr><tr><td align="left"><code><br></code></td><td align="left">插入换行符</td></tr><tr><td align="left"><code><hr></code></td><td align="left">定义主题之间的切换(水平线)</td></tr><tr><td align="left"><code><!--...--></code></td><td align="left">定义注释</td></tr><tr><td align="left"><code><a></code></td><td align="left">定义超链接</td></tr><tr><td align="left"><code><img></code></td><td align="left">定义图像</td></tr><tr><td align="left"><code><table></code></td><td align="left">定义表格</td></tr><tr><td align="left"><code><tr></code></td><td align="left">定义表格行</td></tr><tr><td align="left"><code><th></code></td><td align="left">定义表格标题</td></tr><tr><td align="left"><code><td></code></td><td align="left">定义表格单元格</td></tr><tr><td align="left"><code><caption></code></td><td align="left">定义表格标题</td></tr><tr><td align="left"><code><thead></code></td><td align="left">定义表格头部分组</td></tr><tr><td align="left"><code><tbody></code></td><td align="left">定义表格主体分组</td></tr><tr><td align="left"><code><tfoot></code></td><td align="left">定义表格脚部分组</td></tr><tr><td align="left"><code><div></code></td><td align="left">定义文档中的节</td></tr><tr><td align="left"><code><span></code></td><td align="left">定义文档中的行内元素</td></tr></tbody></table>
|
|||
|
<h4 id="属性">属性<a aria-hidden="true" tabindex="-1" href="#属性" class="internal"> §</a></h4>
|
|||
|
<p>HTML 属性是 HTML 元素提供的附加信息。它们定义了元素的一些特性或行为,或者包含了元素的可用数据。</p>
|
|||
|
<p><img src="https://static.7wate.com/img/2023/10/13/28f67550b8e32.png" alt="grumpy-cat-attribute-small.png"/></p>
|
|||
|
<p>属性总是在 HTML 元素的开始标签中指定,通常是以 <code>name="value"</code> 的形式出现。这里的 <code>class</code> 是属性名,<code>editor-note</code> 是属性值。</p>
|
|||
|
<p>属性必须包含:</p>
|
|||
|
<ul>
|
|||
|
<li><strong>空格</strong>:它在属性和元素名称之间。如果一个元素具有多个属性,则每个属性之间必须由空格分隔。</li>
|
|||
|
<li><strong>名称</strong>:后面跟着一个等于号。</li>
|
|||
|
<li><strong>属性值</strong>:由一对引号("")引起来。</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<table><thead><tr><th>属性</th><th>描述</th><th>常用在的标签</th></tr></thead><tbody><tr><td>class</td><td>定义元素的一种或多种类名</td><td>所有标签</td></tr><tr><td>id</td><td>为元素定义唯一的 ID</td><td>所有标签</td></tr><tr><td>style</td><td>为元素定义内联 CSS 样式</td><td>所有标签</td></tr><tr><td>src</td><td>定义引用的资源 URL</td><td><code><img></code>, <code><script></code>, <code><iframe></code>, <code><source></code>, <code><audio></code>, <code><video></code></td></tr><tr><td>alt</td><td>定义图像的替代文本</td><td><code><img></code></td></tr><tr><td>width 和 height</td><td>定义元素的宽度和高度</td><td><code><img></code>, <code><canvas></code>, <code><iframe></code>, <code><video></code>, <code><object></code></td></tr><tr><td>href</td><td>定义链接的 URL</td><td><code><a></code>, <code><link></code>, <code><base></code>, <code><area></code></td></tr><tr><td>target</td><td>定义链接打开的位置</td><td><code><a></code>, <code><base></code>, <code><form></code></td></tr><tr><td>disabled</td><td>定义元素为禁用状态</td><td><code><button></code>, <code><fieldset></code>, <code><input></code>, <code><optgroup></code>, <code><option></code>, <code><select></code>, <code><textarea></code></td></tr><tr><td>placeholder</td><td>定义输入字段的占位符文本</td><td><code><input></code>, <code><textarea></code></td></tr><tr><td>value</td><td>定义元素的值</td><td><code><button></code>, <code><option></code>, <code><input></code>, <code><li></code>, <code><meter></code>, <code><progress></code>, <code><param></code></td></tr><tr><td>checked</td><td>定义单选按钮或复选框是否被选中</td><td><code><input></code></td></tr><tr><td>selected</td><td>定义选项是否被选中</td><td><code><option></code></td></tr><tr><td>readonly</td><td>定义输入元素为只读</td><td><code><input></code>, <code><textarea></code></td></tr><tr><td>maxlength</td><td>定义输入元素的最大长度</td><td><code><input></code>, <code><textarea></code></td></tr><tr><td>rel</td><td>定义当前文档与链接文档的关系</td><td><code><a></code>, <code><link></code>, <code><area></code>, <code><form></code></td></tr><tr><td>type</td><td>定义元素的类型</td><td><code><button></code>, <code><input></code>, <code><command></code>, <code><embed></code>, <code><object></code>, <code><script></code>, <code><source></code>, <code><style></code>, <code><menu></code></td></tr></tbody></table>
|
|||
|
<h3 id="表单与输入">表单与输入<a aria-hidden="true" tabindex="-1" href="#表单与输入" class="internal"> §</a></h3>
|
|||
|
<p>在 HTML 中,表单是一个包含表单元素的区域。表单元素是允许用户在表单中输入内容,如文本字段,选择框,单选框,复选框等。</p>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<table><thead><tr><th align="left">标签</th><th align="left">描述</th></tr></thead><tbody><tr><td align="left"><code><form></code></td><td align="left">定义 HTML 表单</td></tr><tr><td align="left"><code><input></code></td><td align="left">定义输入控制。HTML5 引入了一些新的输入类型,如 <code>color</code>, <code>date</code>, <code>datetime-local</code>, <code>email</code>, <code>month</code>, <code>number</code>, <code>range</code>, <code>search</code>, <code>tel</code>, <code>time</code>, <code>url</code>, <code>week</code></td></tr><tr><td align="left"><code><textarea></code></td><td align="left">定义多行文本输入控制</td></tr><tr><td align="left"><code><button></code></td><td align="left">定义点击按钮</td></tr><tr><td align="left"><code><select></code></td><td align="left">定义下拉列表</td></tr><tr><td align="left"><code><optgroup></code></td><td align="left">定义下拉列表中的选项组</td></tr><tr><td align="left"><code><option></code></td><td align="left">定义下拉列表中的选项</td></tr><tr><td align="left"><code><label></code></td><td align="left">定义 <code>input</code>, <code>meter</code>, <code>progress</code>, <code>select</code>, <code>textarea</code> 元素的标签</td></tr><tr><td align="left"><code><fieldset></code></td><td align="left">定义表单中的一组相关元素</td></tr><tr><td align="left"><code><legend></code></td><td align="left">定义 <code>fieldset</code> 元素的标题</td></tr><tr><td align="left"><code><datalist></code></td><td align="left">定义 <code>input</code> 元素的预定义选项列表</td></tr><tr><td align="left"><code><output></code></td><td align="left">定义计算结果</td></tr><tr><td align="left"><code><progress></code></td><td align="left">定义进度(进度条)</td></tr><tr><td align="left"><code><meter></code></td><td align="left">定义度量衡。仅用于已知最大和最小值的度量,如磁盘使用、查询结果的相关性等</td></tr></tbody></table>
|
|||
|
<h3 id="html5-新特性">HTML5 新特性<a aria-hidden="true" tabindex="-1" href="#html5-新特性" class="internal"> §</a></h3>
|
|||
|
<p>HTML5 是 HTML 的最新演进,它引入了一系列新的元素和属性,以反映现代网站设计和开发的实践。</p>
|
|||
|
<h4 id="语义元素">语义元素<a aria-hidden="true" tabindex="-1" href="#语义元素" class="internal"> §</a></h4>
|
|||
|
<p>HTML5 引入了一系列新的语义元素,以更准确地描述内容。例如,<code><article></code>,<code><section></code>,<code><nav></code>,<code><header></code>,<code><footer></code>,<code><aside></code>,<code><figure></code>,<code><figcaption></code> 等。</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">article</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">header</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">h2</span><span style="color:var(--shiki-color-text);">>Article Title</</span><span style="color:var(--shiki-token-string-expression);">h2</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">p</span><span style="color:var(--shiki-color-text);">>Posted on <</span><span style="color:var(--shiki-token-string-expression);">time</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">datetime</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"2023-10-13"</span><span style="color:var(--shiki-color-text);">>October 13, 2023</</span><span style="color:var(--shiki-token-string-expression);">time</span><span style="color:var(--shiki-color-text);">></</span><span style="color:var(--shiki-token-string-expression);">p</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">header</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">p</span><span style="color:var(--shiki-color-text);">>This is the article content.</</span><span style="color:var(--shiki-token-string-expression);">p</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">footer</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">p</span><span style="color:var(--shiki-color-text);">>Author: John Doe</</span><span style="color:var(--shiki-token-string-expression);">p</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">footer</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">article</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<h4 id="图形和多媒体元素">图形和多媒体元素<a aria-hidden="true" tabindex="-1" href="#图形和多媒体元素" class="internal"> §</a></h4>
|
|||
|
<p>HTML5 引入了新的元素来支持图形和多媒体,包括 <code><canvas></code> 用于绘制图形,<code><svg></code> 用于定义可缩放向量图形,以及 <code><video></code> 和 <code><audio></code> 用于在网页上播放视频和音频。</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">canvas</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">id</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"myCanvas"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">width</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"200"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">height</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"100"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">style</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"border:1px solid #000000;"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">canvas</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line> </span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">video</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">width</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"320"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">height</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"240"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">controls</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">source</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">src</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"movie.mp4"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">type</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"video/mp4"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">source</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">src</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"movie.ogg"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">type</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"video/ogg"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> Your browser does not support the video tag.</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">video</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<h4 id="表单控件">表单控件<a aria-hidden="true" tabindex="-1" href="#表单控件" class="internal"> §</a></h4>
|
|||
|
<p>HTML5 为表单输入引入了新的元素类型,如 <code>color</code>,<code>date</code>,<code>email</code>,<code>number</code>,<code>range</code>,<code>search</code>,<code>tel</code>,<code>time</code> 等。还引入了新的表单元素,如 <code><datalist></code> 和 <code><output></code>。</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">input</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">type</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"number"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"quantity"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">min</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"1"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">max</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"10"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line> </span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">input</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">list</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"browsers"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"browser"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">datalist</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">id</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"browsers"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">option</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">value</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"Internet Explorer"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">option</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">value</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"Firefox"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">option</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">value</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"Chrome"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">option</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">value</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"Opera"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">option</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">value</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"Safari"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">datalist</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<h4 id="web-apis">Web APIs<a aria-hidden="true" tabindex="-1" href="#web-apis" class="internal"> §</a></h4>
|
|||
|
<p>HTML5 引入了一系列新的 JavaScript APIs,如 Geolocation API,Drag and Drop API,Local Storage API,等等。这些 API 使网页可以与用户设备进行更深层次的交互。</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="javascript" data-theme="default"><code data-language="javascript" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);">// Geolocation API</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-constant);">navigator</span><span style="color:var(--shiki-token-function);">.</span><span style="color:var(--shiki-token-constant);">geolocation</span><span style="color:var(--shiki-token-function);">.getCurrentPosition</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-keyword);">function</span><span style="color:var(--shiki-color-text);">(position) {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">console</span><span style="color:var(--shiki-token-function);">.log</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"Latitude: "</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">+</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">position</span><span style="color:var(--shiki-color-text);">.</span><span style="color:var(--shiki-token-constant);">coords</span><span style="color:var(--shiki-color-text);">.latitude </span><span style="color:var(--shiki-token-keyword);">+</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">", Longitude: "</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">+</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">position</span><span style="color:var(--shiki-color-text);">.</span><span style="color:var(--shiki-token-constant);">coords</span><span style="color:var(--shiki-color-text);">.longitude);</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);">});</span></span>
|
|||
|
<span data-line> </span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-comment);">// Local Storage API</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-constant);">localStorage</span><span style="color:var(--shiki-token-function);">.setItem</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"name"</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"John Doe"</span><span style="color:var(--shiki-color-text);">);</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-constant);">console</span><span style="color:var(--shiki-token-function);">.log</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-constant);">localStorage</span><span style="color:var(--shiki-token-function);">.getItem</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"name"</span><span style="color:var(--shiki-color-text);">));</span></span></code></pre></div>
|
|||
|
<h4 id="web-socket">Web Socket<a aria-hidden="true" tabindex="-1" href="#web-socket" class="internal"> §</a></h4>
|
|||
|
<p>Web Socket 是一种协议,它提供了全双工通信的能力,使得服务器能够实时地向客户端推送数据。</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="javascript" data-theme="default"><code data-language="javascript" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">var</span><span style="color:var(--shiki-color-text);"> socket </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">new</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">WebSocket</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"ws://localhost:8080"</span><span style="color:var(--shiki-color-text);">);</span></span>
|
|||
|
<span data-line> </span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-constant);">socket</span><span style="color:var(--shiki-color-text);">.</span><span style="color:var(--shiki-token-function);">onopen</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">function</span><span style="color:var(--shiki-color-text);">(event) {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">socket</span><span style="color:var(--shiki-token-function);">.send</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"Hello Server"</span><span style="color:var(--shiki-color-text);">);</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);">};</span></span>
|
|||
|
<span data-line> </span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-constant);">socket</span><span style="color:var(--shiki-color-text);">.</span><span style="color:var(--shiki-token-function);">onmessage</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">function</span><span style="color:var(--shiki-color-text);">(event) {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">console</span><span style="color:var(--shiki-token-function);">.log</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"Message from server: "</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">event</span><span style="color:var(--shiki-color-text);">.data);</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);">};</span></span></code></pre></div>
|
|||
|
<h4 id="web-workers">Web Workers<a aria-hidden="true" tabindex="-1" href="#web-workers" class="internal"> §</a></h4>
|
|||
|
<p>Web Workers 允许开发者在后台,独立于主执行线程运行脚本。这样可以在不影响用户界面的情况下执行复杂的计算任务。</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="javascript" data-theme="default"><code data-language="javascript" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);">var</span><span style="color:var(--shiki-color-text);"> worker </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">new</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">Worker</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"worker.js"</span><span style="color:var(--shiki-color-text);">);</span></span>
|
|||
|
<span data-line> </span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-constant);">worker</span><span style="color:var(--shiki-color-text);">.</span><span style="color:var(--shiki-token-function);">onmessage</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">function</span><span style="color:var(--shiki-color-text);">(event) {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">console</span><span style="color:var(--shiki-token-function);">.log</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"Received: "</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">+</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">event</span><span style="color:var(--shiki-color-text);">.data);</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);">};</span></span>
|
|||
|
<span data-line> </span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-constant);">worker</span><span style="color:var(--shiki-token-function);">.postMessage</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"Hello Worker"</span><span style="color:var(--shiki-color-text);">);</span></span></code></pre></div>
|
|||
|
<h4 id="离线存储">离线存储<a aria-hidden="true" tabindex="-1" href="#离线存储" class="internal"> §</a></h4>
|
|||
|
<p>HTML5 引入了应用程序缓存(AppCache)和本地存储(localStorage 和 sessionStorage),使得网页可以在离线状态下工作,以及保存用户数据在本地。</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="java" data-theme="default"><code data-language="java" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);">// Check if a new cache is available on page load.</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-constant);">window</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-function);">addEventListener</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">'load'</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">function(e)</span><span style="color:var(--shiki-color-text);"> {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">window</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">applicationCache</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-function);">addEventListener</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">'updateready'</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">function(e)</span><span style="color:var(--shiki-color-text);"> {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> (</span><span style="color:var(--shiki-token-constant);">window</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">applicationCache</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">status</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">window</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">applicationCache</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">UPDATEREADY</span><span style="color:var(--shiki-color-text);">) {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);">// Browser downloaded a new app cache.</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> (</span><span style="color:var(--shiki-token-function);">confirm(</span><span style="color:var(--shiki-token-string-expression);">'A new version of this site is available. Load it?'</span><span style="color:var(--shiki-token-function);">)</span><span style="color:var(--shiki-color-text);">) {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">window</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-constant);">location</span><span style="color:var(--shiki-token-punctuation);">.</span><span style="color:var(--shiki-token-function);">reload</span><span style="color:var(--shiki-color-text);">();</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> }</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> } </span><span style="color:var(--shiki-token-keyword);">else</span><span style="color:var(--shiki-color-text);"> {</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-comment);">// Manifest didn't change. Nothing new to server.</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> }</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> }</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">false</span><span style="color:var(--shiki-color-text);">);</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);">}</span><span style="color:var(--shiki-token-punctuation);">,</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">false</span><span style="color:var(--shiki-color-text);">);</span></span></code></pre></div>
|
|||
|
<h2 id="文档架构">文档架构<a aria-hidden="true" tabindex="-1" href="#文档架构" class="internal"> §</a></h2>
|
|||
|
<h3 id="基本组成">基本组成<a aria-hidden="true" tabindex="-1" href="#基本组成" class="internal"> §</a></h3>
|
|||
|
<p>HTML(超文本标记语言)是用于构建网页的标准标记语言,它使用一系列的标签(或元素)来描述和组织内容。</p>
|
|||
|
<p>HTML 文档的基本结构通常包含以下几个主要部分:</p>
|
|||
|
<ul>
|
|||
|
<li><strong>页眉(Header)</strong>:通常位于整个页面的顶部,包含网站的主要标题和/或标志。它是网站的核心信息,通常在所有页面上都存在。</li>
|
|||
|
<li><strong>导航栏(Navigation Bar)</strong>:导航栏包含指向网站各个主要区域的超链接。它通常以菜单按钮、链接或标签页的形式呈现。导航栏在设计上通常要保持一致,出现在所有页面上,以帮助用户导航网站。有些人将导航栏视为页眉的一部分,而另一些人认为导航栏是一个独立的组件。</li>
|
|||
|
<li><strong>主内容区域(Main Content)</strong>:主内容区域是页面的中心部分,包含当前页面的大部分独有内容,如文章、视频、地图、新闻等。主内容区域是网站的核心部分,不同页面的主内容会有所不同。</li>
|
|||
|
<li><strong>侧边栏(Sidebar)</strong>:侧边栏通常位于主内容区域旁边,包含一些附加信息、链接、引用、广告等。侧边栏通常与主内容相关,例如在新闻页面上,侧边栏可能包含作者信息或相关文章链接。侧边栏还可以包含其他重复元素,如辅助导航系统。</li>
|
|||
|
<li><strong>页脚(Footer)</strong>:页脚位于页面底部,通常是一个横跨页面的窄条区域。类似于页眉,页脚包含一些公共信息,如版权声明或联系方式。通常使用较小的字体,内容相对次要。页脚还可以提供快速访问链接,以改善网站的搜索引擎优化(SEO)。</li>
|
|||
|
</ul>
|
|||
|
<p>一个<strong>典型的网站</strong>可能会这样布局:</p>
|
|||
|
<p><img src="https://static.7wate.com/img/2023/10/13/345ddbff25c21.png" alt="sample-website.png"/></p>
|
|||
|
<h3 id="布局细节">布局细节<a aria-hidden="true" tabindex="-1" href="#布局细节" class="internal"> §</a></h3>
|
|||
|
<p>在进行网页布局时,有一些关键的细节需要考虑。以下是一些常见的布局细节,可以帮助你创建具有良好用户体验和吸引力的网页布局。</p>
|
|||
|
<ul>
|
|||
|
<li>
|
|||
|
<p>**响应式设计:**确保你的网页能够适应不同屏幕尺寸和设备类型。使用 CSS 媒体查询和弹性布局来实现响应式设计,以便在桌面电脑、平板电脑和移动设备上都能提供良好的用户体验。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>**网格布局:**使用网格系统来创建整齐的网页布局。将页面划分为网格列和行,以便在不同屏幕尺寸上灵活地排列和对齐内容。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>**盒子模型:**了解 CSS 盒子模型的概念,包括内容区域、填充、边框和外边距。正确地设置和管理盒子模型属性可以影响元素的大小、间距和布局。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>**流动布局:**使用流动布局使元素按照自然流动方式排列。避免使用固定宽度和高度,而是使用百分比或自适应单位来设置元素的尺寸。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>**定位:**使用 CSS 定位属性(如相对定位、绝对定位和固定定位)来精确控制元素在页面中的位置。这可以用于创建重叠效果、浮动元素或固定位置的元素。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>**色彩和对比度:**选择适合你网站主题和品牌的配色方案。确保文本和背景之间有足够的对比度,以确保可读性和可访问性。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>**导航设计:**设计易于使用的导航菜单,使用户能够轻松浏览网站的不同部分。考虑使用清晰的标签、下拉菜单或面包屑导航等。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>**空白和间距:**合理利用空白和间距来提高页面的可读性和视觉吸引力。避免内容过于拥挤,给元素之间留出适当的空间。</p>
|
|||
|
</li>
|
|||
|
<li>
|
|||
|
<p>**图片和媒体布局:**对于包含图片、视频或其他媒体的网页,考虑使用适当的布局和对齐方式来展示这些媒体内容。</p>
|
|||
|
</li>
|
|||
|
</ul>
|
|||
|
<h2 id="多媒体嵌入">多媒体嵌入<a aria-hidden="true" tabindex="-1" href="#多媒体嵌入" class="internal"> §</a></h2>
|
|||
|
<h3 id="视频">视频<a aria-hidden="true" tabindex="-1" href="#视频" class="internal"> §</a></h3>
|
|||
|
<p><code><video></code> 元素用于在网页上嵌入视频内容。以下是一个简单的例子:</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-color-text);">video width=</span><span style="color:var(--shiki-token-string-expression);">"320"</span><span style="color:var(--shiki-color-text);"> height=</span><span style="color:var(--shiki-token-string-expression);">"240"</span><span style="color:var(--shiki-color-text);"> controls</span><span style="color:var(--shiki-token-keyword);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-function);">source</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">src=</span><span style="color:var(--shiki-token-string-expression);">"movie.mp4"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">type=</span><span style="color:var(--shiki-token-string-expression);">"video/mp4"</span><span style="color:var(--shiki-token-keyword);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-function);">source</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">src=</span><span style="color:var(--shiki-token-string-expression);">"movie.ogg"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">type=</span><span style="color:var(--shiki-token-string-expression);">"video/ogg"</span><span style="color:var(--shiki-token-keyword);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">您的浏览器不支持</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">Video</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">标签。</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-color-text);">/video</span><span style="color:var(--shiki-token-keyword);">></span></span></code></pre></div>
|
|||
|
<p>在上面的例子中,<code><video></code> 标签内部的 <code><source></code> 标签用于指定视频源文件。支持多个 <code><source></code> 标签,这样如果浏览器不支持第一个视频格式,它将尝试下一个。<strong>您的浏览器不支持 Video 标签</strong>将在所有指定的源都不被支持的情况下显示。</p>
|
|||
|
<p><code><video></code> 标签的常用属性包括:</p>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<table><thead><tr><th align="left">属性</th><th align="left">描述</th><th align="left">示例</th></tr></thead><tbody><tr><td align="left"><code>controls</code></td><td align="left">为视频提供播放、暂停和音量控制按钮</td><td align="left"><code><video src="movie.mp4" controls></code></td></tr><tr><td align="left"><code>autoplay</code></td><td align="left">视频就绪后立即开始播放。注意,因为用户体验的问题,一些浏览器可能会忽略这个属性</td><td align="left"><code><video src="movie.mp4" autoplay></code></td></tr><tr><td align="left"><code>loop</code></td><td align="left">视频播放结束后从头开始</td><td align="left"><code><video src="movie.mp4" loop></code></td></tr><tr><td align="left"><code>muted</code></td><td align="left">将视频的声音默认设置为静音</td><td align="left"><code><video src="movie.mp4" muted></code></td></tr><tr><td align="left"><code>poster</code></td><td align="left">在视频下载期间或用户在点击播放按钮之前,显示一个图像。图像的 URL 在 <code>poster</code> 属性中指定</td><td align="left"><code><video src="movie.mp4" poster="poster.jpg"></code></td></tr><tr><td align="left"><code>preload</code></td><td align="left">规定页面加载后立即加载视频。可以设置为 “auto”、“metadata” 或 “none”</td><td align="left"><code><video src="movie.mp4" preload="auto"></code></td></tr><tr><td align="left"><code>width</code> 和 <code>height</code></td><td align="left">定义视频播放器的高度和宽度</td><td align="left"><code><video src="movie.mp4" width="320" height="240"></code></td></tr><tr><td align="left"><code>src</code></td><td align="left">规定媒介源的 URL</td><td align="left"><code><video src="movie.mp4"></code></td></tr></tbody></table>
|
|||
|
<h3 id="音频">音频<a aria-hidden="true" tabindex="-1" href="#音频" class="internal"> §</a></h3>
|
|||
|
<p><code><audio></code> 元素用于在网页上嵌入音频内容。语法和 <code><video></code> 类似:</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">audio</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">controls</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">source</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">src</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"audio.mp3"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">type</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"audio/mpeg"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">source</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">src</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"audio.ogg"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">type</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"audio/ogg"</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> 您的浏览器不支持Audio标签。</span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">audio</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<p><code><audio></code> 标签的常用属性也包括 controls、autoplay、loop 和 muted 等。</p>
|
|||
|
<h3 id="iframe">Iframe<a aria-hidden="true" tabindex="-1" href="#iframe" class="internal"> §</a></h3>
|
|||
|
<p><code><iframe></code> 是一个 HTML 标签,它允许我们在当前的 HTML 文档中嵌入另一个 HTML 文档。<code><iframe></code> 标签通常被用于嵌入来自不同源的内容,例如嵌入 Google 地图,YouTube 视频,或者其他网站的页面。</p>
|
|||
|
<p>例如通过 <code><iframe></code> 标签嵌入 YouTube 视频:</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">iframe</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">width</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"560"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">height</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"315"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">src</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"https://www.youtube.com/embed/dQw4w9WgXcQ"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">frameborder</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"0"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">allow</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">allowfullscreen</span><span style="color:var(--shiki-color-text);">></</span><span style="color:var(--shiki-token-string-expression);">iframe</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<p><code><iframe></code> 标签支持多种属性,包括:</p>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<table><thead><tr><th align="left">属性名</th><th align="left">描述</th><th align="left">示例</th></tr></thead><tbody><tr><td align="left"><code>src</code></td><td align="left">规定在 <code><iframe></code> 中显示的文档的 URL</td><td align="left"><code><iframe src="https://www.example.com"></code></td></tr><tr><td align="left"><code>height</code> 和 <code>width</code></td><td align="left">规定 <code><iframe></code> 的高度和宽度,单位可以是像素(px)或百分比(%)</td><td align="left"><code><iframe src="demo.html" height="200" width="300"></code></td></tr><tr><td align="left"><code>frameborder</code></td><td align="left">规定是否显示 <code><iframe></code> 的边框。在 HTML5 中,这个属性已经废弃,应使用 CSS 来控制边框</td><td align="left"><code><iframe src="demo.html" frameborder="0"></code></td></tr><tr><td align="left"><code>sandbox</code></td><td align="left">允许对于 <code><iframe></code> 中内容的一些限制,如阻止脚本执行,限制表单提交等</td><td align="left"><code><iframe src="demo.html" sandbox></code></td></tr><tr><td align="left"><code>allowfullscreen</code></td><td align="left">允许 <code><iframe></code> 的内容全屏显示,这对于嵌入视频特别有用</td><td align="left"><code><iframe src="video.html" allowfullscreen></code></td></tr></tbody></table>
|
|||
|
<h3 id="兼容性">兼容性<a aria-hidden="true" tabindex="-1" href="#兼容性" class="internal"> §</a></h3>
|
|||
|
<p>要注意的是,不是所有浏览器都支持所有视频或音频格式。例如,MP4 主要由 IE,Safari 和 Chrome 支持,而 Firefox 和 Opera 主要支持 Ogg 和 WebM 。因此,为了获得最佳的跨浏览器兼容性,通常需要提供多种格式的源文件。</p>
|
|||
|
<p>总的来说,<code><video></code>、<code><audio></code> 和 <code><iframe></code> 标签在现代浏览器中都有良好的兼容性。但是,考虑到一些用户可能仍然使用老版本的浏览器,我们需要在使用这些标签的时候提供合适的备选方案。</p>
|
|||
|
<h2 id="html-表格">HTML 表格<a aria-hidden="true" tabindex="-1" href="#html-表格" class="internal"> §</a></h2>
|
|||
|
<p>HTML 数据表格用于在网页上显示二维数据。它由 <code><table></code>、<code><tr></code>、<code><td></code> 和 <code><th></code> 等标签组成。以下是一个基本的 HTML 表格结构:</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">table</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">th</span><span style="color:var(--shiki-color-text);">>标题1</</span><span style="color:var(--shiki-token-string-expression);">th</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">th</span><span style="color:var(--shiki-color-text);">>标题2</</span><span style="color:var(--shiki-token-string-expression);">th</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">>数据1</</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">>数据2</</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">table</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<p>在上述代码中:</p>
|
|||
|
<ul>
|
|||
|
<li><code><table></code> 标签定义了一个表格。</li>
|
|||
|
<li><code><tr></code> 标签定义了一个表格行。</li>
|
|||
|
<li><code><th></code> 标签定义了一个表头单元格,通常用于显示列的标题。<code><th></code> 中的内容默认会被加粗并居中显示。</li>
|
|||
|
<li><code><td></code> 标签定义了一个表格数据单元格,用于显示数据。</li>
|
|||
|
</ul>
|
|||
|
<p>HTML 表格还支持一些更高级的特性,例如:</p>
|
|||
|
<ul>
|
|||
|
<li><code><thead></code>、<code><tbody></code> 和 <code><tfoot></code>:用于对表格内容进行分组,有助于提高可访问性,并可以用于应用特定的样式。</li>
|
|||
|
<li><code>colspan</code> 和 <code>rowspan</code> 属性:用于定义单元格可以横跨的列数和行数。</li>
|
|||
|
<li><code><caption></code>:为表格提供标题或摘要。</li>
|
|||
|
</ul>
|
|||
|
<p>以下是一个使用了这些高级特性的表格示例:</p>
|
|||
|
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="html" data-theme="default"><code data-language="html" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);"><</span><span style="color:var(--shiki-token-string-expression);">table</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">caption</span><span style="color:var(--shiki-color-text);">>2019 年销售数据</</span><span style="color:var(--shiki-token-string-expression);">caption</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">thead</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">th</span><span style="color:var(--shiki-color-text);">>季度</</span><span style="color:var(--shiki-token-string-expression);">th</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">th</span><span style="color:var(--shiki-color-text);">>销售额</</span><span style="color:var(--shiki-token-string-expression);">th</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">thead</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">tbody</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">>第一季度</</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">>$200,000</</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">>第二季度</</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">>$250,000</</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">tbody</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">tfoot</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> <</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">colspan</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"2"</span><span style="color:var(--shiki-color-text);">>总计:$450,000</</span><span style="color:var(--shiki-token-string-expression);">td</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">tr</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"> </</span><span style="color:var(--shiki-token-string-expression);">tfoot</span><span style="color:var(--shiki-color-text);">></span></span>
|
|||
|
<span data-line><span style="color:var(--shiki-color-text);"></</span><span style="color:var(--shiki-token-string-expression);">table</span><span style="color:var(--shiki-color-text);">></span></span></code></pre></div>
|
|||
|
<p>在这个例子中,<code><caption></code> 提供了表格的标题,<code><thead></code>、<code><tbody></code> 和 <code><tfoot></code> 将表格内容进行了分组,<code>colspan</code> 属性使得总计行可以横跨两列。</p>
|
|||
|
<p>需要注意的是,**虽然 HTML 表格非常适合用于显示二维数据,但是不应该用于页面布局。**使用 CSS 布局技术(如 Flexbox 或 Grid)可以更好地控制页面布局,同时也能提高页面的可访问性和响应式设计的能力。</p></article></div><div class="right sidebar"><div class="graph "><h3>Graph View</h3><div class="graph-outer"><div id="graph-container" data-cfg="{"drag":true,"zoom":true,"depth":1,"scale":1.1,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}"></div><svg version="1.1" id="global-graph-icon" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xmlSpace="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
|
|||
|
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
|
|||
|
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
|
|||
|
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
|
|||
|
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
|
|||
|
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
|
|||
|
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
|
|||
|
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
|
|||
|
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
|
|||
|
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
|
|||
|
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></div><div id="global-graph-outer"><div id="global-graph-container" data-cfg="{"drag":true,"zoom":true,"depth":-1,"scale":0.9,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}"></div></div></div><div class="toc desktop-only"><button type="button" id="toc" class><h3>Table of Contents</h3><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="toc-content"><ul class="overflow"><li class="depth-0"><a href="#html" data-for="html">HTML</a></li><li class="depth-1"><a href="#元信息" data-for="元信息">元信息</a></li><li class="depth-1"><a href="#基础标签" data-for="基础标签">基础标签</a></li><li class="depth-1"><a href="#表单与输入" data-for="表单与输入">表单与输入</a></li><li class="depth-1"><a href="#html5-新特性" data-for="html5-新特性">HTML5 新特性</a></li><li class="depth-0"><a href="#文档架构" data-for="文档架构">文档架构</a></li><li class="depth-1"><a href="#基本组成" data-for="基本组成">基本组成</a></li><li class="depth-1"><a href="#布局细节" data-for="布局细节">布局细节</a></li><li class="depth-0"><a href="#多媒体嵌入" data-for="多媒体嵌入">多媒体嵌入</a></li><li class="depth-1"><a href="#视频" data-for="视频">视频</a></li><li class="depth-1"><a href="#音频" data-for="音频">音频</a></li><li class="depth-1"><a href="#iframe" data-for="iframe">Iframe</a></li><li class="depth-1"><a href="#兼容性" data-for="兼容性">兼容性</a></li><li class="depth-0"><a href="#html-表格" data-for="html-表格">HTML 表格</a></li></ul></div></div><div class="backlinks "><h3>Backlinks</h3><ul class="overflow"><li>No backlinks found</li></ul></div><div class="explorer mobile-only"><button type="button" id="explorer" data-behavior="collapse" data-collapsed="collapsed" data-savestate="true" data-tree="[{"path":"Basics","collapsed":true},{"path":"Basics/english","collapsed":true},{"path":"Blog","collapsed":true},{"path":"Book","collapsed":true},{"path":"Book/个人成长","collapsed":true},{"path":"Book/医学健康","collapsed":true},{"path":"Book/历史","collapsed":true},{"path":"Book/哲学宗教","collapsed":true},{"path":"Book/心理","collapsed":true},{"path":"Book/政治军事","collapsed":true},{"path":"Book/教育学习","collapsed":true},{"path":"Book/文学","collapsed":true},{"path":"Book/生活百科","collapsed":true},{"path":"Book/社会文化","collapsed":true},{"path":"Book/科学技术","collapsed":true},{"path":"Book/经济理财","collapsed":true},{"path":"Book/艺术","collapsed":true},{"path":"Book/计算机","collapsed":true},{"path":"Company","collapsed":true},{"path":"Company/信息化","collapsed":true},{"path":"Company/信息化/规范","collapsed":true},{"path":"Culture","collapsed":true},{"path":"Government","collapsed":true},{"path":"Government/中国","collapsed":true},{"path":&q
|
|||
|
function toggleCallout() {
|
|||
|
const outerBlock = this.parentElement;
|
|||
|
outerBlock.classList.toggle(`is-collapsed`);
|
|||
|
const collapsed = outerBlock.classList.contains(`is-collapsed`);
|
|||
|
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight;
|
|||
|
outerBlock.style.maxHeight = height + `px`;
|
|||
|
let current = outerBlock;
|
|||
|
let parent = outerBlock.parentElement;
|
|||
|
while (parent) {
|
|||
|
if (!parent.classList.contains(`callout`)) {
|
|||
|
return;
|
|||
|
}
|
|||
|
const collapsed2 = parent.classList.contains(`is-collapsed`);
|
|||
|
const height2 = collapsed2 ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight;
|
|||
|
parent.style.maxHeight = height2 + `px`;
|
|||
|
current = parent;
|
|||
|
parent = parent.parentElement;
|
|||
|
}
|
|||
|
}
|
|||
|
function setupCallout() {
|
|||
|
const collapsible = document.getElementsByClassName(
|
|||
|
`callout is-collapsible`
|
|||
|
);
|
|||
|
for (const div of collapsible) {
|
|||
|
const title = div.firstElementChild;
|
|||
|
if (title) {
|
|||
|
title.removeEventListener(`click`, toggleCallout);
|
|||
|
title.addEventListener(`click`, toggleCallout);
|
|||
|
const collapsed = div.classList.contains(`is-collapsed`);
|
|||
|
const height = collapsed ? title.scrollHeight : div.scrollHeight;
|
|||
|
div.style.maxHeight = height + `px`;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
document.addEventListener(`nav`, setupCallout);
|
|||
|
window.addEventListener(`resize`, setupCallout);
|
|||
|
</script><script type="module">
|
|||
|
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs';
|
|||
|
const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark'
|
|||
|
mermaid.initialize({
|
|||
|
startOnLoad: false,
|
|||
|
securityLevel: 'loose',
|
|||
|
theme: darkMode ? 'dark' : 'default'
|
|||
|
});
|
|||
|
document.addEventListener('nav', async () => {
|
|||
|
await mermaid.run({
|
|||
|
querySelector: '.mermaid'
|
|||
|
})
|
|||
|
});
|
|||
|
</script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/copy-tex.min.js" type="application/javascript"></script><script src="../../../postscript.js" type="module"></script></html>
|