2016-12-22 6 views
0

classidを同じdivに使用しているため、以下のコードが機能しない可能性があります。私は彼らが働くことになっていることを知っています。IDでスタイル指定されているときにDIVがCSSクラスからスタイルを取得しない

参考:Can I use DIV class and ID together in CSS?

.PB { 
 
    position: relative; 
 
    margin: 0 auto; 
 
    background-color: #000; 
 
    width: 201px; 
 
    height: 422px; 
 
    z-index: 1; 
 
} 
 
#pb1-1 { 
 
    position: absolute; 
 
    margin: 0px; 
 
    background-color: green; 
 
    width: 65px; 
 
    height: 98.5px; 
 
    top: 0px; 
 
    right: 0px; 
 
    bottom: 0px; 
 
    left: 0px; 
 
    z-index: 2; 
 
    text-align: right; 
 
    font-size: 14px; 
 
    -webkit-text-stroke: 1px white; 
 
} 
 
#pb1-2 { 
 
    position: absolute; 
 
    margin: 0px; 
 
    background-color: yellow; 
 
    width: 65px; 
 
    height: 98.5px; 
 
    top: 0px; 
 
    right: 0px; 
 
    bottom: 0px; 
 
    left: 68px; 
 
    z-index: 2; 
 
    text-align: right; 
 
    font-size: 14px; 
 
    -webkit-text-stroke: 1px white; 
 
} 
 
#pb1-3 { 
 
    position: absolute; 
 
    margin: 0px; 
 
    background-color: red; 
 
    width: 65px; 
 
    height: 98.5px; 
 
    top: 0px; 
 
    right: 0px; 
 
    bottom: 0px; 
 
    left: 136px; 
 
    z-index: 2; 
 
    text-align: right; 
 
    font-size: 14px; 
 
    -webkit-text-stroke: 1px white; 
 
} 
 
.pu:hover { 
 
    font-size: 24px; 
 
    background-color: #999999; 
 
}
<div class="PB"> 
 
    <div id="pb1-1" class="pu">1&nbsp;</div> 
 
    <div id="pb1-2" class="pu">2&nbsp;</div> 
 
    <div id="pb1-3" class="pu">3&nbsp;</div> 
 
</div>

誰かが私が間違っているのを教えすることはできますか?

+1

期待どおりの結果ですか? –

+0

ハイフンが合法であるかどうかわかりません。 pb1-1の代わりにpb11を試しましたか? – ItayB

答えて

4

id年代は常にクラスよりも優先されているのであなたは、!importantを使用して:hover CSSルールを上書きする必要があります。同様に:

.PB { 
 
    position:relative; 
 
    margin:0 auto; 
 
    background-color:#000; 
 
    width:201px; 
 
    height:422px; 
 
    z-index: 1; \t 
 
} 
 

 
#pb1-1 {position:absolute; margin:0px; background-color:green; width:65px; height:98.5px; top:0px; right:0px; bottom:0px; left:0px; z-index:2; text-align:right; font-size:14px; -webkit-text-stroke: 1px white;} 
 

 
#pb1-2 {position:absolute; margin:0px; background-color:yellow; width:65px; height:98.5px; top:0px; right:0px; bottom:0px; left:68px; z-index:2; text-align:right; font-size:14px; -webkit-text-stroke: 1px white;} 
 
#pb1-3 {position:absolute; margin:0px; background-color:red; width:65px; height:98.5px; top:0px; right:0px; bottom:0px; left:136px; z-index:2; text-align:right; font-size:14px; -webkit-text-stroke: 1px white;} 
 

 
.pu:hover { 
 
    font-size:24px!important; 
 
    background-color:#999999!important; 
 
}
<div class="PB"> 
 
    <div id="pb1-1" class="pu">1&nbsp;</div> 
 
    <div id="pb1-2" class="pu">2&nbsp;</div> 
 
    <div id="pb1-3" class="pu">3&nbsp;</div> 
 
</div>

・ホープ、このことができます:

.pu:hover { 
    font-size:24px !important; 
    background-color:#999999 !important; 
} 

は、以下の更新スニペットを見てください!

+0

@Chiwdaただ一つのクラスで共通のスタイリングを使用しようとすると、別のIDで書く必要はありません。 – aavrug

+0

この回答はうまくいきます!多くのThanx。 – Chiwda

+0

その私の喜び@Chiwda –

-1

<style type="text/css">属性を追加します。それはあなたの問題だ。それが動作します。

1

IDのスタイルがクラススタイルを上書きしている(ホバー効果を含む)ためです。順序をカスケードについて

詳しい情報はここで見つけることができます:あなたの例ではhttps://www.w3.org/TR/2011/REC-CSS2-20110607/cascade.html#cascade

、私は!importantの使用を避ける、およびスタイルを定義するだけのクラスを使用します。

.PB { 
 
    position: relative; 
 
    margin: 0 auto; 
 
    background-color: #000; 
 
    width: 201px; 
 
    height: 422px; 
 
    z-index: 1; \t 
 
} 
 

 
.pu { 
 
    position: absolute; 
 
    margin: 0; 
 
    width: 65px; 
 
    height: 98.5px; 
 
    top: 0; 
 
    right: 0; 
 
    bottom: 0; 
 
    z-index: 2; 
 
    text-align: right; 
 
    font-size: 14px; 
 
    -webkit-text-stroke: 1px white; 
 
} 
 

 
.pb1-1 { background-color: green; left: 0; } 
 
.pb1-2 { background-color: yellow; left: 68px; } 
 
.pb1-3 { background-color: red; left: 136px; } 
 

 
.pu:hover { 
 
    font-size: 24px; 
 
    background-color: #999999; 
 
}
<div class="PB"> 
 
    <div class="pu pb1-1">1&nbsp;</div> 
 
    <div class="pu pb1-2">2&nbsp;</div> 
 
    <div class="pu pb1-3">3&nbsp;</div> 
 
</div>

+0

実際には、後のpb1- * divの幅や高さなどが変わるので、クラスに入れられません。私は単純さのために最初の3つを示しただけで、彼らは似たようになった。 – Chiwda

0

疑似クラスでこれを試すことができます

.PB { 
    position: relative; 
    margin: 0 auto; 
    background-color: #000; 
    width: 201px; 
    height: 422px; 
    z-index: 1; 
} 

.pu { 
    position: absolute; 
    margin: 0; 
    width: 65px; 
    height: 98.5px; 
    top: 0; 
    right: 0; 
    bottom: 0; 
    z-index: 2; 
    text-align: right; 
    font-size: 14px; 
    -webkit-text-stroke: 1px white; 
} 

.pu:nth-child(1) { background-color: green; left: 0; } 
.pu:nth-child(2) { background-color: yellow; left: 68px; } 
.pu:nth-child(3) { background-color: red; left: 136px; } 

.pu:hover { 
    font-size: 24px; 
    background-color: #999999; 
} 

<div class="PB"> 
    <div class="pu">1&nbsp;</div> 
    <div class="pu">2&nbsp;</div> 
    <div class="pu">3&nbsp;</div> 
</div> 

をクリックしてください。here

関連する問題