。ボックス モデルは主に、コンテンツ、パディング、ボーダー、マージンの 4 つの領域を定義します。上で説明したサンプル レイヤーは典型的なボックスです。初心者にとっては、margin、background-color、background-image、padding、content、border のレベル、関係、相互影響について混乱することがよくあります。ここにボックス モデルの 3D 概略図を示します。理解しやすく、覚えやすいと思います。
3. 補助画像はすべて背景付きで処理する必要があります
XHTML+CSS レイアウトを使用するのは、最初は慣れない技術であると言うべきです。従来のテーブル レイアウト、つまり、すべての補助画像はすべて背景を使用して行われます。次のようなもの:
次のステップは、実際にレイアウトをデザインすることです。従来の方法と同様に、まず頭の中に大まかなアイデアがあり、それを Photoshop を使用して描きます。 Web 標準は構造とコンテンツに重点を置いているため、Web 標準に関連するほとんどの Web サイトは非常にシンプルであることがわかります。実際、Web ページのレイアウトは自由にデザインできます。従来のテーブルメソッドを使用して実装することもできます。テクノロジーには成熟の過程があります。DIV を TABLE と同じツールとして考えてください。使い方はあなたの想像力次第です。
注: 実際のアプリケーションでは、背景色の定義など、いくつかの場所では DIV はテーブルほど便利ではありません。しかし、何事にも得と損があり、選択はあなたの価値判断によって決まります。さて、早速始めましょう:
1. レイアウトを決定します
w3cn の初期設計スケッチは次のとおりです:
#footer{ CLEAR: both; MARGIN: 0px 0px 0px 0px; PADDING: 5px 0px 5px 0px; BACKGROUND: #ccd2de; HEIGHT: 40px; WIDTH: 580px; }。
这个例子的页面主要代码如下:
特定のスタイルシートは、対応するセクションに記述されています。重要な点は、#mainbox レイヤーが #menu、#sidebar、#content の 3 つのレイヤーにネストされていることです。 #content のコンテンツが増えると、 #content の高さが増加し、 #mainbox の高さも拡張され、 #footer レイヤーは自動的に下に移動します。これにより、高度な適応性が実現されます。
#menu と #content がページの右側「FLOAT: right;」にフローティングし、#sidebar が #menu レイヤーの左側「FLOAT: left;」にフローティングしていることにも注目してください。はフローティング方式の位置決めであり、絶対位置決めを使用してこの効果を実現できます。
この方法のもう 1 つの問題は、#sidebar の背景を 100% 正確にできないことです。一般的な解決策は、ボディの背景色で塗りつぶすことです。 (Mozilla などのブラウザでは #mainbox の背景色が無効のため、#mainbox の背景色は使用できません。)
4. CSS2 ボックスモデルの 3D 図
などのレイアウトの配置はボックス モデルの仕様に従います。ボックス モデルによって定義されるマージン、背景色、背景画像、パディング、コンテンツ、境界線は、初心者のレベル、関係、および相互作用によって混乱することがよくあります。ここにボックス モデルの 3D 概略図を示します。理解しやすく、覚えやすいと思います。
元の画像: hicksdesign
IE ブラウザーと Mozilla ブラウザーではボックス モデルの解釈が一貫していないため、位置決めに問題が生じることに注意してください。
IE は 2 つの div 間の距離を計算します。距離が の場合、1px 境界線はカウントされますが、Mozilla はカウントしません。div の幅を設定した後、パディングに値を追加すると、IE はこの値を幅から減算しますが、Mozilla はその値を幅に加算します。この値について。
5. w3c 技術アーキテクチャの紹介
原文: http://www.w3.org/Consortium/technology
原著者: w3c
翻訳: Ahong
凡例の説明
W3C 技術アーキテクチャ図 2 層モデルが示されています。World Wide Web アーキテクチャ (「One Web」というラベルが付いています) は、インターネット (内部) アーキテクチャ上に構築されています。図のリッチ Web レイヤーは、W3C の関心領域と開発中のテクノロジを示しています。
Web アーキテクチャは一連のレイヤーとして描かれており、各レイヤーは他のレイヤーの上に構築されます。下から上に:
URI/IRI、HTTP Web アーキテクチャ原則 XML Infosets、RDF(S) グラフ XML、名前空間、スキーマ、XQuery/XPath、XSLT、DOM、XML Base、XPointer、RDF/XML、SPARQL
最上位には、Web アプリケーション、モバイル、音声、Web サービス、セマンティック Web、およびプライバシーの主要な W3C アクティビティ グループに対応する 6 つのボックスが含まれています。
[インタラクション] ボックスには、XHTML、SVG、CDF、SMIL、XForms、CSS、および WCID がリストされます。 [モバイル] ボックスには、XHTML Basic、Mobile SVG、SMIL Mobile、XForms Basic、CSS Mobile、MWI BP がリストされます。 「Voice」ボックスには、VoiceXML、SRGS、SSML、CCXML、および EMMA がリストされます。「Web サービス」ボックスには、SOAP、XOP、WSDL、WS-CDL、および WS-A がリストされます。「Semantic Web」ボックスには、OWL、SKOS、および RIF がリストされます。 [プライバシー] ボックスには、P3P、APPEL、XML 暗号化、XML 署名、および XKMS がリストされています
オレンジ色のバーは、Web アクセシビリティ、国際化、モバイル アクセス、デバイスの独立性、および品質保証の領域を接続します。
この図例は、World Wide Web の基本フレームワークと W3C の取り組みの焦点を示しています。
URI、HTTP、XML、RDF の基盤は、作業の 5 つの側面をサポートします。 Web アクセシビリティ、国際化、デバイスの独立性、品質管理などのトピックが W3C テクノロジーに統合されています。
W3C は、World Wide Web を元の設計 (基本的な HTML、URI、HTTP) から将来必要となるモデルに変換するために取り組んでいます。 W3C のテクノロジーは、将来の World Wide Web が情報世界における安定性、拡張性、適応性の高い基本フレームワークとなるのに役立ちます。
6. CSS 互換性ポイントの分析 IE と FF
CSS 互換性ポイント:
DOCTYPE は CSS 処理に影響します
FF: margin-left と margin-right が auto に設定されている場合、div はすでに中央に配置されていますが、IE は中央に配置されませんwork
FF: body text-align を設定するとき、div は margin: auto (主に margin-left、margin-right) を中央に設定する必要があります
FF: パディングを設定した後、div は高さと幅を増やしますが、 IE ではサポートされないため、使用する必要があります! important 追加の高さと幅を設定します
FF: ! important はサポートされていますが、IE は無視します。FF のスタイルを設定するには ! important を使用できます
div の垂直方向のセンタリングの問題:vertical-align:middle; 行間隔を DIV 全体と同じ高さに増やします。 line-height:200px; 次に、テキストを挿入すると、垂直方向の中央に配置されます。欠点は、ラップせずにコンテンツを制御する必要があることです
cursor: ポインターは IE FF でカーソルの指の形を同時に表示できますが、手は IE でのみ表示できます
FF: リンクに境界線と背景色を追加するには、改行がないように、display: block と float: left を設定する必要があります。メニューバーに関して、a とメニューバーの高さを設定するのは、下端の表示のズレを避けるためです。高さが設定されていない場合は、メニューバーにスペースを挿入することができます。 XHTML+CSS アーキテクチャを使用することには多くの利点がありますが、未熟な使用法によるものであるか、不明確な考え方によるものであるかにかかわらず、いくつかの問題があることも事実です。皆さんが探し回らないように、私が遭遇した問題のいくつかを以下に書き留めておきます。 ^
1. mozilla Firefox と IE の BOX モデルの説明 不一致により 2px の違いが生じます。 解決策:
div{margin:30px! important;margin:28px;}
これら 2 つのマージンの順序に注意してください。 Ajie 氏によると、! important 属性は IE では認識できませんが、他のブラウザでは認識できるそうです。実際、IE では次のように解釈されます:
div{maring:30px;margin:28px}
定義を繰り返すと、最後の定義に従って実行されるため、単に margin:XXpx と書くことはできません!重要;
2、IE5 および IE6 IE5 では、BOX の解釈に一貫性がありません。 div{width:300px;margin:0 10px 0 10px;} の幅は、300px-10px (右パディング)-10px (左パディング) として解釈されます。最終的な div の幅は 280px ですが、IE6 の他のブラウザでは、幅は 300px + 10px (右パディング) + 10px (左パディング) = 320px として計算されます。現時点では、次の変更を行うことができます
div{width:300px! important;width /**/:340px;margin:0 10px 0 10px}
、これについて/**/ IE5 と Firefox がサポートしていることしかわかりませんが、IE6 はサポートしています。そうではありません。誰かが理解したら、教えてください、ありがとう! :)
3. Mozilla では ul タグにデフォルトでパディング値がありますが、IE ではマージンのみが値を持つため、最初に定義してください
ul{margin:0;padding:0;}
でほとんどの問題を解決できます
4. スクリプトに関しては、言語属性は xhtml1.1 ではサポートされていません。コードを
に変更するだけです。 7. 10 のことCSS スキルを知らないかもしれません
1. CSS フォント属性の省略規則
一般的に、CSS でフォント属性を設定する方法は次のとおりです:
font-weight:bold;
font-style:italic;
font- varient: small-caps;
font-size:1em;
line-height:1.5em;
font-family:verdana,sans-serif;
ただし、すべてを 1 行で記述することもできます:
フォント: 太字斜体小文字 1em/1.5em ベルダナ、サンセリフ;
本当に良いです!注意点が 1 つあります。この省略方法は、font-size プロパティと font-family プロパティの両方が指定されている場合にのみ機能します。また、font-weight、font-style、font-variant を設定しない場合は、デフォルト値が使用されるため、この点に注意してください。
2. 2 つのクラスを同時に使用する
通常、1 つの要素に対して設定できるクラス (Class) は 1 つだけですが、2 つ使用できないというわけではありません。実際、これを行うことができます:
...
P 要素に同時に 2 つのクラスをスペースで区切って与え、すべてのテキストが各クラスのサイド属性が P 要素に追加されます。 2 つのクラスの属性間に競合がある場合は、後で設定された方が有効になります。つまり、CSS ファイル内で後から配置されたクラスの属性が有効になります。
補足: ID の場合、
...
のように書くことはできません
3. CSS border のデフォルト値
はできません。通常は、境界線の色、幅、スタイルを設定します。
border: 3px Solid #000
これは、境界線を幅 3 ピクセル、黒、実線で表示します。しかし実際には、ここでスタイルを指定するだけで済みます。
スタイルのみが指定されている場合、他の属性はデフォルト値を使用します。通常、Border のデフォルトの幅は中程度で、通常は 3 ~ 4 ピクセルに相当します。デフォルトの色はテキストの色です。この値が適切であれば、それほど多くの設定を行う必要はありません。
4. ドキュメント印刷用の CSS
多くの Web サイトには印刷用のバージョンがありますが、実際には CSS を使用して印刷スタイルを設定できるため、これは必要ありません。
言い換えると、ページに 2 つの CSS ファイルを指定できます。1 つは画面表示用、もう 1 つは印刷用です:
1 行目は表示、2 行目は印刷する場合は、メディア属性に注意してください。
しかし、印刷用 CSS には何を書けばよいのでしょうか?通常の CSS を設計するのと同じ方法で設定できます。デザイン時にこのCSSを設定してCSSを表示し、効果を確認することができます。おそらく、display: none コマンドを使用して、一部の装飾画像をオフにし、一部のナビゲーション ボタンをオフにすることになるでしょう。詳細については、「印刷の違い」の記事を参照してください。
5. 画像置換スキル
一般に、画像の代わりにテキストを表示するには、標準の HTML を使用することをお勧めします。ただし、特殊なフォントを使用する場合は、画像のみを使用できます。
たとえば、物を販売するためのアイコンを作成したい場合は、次の画像を使用します:
< /h1>
もちろんこれは可能ですが、検索エンジンにとって、通常のテキストに比べて、alt の置換テキストにはほとんど関心がありません。これは、多くのデザイナーが検索エンジンを欺くためにここに多くのキーワードを配置しているためです。したがって、メソッドは次のようになります:
ウィジェットを購入
ただし、この方法には特別なフォントはありません。同じ効果を実現するには、次のように CSS を設計できます:
h1 {background: url(widget-image.gif) no-repeat; height: image height text-indent: -2000px }
画像の高さを置き換えるよう注意してくださいtrue の場合は画像の高さ。ここでは画像が背景として表示され、実際のテキストは-2000ピクセルのインデントが設定されているため、画面左側に2000ポイント表示されて見えなくなります。ただし、画像をオフにしている人にとっては、まったく見えなくなる可能性があるので注意してください。
8. CSS の 18 のスキル
翻訳: Ajie
原著者: Roger Johansson
著者について:
スウェーデンのヨーテボリに住んでおり、1994 年に Web デザインに関わり始めました。住所は 456 Berea Street です。 , そこで、彼はこの名前を個人のホームページのドメイン名として採用しました
最近、仕事で遭遇した CSS の問題について友人からよく質問されます。彼らは常に CSS をうまく制御できず、CSS の効率に影響を与えます。誰もが CSS をより簡単に使用できるように、エラーを分析してまとめてみましょう。
この記事では、私が CSS レイアウト手法を使い始めてから学んだすべてのテクニックと互換性解決策をまとめています。初心者が犯しやすいいくつかの間違い (私自身が犯したものも含む) について説明することに重点を置きます。 CSS マスターとしてこれらの経験やスキルをお持ちの方は、ぜひ追加していただければ幸いです。
1. CSS 略語を使用する
略語を使用すると、CSS ファイルのサイズが小さくなり、読みやすくなります。 CSS 略語の主なルールについては、ここでは説明しませんので「一般的な CSS 略語構文の概要」を参照してください。
2. 値が 0 でない限り、単位を明確に定義します
サイズの単位を定義するのを忘れるのは、CSS 初心者によくある間違いです。 HTML では width="100" と記述するだけで済みますが、CSS では width:100px width:100em のように正確な単位を指定する必要があります。単位を定義しない場合の例外は、行の高さと 0 の値の 2 つだけです。また、他の値の後には単位を付ける必要があります。値と単位の間にスペースを入れないように注意してください。
3. 大文字と小文字を区別する
XHTML で CSS を使用する場合、CSS で定義された要素名は大文字と小文字が区別されます。このエラーを回避するには、すべての定義名に小文字を使用することをお勧めします。
class と id の値は、HTML と XHTML でも大文字と小文字が区別されます。大文字と小文字を混合して使用する必要がある場合は、CSS での定義が XHTML のタグと一致していることを慎重に確認してください。
4. class と id の前に要素の修飾を解除します
要素の class または id を定義するように記述する場合、ID はページ内で一意であり、class はページ内に存在できるため、前の要素の修飾を省略できます。何度も使用します。要素を修飾することは意味がありません。例:
div#content { /* 宣言 */ }
fieldset.details { /* 宣言 */ }
は
#content { /* 宣言 */ }
.details { / * 宣言 * / }
これにより、いくつかのバイトが節約されます。
5. デフォルト値
通常、padding のデフォルト値は 0 で、background-color のデフォルト値は透明です。ただし、デフォルト値はブラウザによって異なる場合があります。競合が心配な場合は、次のように、スタイル シートの先頭ですべての要素のマージンとパディングの値を 0 として定義できます:
* {
margin:0;
padding:0;
}
6 、継承可能な値を繰り返し定義する必要はありません
CSSでは、色やフォントなど、親要素の属性値を子要素が自動的に継承します。親要素を子要素に直接継承できるため、定義を繰り返す必要がありません。ただし、ブラウザーがいくつかのデフォルト値で定義をオーバーライドする可能性があることに注意してください。
7. 最近の第一原則
同じ要素の定義が複数ある場合、最も近い(最小レベルの)定義が優先されます。例えば、次のようなコードがあります
Update: Lorem ipsum dolor set
CSS ファイルでは、要素 p とクラス "update"
p {
margin:1em 0;
font-size:1em;
color:#333;
}
を定義しました。 update {
font-weight:bold;
color:#600;
}
これら 2 つの定義では、class が p よりも近いため、class="update" が使用されます。詳細については、W3C の「セレクターの特異性の計算」を参照してください。
8. 複数のクラス定義
1 つのタグで同時に複数のクラスを定義できます。例: まず 2 つのスタイルを定義します。最初のスタイルの背景は #666、2 番目のスタイルの境界線は 10 ピクセルです。
.one{width:200px;background:#666;}
.two{border:10px Solid #F00;}
ページのコードでは、次のように呼び出すことができます
这样最终的显示效果是这个div既有#666的背景,也有10px的边框。是的,这样做是可以的,你可以尝试一下。
9、使用子选择器(descendant selectors)
CSS初学者不知道使用子选择器是影响他们效率的原因之一。子选择器可以帮助你节约大量的class定义。我们来看下面这段代码:
这段代码的CSS定义是:
div#subnav ul { /* Some styling */ }
div#subnav ul li.subnavitem { /* Some styling */ }
div#subnav ul li.subnavitem a.subnavitem { /* Some styling */ }
div#subnav ul li.subnavitemselected { /* Some styling */ }
div#subnav ul li.subnavitemselected a.subnavitemselected { /* Some styling */ }
你可以用下面的方法替代上面的代码
样式定义是:
#subnav { /* Some styling */ }
#subnav li { /* Some styling */ }
#subnav a { /* Some styling */ }
#subnav .sel { /* Some styling */ }
#subnav .sel a { /* Some styling */ }
用子选择器可以使你的代码和CSS更加简洁、更加容易阅读。
6、CSS box模型的另一种调整技巧
这个Box模型的调整主要是针对IE6之前的IE浏览器的,它们把边界宽度和空白都算在元素宽度上。比如:
#box { width: 100px; border: 5px; padding: 20px }
这样调用它:
...
这时盒子的全宽应该是150点,这在除IE6之前的IE浏览器之外的所有浏览器上都是正确的。但在IE5这样的浏览器上,它的全宽仍是100点。可以用以前人发明的Box调整方法来处理这种差异。
但用CSS也可以达到同样的目的,让它们显示效果一致。
#box { width: 150px } #box div { border: 5px; padding: 20px }
这样调用:
这样,不管什么浏览器,宽度都是150点了。
7、块元素居中对齐
如果想做个固定宽度的网页并且想让网页水平居中的话,通常是这样:
#content { width: 700px; margin: 0 auto }
你会使用
来围上所有元素。这很简单,但不够好,IE6之前版本会显示不出这种效果。改CSS如下:
body { text-align: center } #content { text-align: left; width: 700px; margin: 0 auto }
这会把网页内容都居中,所以在Content中又加入了
text-align: left 。
8、用CSS来处理垂直对齐
垂直对齐用表格可以很方便地实现,设定表格单元 vertical-align: middle 就可以了。但对CSS来说这没用。如果你想设定一个导航条是2em高,而想让导航文字垂直居中的话,设定这个属性是没用的。
CSS方法是什么呢?对了,把这些文字的行高设为 2em:line-height: 2em ,这就可以了。
9、CSS在容器内定位
CSS的一个好处是可以把一个元素任意定位,在一个容器内也可以。比如对这个容器:
#container { position: relative }
这样容器内所有的元素都会相对定位,可以这样用:
左から 30 ポイント、上から 5 ポイントに配置したい場合は、次のようにすることができます:
#navigation {position:Absolute; left: 30px; top: 5px }
もちろん、これを実行します:
margin: 5px 0 0 30px
4 つの数字の順序は上、右、下、左であることに注意してください。もちろん、場合によってはマージンよりも位置決めの方が良い場合もあります。
10. 画面の下部に直接表示される背景色
垂直方向の制御は CSS の機能を超えています。ナビゲーションバーをコンテンツバーのようにページの一番下に直接移動させたい場合は、テーブルを使用するのが非常に便利ですが、次のようにCSSのみを使用する場合は次のようになります。 }
ナビゲーション バーを短くする まっすぐ下に移動せず、コンテンツが途中で終了すると終了します。それについて私たちは何ができるでしょうか?
残念ながら、チートする唯一の方法は、列幅と同じ幅で短い列に背景画像を追加し、設定された背景色と同じ色にすることです。
body {background: url(blue-image.gif) 0 0repeat-y }
現時点では em を単位として使用することはできません。その場合、リーダーがフォント サイズを変更するとトリックが明らかになり、ピクセルのみ使用できます。
10. 背景画像のパスに引用符を追加する必要はありません
引用符は必要ないため、バイト数を節約するために、背景画像のパスに引用符を追加しないことをお勧めします。例:
background:url("images/***.gif") #333;
は、
background:url(images/***.gif) #333;
と記述することができます。引用符を追加すると、ブラウザー エラーが発生します。
11 、グループ セレクター
一部の要素タイプ、クラス、または ID に共通の属性がある場合、グループ セレクターを使用して複数の繰り返し定義を避けることができます
たとえば: すべてのタイトルのフォント、色、マージンを定義するには、次のように記述できます:
h1 ,h2,h3,h4,h5,h6 {
font-family: "Lucida Grande"、Lucida、Arial、Helvetica、sans- serif;
color:#333;
margin:1em 0;
}
使用時に独立したスタイルを定義する必要がある個々の要素がある場合は、次のように新しい定義を追加するか、古い定義を上書きできます。 ; }
12. リンク スタイルを正しい順序で指定します
CSS を使用してリンクの複数のステータス スタイルを定義する場合、正しい順序は::link :visited :hover であることに注意してください。 :active 抽出された最初の文字は「LVHA」で、「LoVe HAte」と覚えておいてください (このように定義されている理由)
ユーザーがキーボードを使用する必要がある場合。コントロールを使用し、現在のリンクのフォーカスを知る必要がある場合は、:focus 属性を定義することもできます。フォーカスされた要素に :hover 効果を表示したい場合は、:focus 属性の効果も依存します。 :hover の前に :focus を書きます。フォーカス効果を :hover の後に置きます
13. フローティングを使用する場合の CSS の問題はよくあります。位置決めの場合、下位のレイヤーがフローティング レイヤーで覆われているか、レイヤー内にネストされているサブレイヤーが外側のレイヤーの範囲を超えています。
通常の解決策は、フローティング レイヤーの後に追加の要素を追加することです。 div または br を使用し、そのスタイルを clear: 両方として定義します。幸いなことに、この方法を解決する良い方法があります。「構造的マークアップを使用せずに浮動小数点数をクリアする方法」を参照してください。 : このサイトはできるだけ早くこの記事を翻訳します)
上記の 2 つの方法でフローティング オーバーフローの問題を解決できますが、レイヤーまたはレイヤー内のオブジェクトを本当にクリアする必要がある場合はどうすればよいですか? 1 つの方法は次のとおりです。 overflow 属性を使用します。このメソッドはもともと「フロートの単純なクリア」で公開され、「クリアランス」および「フロートの超単純なクリア」で広く議論されています。
上記のどの明確な方法があなたに適していますか? それは特定の状況によって異なるため、ここでは説明しません。さらに、フロートの適用については、いくつかの優れた記事で明確に説明されています。「フロートのチュートリアル」、「フロートを含む」、「フロートのレイアウト」を読むことをお勧めします。
14. 水平方向のセンタリング (センタリング)
単純なテクニックですが、次のような初心者の質問が多すぎるため、もう一度言う価値があります: CSS を水平方向に中央揃えするにはどうすればよいですか? レイアウトがレイヤーに含まれている場合は、要素の幅を定義し、水平方向のマージンを定義する必要があります。コンテナ)、次のように:
次のように水平方向に中央揃えに定義できます:
#wrap {
width:760px; /* レイヤーの幅に変更します。*/
margin:0 auto;
}
しかし、IE5/Win はこの定義を正しく表示できません。これを解決するために非常に便利なトリックを使用します。 : text-align 属性を次のように使用します:
body {
text-align:center;
}
#wrap {
width:760px; /* レイヤーの幅に変更します*/
margin :0 auto;
text-align:left;
}
最初の本文の text-align:center; ルールは、IE5/Win の本文のすべての要素が中央に配置されることを定義します (他のブラウザーはテキストを中央に配置するだけです) )、いいえ。2 番目の text-align:left; は #warp のテキストを左に揃えます。
15. CSS をインポートして非表示にする
古いブラウザは CSS をサポートしていないため、一般的なアプローチは @import テクニックを使用して CSS を非表示にすることです。例:
@import url("main.css");
ただし、この方法は IE4 では機能せず、しばらく頭が痛くなりました。後で、次のように書きました:
@import "main.css";
この方法で、IE4 で CSS を非表示にすることができます。笑、これで 5 バイトも節約できました。 @import 構文の詳細な説明を知りたい場合は、「centricle の CSS フィルター チャート」を参照してください
16. IE の最適化
IE ブラウザのバグが多すぎるため、いくつかの特別なルールを定義する必要がある場合があります。ここでは CSS ハックについて説明しますが、Microsoft が今後の IE7 ベータ版で CSS をより適切にサポートするかどうかに関係なく、これら 2 つの方法が最も安全です。
1. 注釈メソッド
(a) IE で CSS 定義を非表示にするには、子セレクターを使用できます:
html>body p {
/* コンテンツを定義*/
}
(b)以下の書き方はIEブラウザでのみ理解可能(他のブラウザからは隠蔽)
* html p {
/* 宣言 */
}
(c) IE/ Winでは有効だがIEでは非表示にしたい場合がある/Mac では、「バックスラッシュ」トリックを使用できます:
/* */
* html p {
declarations
}
/* */
2. 条件付きコメント (条件付きコメント) メソッド
CSSHacks よりもテストしやすいと思われる方法は、Microsoft のプライベート属性の条件付きコメント (条件付きコメント) を使用することです。この方法を使用すると、メインのスタイル シートの定義に影響を与えることなく、IE 用にいくつかのスタイルを個別に定義できます。このように:
17. デバッグ スキル: レイヤーの大きさはどれくらいですか?
CSS のデバッグ中にエラーが発生した場合、植字作業者のように CSS コードを 1 行ずつ分析する必要があります。通常、レイヤーがどれだけのスペースを占めるかが明らかになるように、問題のレイヤーに背景色を定義します。一般的には可能な border の使用を推奨する人もいますが、問題は、border によって要素のサイズが大きくなる場合があり、border-top と boeder-bottom によって垂直方向のマージンの値が破壊されるため、background を使用する方が安全です。
問題を引き起こすことが多いもう 1 つの属性は、アウトラインです。アウトラインはボーダーのように見えますが、要素のサイズや位置には影響しません。アウトライン属性をサポートしているブラウザはわずかで、私が知っているのは Safari、OmniWeb、Opera だけです。
18. CSS コードの書き方
CSS コードを書くとき、インデント、改行、スペースについては、誰もが独自の書き方の習慣を持っています。継続的な練習の結果、次の書き方を採用することにしました:
selector1,
selector2 {
property:value;
}
共用体の定義を使用するとき、私は通常、各セレクターを別の行に記述して、簡単にします。 CSS ファイル内でそれらを検索します。最後のセレクターと中括弧 { の間にスペースを追加します。また、各定義を属性値の直後に記述します。スペースは追加しないでください。
私は各属性値の後にセミコロンを追加することに慣れていますが、ルールでは最後の属性値の後にセミコロンを記述しないことができますが、新しいスタイルを追加したい場合は、セミコロンとセミコロンを追加することを忘れがちです。エラーが発生するので、まだすべて追加した方が良いです。
最後に、閉じ中括弧} が単独で行に記述されます。
スペースと改行は読みやすくします。