2011-09-14 15 views
-2

ちょっとした問題があり、解決できません。ここで2番目の画像は表示されません

はCSSです:

.error { 
    float: left; 
    color: #F00; 
    visibility: hidden; 
    display: inline; 
} 
.validieren:required:invalid + .error { 
    visibility: visible; 
} 

.right { 
    float: left; 
    color: #0F0; 
    visibility: hidden; 
    display: inline; 
} 

.validieren:required:valid + .right { 
    visibility: visible; 
} 

そしてここでは、HTMLコード:

<img src="haken.gif" class="right"> <img src="kreuz.gif" class="error"> 

問題は、第二(この場合はエラーで)画像が表示されないということです。

ありがとうございました。

私はドイツ語です。

+0

これまで私が見てきた最も奇妙な質問です...あなたは、エラークラスをそれに適用することによって、画像を隠すように明示します。 –

+0

残りのコードは関係ありません。あなたがコードを理解していないと、なぜそれをコメントしますか?はい、私は画像を隠すことを教えていますが、クラス_validieren_の要素が無効であれば、それは表示されるはずです –

+0

あなたの画像との関係でどこが問題かはっきりとしています... – clem

答えて

1

はこれを試してみてください:

.validieren:required:invalid ~ .error { 
    visibility: visible; 
} 

あなたは.validieren + .error.validieren + .rightの両方を持っています。

.validierenを直ちに.error.right両方で(adjacent sibling selector)続くことができません。

general sibling selectorに変更すると機能します。私は、.validieren要素が両方の画像の前に来て(同じ親を共有している)と仮定しています。

+0

ありがとうございました:) –

0

errorクラスにはvisibility: hiddenが設定されており、2番目の画像に割り当てられています。あなたはどんな行動を期待していますか?

0

問題は、errorクラスに画像(または要素)が表示されないようにする属性(具体的にはvisibility: hidden)が含まれていることです。

関連する問題