1

今、私はこのように私のコードを持っています;

CSS:

.dhimage{
 width:25px;
 height:25px;
}

ジャバスクリプト:

var image = document.createElement('img');
image.className= 'dhimage';

CSS を次のようにフォーマットすると何が変わるか:

.something .dhimage{
 width:25px;
 height:25px;
}
4

2 に答える 2

2

つまり、新しく作成されたイメージは class を持つコンテナー内にある必要があり、somethingその場合にのみ、クラス dhimage のプロパティが適用されます。すなわち

<div class="something" >
   <img class="dhimage" />
</div>

マークアップが上記のような場合、以下の css のみが機能します

.something .dhimage
{
   width:25px;
   height:25px; 
}

それはCSS 特異性と呼ばれます。

ただし、css ie を直接定義すると

.dhimage
{
   width:25px;
   height:25px; 
}

親の CSS とは無関係に機能します。

なぜそれが行われるのですか?

クラス名があるとしますmenu。ただし、ページのフッター内のメニューとページのヘッダー内のメニューでは異なるメニュー クラスを使用する必要がありmenuますが、サイトのすべてのメニューに特定の共通ルールがあるため、名前を保持したいと考えています。フォントファミリーなど。次に、次のように定義できます。

.menu
{
   font-family:'Times';
}
.header .menu
{
  color:Red;
}
.footer .menu
{
  color:Orange;
}

そしてあなたのマークアップは

<div class="header">
  <ul class="menu">
  </ul>
</div>

<div class="content">
</div>

<div class="footer">
  <ul class="menu">
  </ul>
</div>

ヘッダーとフッターのメニューの色が異なります。

于 2013-03-28T11:08:56.787 に答える
1

.dhimageスタイリング fromを有効にするには、そのクラスを含む要素が class を持つ要素内にある必要があるという事実を除いて、実際には何もありません.something

于 2013-03-28T11:09:39.937 に答える