医道探索侠 發表於 2023-2-25 16:04:54

HTML5中一些酷炫又有趣的新特性代码整理汇总

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">一、详情标签</a></li><li><a href="#_label1">二、内容可编辑</a></li><li><a href="#_label2">三、地图</a></li><li><a href="#_label3">四、标记内容</a></li><li><a href="#_label4">五、data-* 属性</a></li><li><a href="#_label5">六、输出标签</a></li><li><a href="#_label6">七、数据列表</a></li><li><a href="#_label7">八、范围(滑块)</a></li><li><a href="#_label8">九、Meter</a></li><li><a href="#_label9">十、Inputs</a></li><ul class="second_class_ul"><li><a href="#_lab2_9_0">必需的</a></li><li><a href="#_lab2_9_1">自动对焦</a></li><li><a href="#_lab2_9_2">使用正则表达式验证</a></li><li><a href="#_lab2_9_3">颜色选择器</a></li></ul></ul></div><p>HTML5 是 <strong>HyperText Markup Language 5 的缩写,</strong>HTML5技术结合了HTML4.01的相关标准并革新,符合现代网络发展要求,在2008年正式发布。HTML5 由不同的技术构成,其在互联网中得到了非常广泛的应用,提供更多增强网络应用的标准机。与传统的技术相比,HTML5 的语法特征更加明显,并且结合了SVG的内容。</p>
<p>HTML5并非仅仅用来表示Web内容,它将 Web带入一个成熟的应用平台,在HTML5平台上,视频、音频、图象、动画,以及同电脑的交互都被标准化。</p>
<p>HTML5自初始版本(2008 年 1 月)以来,我们一直在使用它的几个功能。再次查看HTML5 功能列表。发现一些功能过去用得不多,但现在发现它们很有用。</p>
<p class="maodian"><a name="_label0"></a></p><h2>一、详情标签</h2>
<p>该<code>&lt;details&gt;</code>标签向用户提供按需详细信息。如果您需要按需向用户显示内容,请使用此标签。默认情况下,小部件是关闭的。打开时,它会展开并显示其中的内容。</p>
<p>该<code>&lt;summary&gt;</code>标签用于<code>&lt;details&gt;</code>为它指定一个可见的标题。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;details&gt;
   &lt;summary&gt;Click Here to get the user details&lt;/summary&gt;
            &lt;table&gt;
                &lt;tr&gt;
                  &lt;th&gt;#&lt;/th&gt;
                  &lt;th&gt;Name&lt;/th&gt;
                  &lt;th&gt;Location&lt;/th&gt;
                  &lt;th&gt;Job&lt;/th&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                  &lt;td&gt;1&lt;/td&gt;
                  &lt;td&gt;Adam&lt;/td&gt;
                  &lt;td&gt;Huston&lt;/td&gt;
                  &lt;td&gt;UI/UX&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                  &lt;td&gt;2&lt;/td&gt;
                  &lt;td&gt;Bob&lt;/td&gt;
                  &lt;td&gt;London&lt;/td&gt;
                  &lt;td&gt;Machine Learning&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                  &lt;td&gt;3&lt;/td&gt;
                  &lt;td&gt;Jack&lt;/td&gt;
                  &lt;td&gt;Australia&lt;/td&gt;
                  &lt;td&gt;UI Designer&lt;/td&gt;
                &lt;/tr&gt;
                &lt;tr&gt;
                  &lt;td&gt;4&lt;/td&gt;
                  &lt;td&gt;Tapas&lt;/td&gt;
                  &lt;td&gt;India&lt;/td&gt;
                  &lt;td&gt;Blogger&lt;/td&gt;
                &lt;/tr&gt;
            &lt;/table&gt;
      &lt;/details&gt;
</pre></div>
<p class="maodian"><a name="_label1"></a></p><h2>二、内容可编辑</h2>
<p>contenteditable是可以在元素上设置以使内容可编辑的属性。它适用于 DIV、P、UL 等元素。您必须指定它,例如,&lt;element contenteditable=&quot;true|false&quot;&gt;。</p>
<p>注意: 当contenteditable元素上没有设置属性时,它将从其父元素继承。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;h2&gt; Shoppping List(Content Editable) &lt;/h2&gt;
&lt;ul class="content-editable" contenteditable="true"&gt;
   &lt;li&gt; 1. Milk &lt;/li&gt;
   &lt;li&gt; 2. Bread &lt;/li&gt;
   &lt;li&gt; 3. Honey &lt;/li&gt;
&lt;/ul&gt;
</pre></div>
<p class="maodian"><a name="_label2"></a></p><h2>三、地图</h2>
<p>该<code>&lt;map&gt;</code>标签有助于定义图像映射。图像映射是其中包含一个或多个可点击区域的图像。地图标签带有一个<code>&lt;area&gt;</code>标签来确定可点击区域。可点击区域可以是这些形状、矩形、圆形或多边形区域之一。如果您不指定任何形状,它会考虑整个图像。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;div&gt;
    &lt;img src="circus.jpg" width="500" height="500" alt="Circus" usemap="#circusmap"&gt;

    &lt;map name="circusmap"&gt;
      &lt;area shape="rect" coords="67,114,207,254" href="elephant.htm" rel="external nofollow" &gt;
      &lt;area shape="rect" coords="222,141,318, 256" href="lion.htm" rel="external nofollow" &gt;
      &lt;area shape="rect" coords="343,111,455, 267" href="horse.htm" rel="external nofollow" &gt;
      &lt;area shape="rect" coords="35,328,143,500" href="clown.htm" rel="external nofollow"rel="external nofollow" &gt;
      &lt;area shape="circle" coords="426,409,100" href="clown.htm" rel="external nofollow"rel="external nofollow" &gt;
    &lt;/map&gt;
&lt;/div&gt;
</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>四、标记内容</h2>
<p>使用<code>&lt;mark&gt;</code>标签突出显示任何文本内容。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;p&gt; 你知道吗,你可以仅使用 HTML 标签 &lt;mark&gt;"突出显示有趣的东西"&lt;/mark&gt;&lt;/p&gt;
</pre></div>
<p><strong>使用 css 更改高亮颜色</strong></p>
<div class="jb51code"><pre class="brush:css;">mark {
background-color: green;
color: #FFFFFF;
}
</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>五、data-* 属性</h2>
<p>这些data-*属性用于存储页面或应用程序私有的自定义数据。存储的数据可用于 JavaScript 代码以创建进一步的用户体验。</p>
<blockquote><p>data-* 属性由两部分组成:</p>
<p>属性名称不应包含任何大写字母,并且必须在前缀&ldquo;data-&rdquo;之后至少长一个字符<br />属性值可以是任何字符串</p></blockquote>
<div class="jb51code"><pre class="brush:xhtml;">&lt;h2&gt; Know data attribute &lt;/h2&gt;
&lt;div
       class="data-attribute"
       id="data-attr"
       data-custom-attr="You are just Awesome!"&gt;
   I have a hidden secret!
&lt;/div&gt;

&lt;button onclick="reveal()"&gt;Reveal&lt;/button&gt;
&lt;p id="msg"&gt;&lt;/p&gt;
&lt;script&gt;
function reveal() {
   let dataDiv = document.getElementById('data-attr');
   let value = dataDiv.dataset['customAttr'];
   //使用getAttribute()它们的完整 HTML 名称(即 data-custom-attr),
   //但标准定义了一种更简单的方法:使用dataset属性。
   document.getElementById('msg').innerHTML = `&lt;mark&gt;${value}&lt;/mark&gt;`;
}
&lt;/script&gt;</pre></div>
<p class="maodian"><a name="_label5"></a></p><h2>六、输出标签</h2>
<p><code>&lt;output&gt;</code>标签表示的运算的结果。通常,此元素定义将用于显示某些计算的文本输出的区域。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;form oninput="x.value=parseInt(a.value) * parseInt(b.value)"&gt;
   &lt;input type="number" id="a" value="0"&gt;
   * &lt;input type="number" id="b" value="0"&gt;
   = &lt;output name="x" for="a b"&gt;&lt;/output&gt;
&lt;/form&gt;
</pre></div>
<p class="maodian"><a name="_label6"></a></p><h2>七、数据列表</h2>
<p><code>&lt;datalist&gt;</code>标签指定了一个预定义选项列表,并允许用户向其中添加更多选项。它提供了一项autocomplete功能,允许您通过预先输入获得所需的选项。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;form action="" method="get"&gt;
    &lt;label for="fruit"&gt;Choose your fruit from the list:&lt;/label&gt;
    &lt;input list="fruits" name="fruit" id="fruit"&gt;
      &lt;datalist id="fruits"&gt;
         &lt;option value="Apple"&gt;
         &lt;option value="Orange"&gt;
         &lt;option value="Banana"&gt;
         &lt;option value="Mango"&gt;
         &lt;option value="Avacado"&gt;
      &lt;/datalist&gt;
   &lt;input type="submit"&gt;
&lt;/form&gt;
</pre></div>
<p class="maodian"><a name="_label7"></a></p><h2>八、范围(滑块)</h2>
<p><code>range</code>是给定滑块类型范围选择器的输入类型。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;form method="post"&gt;
    &lt;input
         type="range"
         name="range"
         min="0"
         max="100"
         step="1"
         value=""
         onchange="changeValue(event)"/&gt;
&lt;/form&gt;
&lt;div class="range"&gt;
      &lt;output id="output" name="result"&gt;&lt;/output&gt;
&lt;/div&gt;
</pre></div>
<p class="maodian"><a name="_label8"></a></p><h2>九、Meter</h2>
<p>使用<code>&lt;meter&gt;</code>标签测量给定范围内的数据。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;label for="home"&gt;/home/atapas&lt;/label&gt;
&lt;meter id="home" value="4" min="0" max="10"&gt;2 out of 10&lt;/meter&gt;&lt;br&gt;

&lt;label for="root"&gt;/root&lt;/label&gt;
&lt;meter id="root" value="0.6"&gt;60%&lt;/meter&gt;&lt;br&gt;
</pre></div>
<blockquote><p><strong>提示不要将<code>&lt;meter&gt;</code>标签用于进度指示器类型的用户体验。我们有来自 HTML5的<code>&lt;Progress&gt;</code>标签。</strong></p></blockquote>
<div class="jb51code"><pre class="brush:xhtml;">&lt;label for="file"&gt;Downloading progress:&lt;/label&gt;
&lt;progress id="file" value="32" max="100"&gt; 32% &lt;/progress&gt;
</pre></div>
<p class="maodian"><a name="_label9"></a></p><h2>十、Inputs</h2>
<p>这部分是我们最熟悉的输入类型的用法,如文本、密码等。输入类型的特殊用法很少</p>
<p class="maodian"><a name="_lab2_9_0"></a></p><h3>必需的</h3>
<p>将输入字段标记为必填字段。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;input type="text" id="username1" name="username" required&gt;
</pre></div>
<p class="maodian"><a name="_lab2_9_1"></a></p><h3>自动对焦</h3>
<p>通过将光标放在输入元素上自动提供焦点。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;input type="text" id="username2" name="username"autofocus&gt;
</pre></div>
<p class="maodian"><a name="_lab2_9_2"></a></p><h3>使用正则表达式验证</h3>
<p>您可以使用正则表达式指定模式来验证输入。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;input type="password"
            name="password"
            id="password"
            placeholder="6-20 chars, at least 1 digit, 1 uppercase and one lowercase letter"
            pattern="^(?=.*\d)(?=.*)(?=.*).{6,20}$"&gt;
</pre></div>
<p class="maodian"><a name="_lab2_9_3"></a></p><h3>颜色选择器</h3>
<p>一个简单的颜色选择器。</p>
<div class="jb51code"><pre class="brush:xhtml;">&lt;input type="color" onchange="showColor(event)"&gt;
&lt;p id="colorMe"&gt;Color Me!&lt;/p&gt;
</pre></div>
頁: [1]
查看完整版本: HTML5中一些酷炫又有趣的新特性代码整理汇总