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選

推薦する

Tomcat の 404 エラーの解決方法の詳細な説明

Tomcat テストで 404 問題が発生します。問題は次のとおりです。 HTTP ステータス 40...

JavaScript におけるシリアル操作と並列操作

目次1. はじめに2. es5メソッド3. 非同期関数のシリアル実行4. 非同期関数の並列実行5. ...

ネイティブ js カプセル化シームレスカルーセル機能

ネイティブjsカプセル化シームレスカルーセルプラグイン、参考までに、具体的な内容は次のとおりです。例...

Vueリストレンダリングキーの原理と機能の詳細な説明

目次リストレンダリングキーの原理と機能主要原則の分析キーの役割要約するリストレンダリングキーの原理と...

HTML でシンプルな ListViews 効果を実装するためのサンプル コード

シンプルなリストビュー効果を実現するHTML結果: CSS スタイル ファイル listviewTe...

TomcatコンポーネントはWebサーバーのアーキテクチャの進化を示しています

1. tomcat とは誰ですか? 2. Tomcat は何ができますか? Tomcat は Web...

JavaScriptはクリックトグル機能を実装します

この記事の例では、クリックして切り替える機能を実装するためのJavaScriptの具体的なコードを参...

WeChatアプレットコンポーネント開発:視覚的な映画座席選択機能

目次1. はじめに1. コンポーネントデータ2. コンポーネントページのレイアウト1. ロゴエリアの...

Redux Toolkit で Redux を簡素化する方法

目次Redux Toolkitが解決する問題何が含まれていますか? Redux Toolkit AP...

MySQL マスタースレーブ構成の学習ノート

● 新しいプロジェクトのセキュリティを確保するためにクラウド データを購入する予定でした。 Alib...

Jsonフォーマットの詳細な説明

目次JSON は次の 2 つの構造に基づいて構築されます。 2. JSON形式1. オブジェクト2....

Linux で特殊文字のファイル名やディレクトリを削除する方法

inode番号でファイルを削除するまずls -iを使用して、削除するファイルのinode番号を見つけ...

HTML の基本 - CSS スタイルシート、スタイル属性、フォーマット、レイアウトの詳細

1.位置:固定一部の Web サイトの右下隅にあるポップアップ ウィンドウなどの、ブラウザーを基準と...

MySQL (5.6 以下) の JSON 解析の詳細な例

MySQL(5.6以下)はjsonを解析します #json 解析関数 DELIMITER $$ `j...

MySQL では SQL ステートメントはどのように実行されますか?

目次1. MySQLアーキテクチャの分析1.1 コネクタ1.2 クエリキャッシュ1.3 アナライザー...