HTML5の基本チュートリアルで共通のスキルをまとめました

PHPz
リリース: 2018-09-29 14:41:34
オリジナル
1359 人が閲覧しました

HTML5 のいくつかの新しい属性と機能により、コードがより簡潔になりました。これは常に良いことであり、この HTML5 記事が少しでも役立つことを願っています。

1. 新しい Doctype 宣言

XHTML の宣言は長すぎて、この Doctype 宣言を手動で記述できるフロントエンド開発者はほとんどいないと思います。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ログイン後にコピー

HTML5 の Doctype 宣言は非常に短いので、この宣言を見たらすぐに覚えられると思います。長くて少し異常な Doctype 宣言を覚えるのに脳細胞を無駄にする必要はありません。 XHTMLの。

<!DOCTYPE html>
ログイン後にコピー

HTML5 の短い DOCTYPE ステートメントにより、Firefox、Chrome などの最新のブラウザー、および IE6/7/8 などのブラウザーが (準) 標準モードに入ることができるようになります。実際、7 は HTML5 Doctype をサポートできます。実際、Doctype がこの形式に準拠している限り、IE は標準モードになります。

2.

タグ

<img alt="About image" src="path/to/image"> 
<h6>Image of Mars.</h6>
ログイン後にコピー

残念ながら、ここでは h6 タグを示します。 img タグとは何の関係もないようで、セマンティクスが十分に明確ではありません。 HTML5 はこれを認識し、

タグを採用しました。
タグと組み合わせて使用​​すると、h6 タグと img タグを組み合わせることができ、コードはよりセマンティックになります。


<figure> 
<img alt="About image" src="path/to/image"> 
<figcaption> 
<h6>This is an image of something interesting. </h6> 
</figcaption> 
</figure>
ログイン後にコピー
3.

を再定義します。少し前に、 に関連するサブタイトルを作成しました。ロゴ。ただし、HTML5 では、 のフォント サイズが小さくなるように再定義されています。このタグを著作権情報に使用することを検討してください。ウェブサイト。

4. Javascript タグと CSS タグの type 属性を削除しました

通常は、

に type 属性を追加します。

<link rel=stylesheet type=text/css href="path/to/stylesheet.css"> 
<script type=text/javascript src="path/to/script.js"></script>
ログイン後にコピー
HTML5 では、type 属性は少し冗長に見えるため、不要になりました。これを削除すると、コードがより簡潔になります。


<link href="path/to/stylesheet.css"> 
<script src="path/to/script.js"></script>
ログイン後にコピー

5. ダブルクォーテーションを使用するかどうか

これは少しわかりにくいですが、HTML5 は XTHML ではないため、タグ内のダブルクォーテーションは省略できます。 。私を含め、ほとんどの同志は二重引用符を追加することに慣れていると思います。二重引用符を追加すると、コードがより標準的に見えるからです。ただし、二重引用符を使用するかどうかは個人の好みによって異なります。


<h6 id=someId class=myClass> Start the reactor.</h6>
ログイン後にコピー

6. Web コンテンツを編集可能にする


<h2>To-D0 List</h2> 
<ul contenteditable> 
  <li>Break mechanical cab driver</li> 
  <li>Drive to abandoned factory</li> 
  <li>Watc</li> 
</ul>
ログイン後にコピー

7. メール入力ボックス

HMTL5 では、入力内容がメールの記述形式に準拠しているかどうかを検出できる新しいメール属性が追加されました。強力です。HTML5 が登場する前は、検出には JS のみを使用することができました。組み込みのフォーム検証は間もなく現実になりますが、多くのブラウザーはまだこの属性をサポートしておらず、通常のテキスト入力ボックスとしてのみ扱われます。


<FORM method=get> 
<LABEL for=email>Email:</LABEL> 
<INPUT id=email type=email name=email> 
<BUTTON type=submit> Submit Form </BUTTON> 
</FORM>
ログイン後にコピー
現時点では、この属性は最新のブラウザを含めてサポートされていないため、当分の間はまだ信頼できません。

8. プレースホルダー

テキスト ボックス内のプレースホルダー (このブログの検索ボックスの効果を参照) は、以前はユーザー エクスペリエンスを向上させるためにのみ役立ちました。プレースホルダー効果を実現するには JS に依存します。プレースホルダー属性プレースホルダーは HTML5 に追加されます。この属性の詳細については、ここをクリックしてください: HTML5 フォーム プレースホルダー属性。


<INPUT type=email name=email placeholder="doug@givethesepeopleair.com">
ログイン後にコピー
同様に、現在の主流の最新ブラウザはこの属性をあまりサポートしていません。現在、この属性をサポートしているのは Chrome と Safari だけであり、Firefox と Opera はこの属性をサポートしていません。

9. ローカル ストレージ

HTML5 のローカル ストレージ機能により、最新のブラウザーは「保存」することができます。 「ブラウザを閉じて更新しても、入力内容は影響を受けません。一部のブラウザではこの機能をサポートしていませんが、IE8、Safari 4、Firefox 3.5 ではこの機能をテストできます。

10. セマンティックヘッダーとフッターの詳細

次のコードは HTML5 には存在しません


<p id=header> 
... 
</p> 
<p id=footer> 
... 
</p
ログイン後にコピー
通常、ヘッダーとフッターに p を定義してから ID を追加しますが、HTML5 では
タグと
タグを直接使用できるため、上記のコードは次のように書き換えることができます。 >

<HEADER> 
... 
</HEADER> 
<FOOTER> 
... 
</FOOTER>
ログイン後にコピー

要注意不要将这两个标签和网站的头部和页脚混淆起来,它们只是代表它们的容器。

11. IE对HTML5的支持

IE浏览器目前对HTML5的支持并不好,也是阻碍HTML5的更快普及的一大绊脚石,不过,IE9对HTML5的支持度还是很不错的。

IE把HTML5新增的标签都解析成内联元素,而实际上它们是块级元素,所以有必要为它们定义一个样式:

header, footer, article, section, nav, menu, hgroup { 
display: block; 
}
ログイン後にコピー

尽管如此,IE还是不能解析这些新增的HTML5标签,这个时候就需要借助Javascript来解决这个问题:

document.createElement("article"); 
document.createElement("footer"); 
document.createElement("header"); 
document.createElement("hgroup"); 
document.createElement("nav"); 
document.createElement("menu");
ログイン後にコピー

你可以借助这一段Javascript代码来修复IE更好的解析HTML5

<SCRIPT mce_src="http://html5shim.googlecode.com/svn/trunk/html5.js"></SCRIPT> 
_fcksavedurl=""http://html5shim.googlecode.com/svn/trunk/html5.js"></SCRIPT>" 
_fcksavedurl=""http://html5shim.googlecode.com/svn/trunk/html5.js"></SCRIPT>"
ログイン後にコピー

12. 标题群( hgroup)

这个类似于第二点技巧。如果用h1和h2标签分别表示网站的名称和副标题,但这会让两个本义上密切相关的标题并没有关联起来。这个时候可以使用

标签将它们组合起来,这样代码会更有语义。

<HEADER> 
<HGROUP> 
<H1> Recall Fan Page </H1> 
<H2> Only for people who want the memory of a lifetime. </H2> 
</HGROUP> 
</HEADER>
ログイン後にコピー

13. 必填项属性

前端人员肯定做过不少表单验证的项目,其中很重要的一点就是有些输入框的内容是必须填写的,这里就需要使用Javascript来检查。在 HTML5中,新增了一个“必须填写”的属性:required。required属性有两种使用方法,第二种方法显得更有结构性,而第一种更简洁。

<input type="text" name="someInput" required> 
<input type="text" name="someInput" required="required">
ログイン後にコピー

有了这个属性,使表单的提交验证变得更简单了,看看下面简单的例子:

<from method=post> 
<label for=someInput> Your Name: </label> 
<input id=someInput type=text name=someInput placeholder="Douglas Quaid" required="required"> 
<button type=submit>Go</button> 
</form>
ログイン後にコピー

如果输入框为空,表单将无法提交成功。

14. 自动获取焦点

同样的,HTML5也不再需要Javascript来解决输入框的自动获取焦点,如果某个输入框应当被选择或是获取到输入焦点,HTML5新增了自动获取焦点属性autofocus:

<INPUT type=text name=someInput placeholder="Douglas Quaid" required="required" autofocus="autofocus">
ログイン後にコピー

autofocus也同样可以写成”autofocus=autofocus”,这样看起来标准些,这个根据自己的个人喜好而定。

15. 音频播放的支持

HTML5中提供了

<audio controls="controls" autoplay="autoplay"> 
<source src="file.ogg" _fcksavedurl=""file.ogg"" _fcksavedurl=""file.ogg"" /> 
<source src="file.mp3" /> 
<a href="file.mp3">Download this file.</a> 
</audio>
ログイン後にコピー

为什么会有两种格式的音频文件?因为Firefox和Webkit浏览器所支持的格式存在差异,Firefox只能支持.ogg文件,而 Webkit只支持.mp3的文件,解决的办法就是创建两个版本的音频文件,这样就可以兼容Firefox和Webkit的浏览器了,需要注意的是IE不 支持该标签。

16. 视频播放的支持

<video controls preload> 
<source src="cohagenPhoneCall.ogv" type="video/ogg; codecs=&#39;vorbis, theora&#39;" /> 
<source src="cohagenPhoneCall.mp4" type="video/mp4; &#39;codecs=&#39;avc1.42E01E, mp4a.40.2&#39;" /> 
<p> 
Your browser is old. 
<a href="cohagenPhoneCall.mp4"> 
Download this video instead. 
</a> 
</p> 
... 
</video>
ログイン後にコピー

需要注意的是,type属性虽然可以省略掉,但是如果加上的话,浏览器就可以更快的准确的解析该视频文件。并不是所有的浏览器都支持HTML5的视频,所以得做好使用Flash版本来代替,当然,这个决定权在于你。

17. 预加载视频

预加载属性:preload,首先要确定是否需要预先加载视频,假如,访客在访问一个有很多视频展示的页面,那么就有必要预先加载一段视频,这样可 以节省访客的等待时间,提高用户体验。你可以给

<video preload="preload"> 
... 
</video>
ログイン後にコピー

18. 显示控件

显示控件属性可以给视频添加一个播放暂停的控件,需要注意的是每个浏览器显示的效果可能会有些差异。

<video controls="controls" preload="preload"> 
... 
</video>
ログイン後にコピー

19. 使用正则表达式

在HTML5中,我们可以直接使用正则表达式。

<form method=post action=""> 
<label for=username>Create a Username: </label> 
<input id=username type=text name=username placeholder="4 <> 10" required="required" autofocus="autofocus" pattern="[A-Za-z]{4,10}"> 
<button type=submit>Go </button> 
</form>
ログイン後にコピー

20. 检测浏览器对HTML5属性的支持

由于各浏览器对HTML5属性的支持度不同,这就造成了一些兼容问题。但是可以使用方法来检测该浏览器是否支持这些属性,上例中的代码如果要检测pattern属性是否被浏览器识别,可以使用Javascript代码来检测。

alert( &#39;pattern&#39; in document.createElement(&#39;input&#39;) ) // boolean;
ログイン後にコピー

其实这是确定浏览器兼容常用的方法,jQuery库就经常使用这种方法。上面的代码中创建了一个input标签,并检测pattern属性是否被浏览器支持,如果能支持的话,浏览器就支持这个功能,否则就不支持。

<script> 
if (!&#39;pattern&#39; in document.createElement(&#39;input&#39;) ) { 
// do client/server side validation 
} 
</script>
ログイン後にコピー

21. Mark标签

标签用于高亮显示那些需要在视觉上向用户突出其重要性的文字,包裹在此标签里的字符串必须与用户当前的行为相关。

例如,如 果我在一些博客中搜索“Open your Mind” ,我可以使用在标签里使用JavaScript来包裹每一次动作。

<h3> Search Results </h3> 
<h6> They were interrupted, just after Quato said, <mark>"Open your Mind"</mark>. </h6>
ログイン後にコピー

22. 该如何正确的使用p标签 

有些人可能会有疑问,有了

等这些标签,

标签在HTML5中还有 用吗?答案是肯定的,比如你想创建一个能包裹特殊内容的容器自由灵活的

肯定是首选,而你要创建一篇文章或者一个导航菜单,建议你使 用更有语义的

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート