HTML/CSS の基礎 - HTML コード記述におけるいくつかの注意事項 (必読)

HTML/CSS の基礎 - HTML コード記述におけるいくつかの注意事項 (必読)

この記事の警告事項は、ブラウザの互換性とはまったく関係ありません。主に、プロジェクトで遭遇したいくつかの小さな問題の要約です。問題は小さいものですが、時には非常に厄介なこともあります。ここで記録し、後でそのような問題が発生した場合には、ここに追加していきます。

1. インラインタグ間のスペース

通常、HTMLコードを書くときには、改行やインデントなどの習慣があります。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <ヘッド>   
  2.      <メタ 文字セット= "utf-8" >   
  3.      <スタイル>   
  4. html、body、div、dl、dt、dd、ul、ol、li、h1、h2、h3、h4、h5、h6、pre、code、form、fieldset、legend、input、button、textarea、p、blockquote、th、td{
  5. マージン: 0;
  6. パディング:0;
  7. }
  8. #私のDIV {
  9. 幅: 200ピクセル;
  10. 高さ: 200px;
  11. 背景色: #ff0;
  12. }
  13. #myDIV > div{
  14. 幅: 50px;
  15. 高さ: 50px;
  16. 表示: インラインブロック;
  17. 背景色: #f00;
  18. }
  19.      </スタイル>   
  20.   
  21.    </ヘッド>   
  22.    <本文>   
  23.      < div   id = "myDIV" >   
  24.        <div> div1 </div>   
  25.        <div> div2 </div>   
  26.      </div>   
  27.    </本文>   

表示効果は

真ん中に空白があります。その理由は、2 つのインライン タグの間に連続したスペース、復帰、または改行がある場合 (または display: inline または inline-block が設定されている場合)、これらの記号はデフォルトでスペース記号として扱われるためです。

たとえば、2 つの div タグの間に「ddd dd d」を追加すると、効果は次のようになります。連続する空白文字がいくつあっても、最終的な効果は 1 つのスペース文字のみになります。

これは、インライン要素に文字を直接書き込むのに似ています。

ただし、インライン要素では先頭と末尾の空白が削除されます

したがって、注意すべき点は次のとおりです。

インライン要素を配置するときに、タグ間の空白を避ける必要がある場合は、タグを近づけておく必要があります。

インライン要素のコンテンツを入力するときは、.innerText または .textContent を使用するようにしてください (Firefox は innerText をサポートしていませんが、このプロパティはサポートしています)。

HTML コード内に空白を記述する必要がある場合は、HTML のスペース表現方法を使用してください。

この時点で、インライン要素について誤解している人もいると思います。いわゆるインラインは、いわゆる「ブロック」の反対です。インライン要素はブロックを形成しません。障害物の周りを流れる水のように感じられます。例えばソースコード

XML/HTML コードコンテンツをクリップボードにコピー
  1. < div   id = "myDIV" >   
  2.        < div > div1 </ div > ddd dd d < div > div2 </ div >   
  3.        < span > d dd d </ span >   
  4.      </div>   

表示効果

span 内のコンテンツは 2 つのセクションに分割されており、完全なブロックではなくなりました。

2. bodyタグのデフォルトの余白境界

これについては何も言うことはありません。最新のブラウザ (CSS3 をサポート) と IE8 には、デフォルトの CSS スタイル マージン (本体に 8px) があります。他のタグも同様なので、ここでは例は挙げません。多くの場合、これは必要なく、一般的なプロジェクト スタイルの開始時に同様の設定が必要になります。

XML/HTML コードコンテンツをクリップボードにコピー
  1. html、body、div、dl、dt、dd、ul、ol、li、h1、h2、h3、h4、h5、h6、pre、code、form、fieldset、legend、input、button、textarea、p、blockquote、th、td{
  2. マージン: 0;
  3. パディング:0;
  4. }

3. 特殊な空白文字により表示異常が発生する

例えば、次のソースコードには問題はないようです

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!DOCTYPE html >   
  2. <html>   
  3.    <ヘッド>   
  4.      <メタ 文字セット= "utf-8" >   
  5.      <スタイル>   
  6. html、body、div、dl、dt、dd、ul、ol、li、h1、h2、h3、h4、h5、h6、pre、code、form、fieldset、legend、input、button、textarea、p、blockquote、th、td{
  7. マージン: 0;
  8. パディング:0;
  9. }
  10. *{
  11. -webkit-box-sizing: 境界線ボックス;
  12. -moz-box-sizing: 境界線ボックス;
  13. ボックスのサイズ: 境界線ボックス;
  14. }
  15. #私のDIV {
  16. 幅: 200ピクセル;
  17. 高さ: 40px;
  18. 背景色: #ff0;
  19. }
  20. #myDIV{
  21. フロート: 左;
  22. 幅: 200ピクセル;
  23. 背景色: #f00;
  24. }
  25.      </スタイル>   
  26.   
  27.    </ヘッド>   
  28.    <本文>   
  29.      < div  クラス= "タブ可能"   id = "タブ"  スタイル= "border:none;" >   
  30.        <!-- ページタグリスト -->   
  31.        < div   id = "myDIV"  スタイル= "" >   
  32.        <  データトグル= "タブ"   href = "#タブコンテンツ0"   >テスト0 </ a >   
  33.        </div>   
  34.      </div>   
  35.    </本文>   
  36. </html>   

実際には、aタグの前に異常な空白文字があり、表示効果は次のようになります。

a の幅と #myDIV の幅は同じであるはずなのに、a はフローティングになっているのに、表示効果がラップされています。これはあまりにもクレイジーですよね。

通常の表示効果は

この異常な空白が何なのか見てみましょう。

最初のものは異常なスペースであり、そのURIコンポーネントは「%E3%80%80」としてエンコードされます。

2番目は通常のスペースで、URIコンポーネントは「%20」としてエンコードされます。

3 番目は通常の Tab キーで、URI コンポーネントは「%20%20%20%20」としてエンコードされます。これは実際には 4 つのスペースです。

見えますよ。そのため、ウェブサイトにコピーされたコードの実行に異常が生じるのは、この理由による場合もあります。

続く。あとで他の点が思いついたら追加します。また、関連する点をいくつか挙げていただければ、必ず追加させていただきます。

上記記事「HTML/CSS 基礎 - HTML コード作成プロセスにおけるいくつかの注意点 (必読)」は、編集者が皆さんと共有する内容のすべてです。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

オリジナル URL: http://www.cnblogs.com/chuaWeb/p/5053644.html

<<:  LinuxでIPアドレスが表示されない問題の解決方法

>>:  有名ウェブサイトのロゴにおすすめのフォント40選

推薦する

HTML ドキュメントに CSS を埋め込む一般的な 3 つの方法

HTMLでCSSを定義するには、埋め込み、リンク、インラインの3つの方法が一般的に使用されます。 1...

ウェブサイトのテキストはまだデザインする必要がありますか?

多くの人が、ウェブサイト上のテキストはデザインする必要があるのか​​と疑問に思うかもしれません。多く...

MySQL での mysqladmin 日常管理コマンドの概要 (必読)

mysqladmin ツールの使用形式は次のとおりです。 mysqladmin [オプション] コ...

vmware workstation12 インストール CentOS プロンプト VMware Player と Device/Credential Guard に互換性がない、理由と解決策

最新バージョンの WIN10 では、Microsoft は仮想化コンテナに基づくセキュリティ メカニ...

Vue でのテキストエリア適応高さソリューションの実装

目次隠れた問題適応高さのソリューションまず解決策を提示してください。Vueスタックが必要な学生はvu...

Spring jdbc のデータベース操作オブジェクト モデルの詳細な例

Spring jdbc のデータベース操作オブジェクト モデルの詳細な例Spring Jdbc デー...

フロントエンドJavaScriptは関数のカリー化を完全に理解している

目次1. カレーとは何か2. カレーの用途3. カリー化ユーティリティ関数をカプセル化する方法 1....

ユーザーはその理由を知る必要がある

証券会社にいた頃、設計業務が忙しくなかったため、商品のマニュアルを書く役割を担ったことがありました。...

MySQLでデータテーブルを作成するときにエンジンMyISAM/InnoDBを設定する

mysql を構成するときに、構成ファイル内のデフォルトのストレージ エンジンを InnoDB に設...

JavaScript ベースのランダム点呼システムの実装

この記事では、ランダムロールコーラーを実装するためのJavaScriptの具体的なコードを参考までに...

画像とテキストでHTTPヘッダーのあらゆる側面を理解する

HTTPヘッダーとはHTTP は「Hypertext Transfer Protocol」の略です。...

Nginx の一般的な設定とテクニックの概要

序文この記事では、Nginx の一般的な、実用的で興味深い構成をいくつか紹介します。この記事を読んだ...

HTML テーブルのオーバーフローの解決方法

テーブルが広い場合は、あふれてしまう可能性があります。たとえば、左と右の 2 つの div がありま...

CSS フォント、テキスト、リストのプロパティの詳細な紹介

1. フォントのプロパティcolorは、div{color:red;}のようにテキストの色を指定しま...