2016-01-05 9 views
5

olmadan uygulayabilirsiniz. Bir listeden, ancak yalnızca <a> öğesinin içinde görüntü yoksa, stilleri bir listede stil uygulamak istiyorum.CSS: yalnızcanumaralı iç stili <img>

<div id="leftcolumn"> 
    <ul> 
    <li><a href="http://google.com">google</a></li> 
    <li><a href="http://google.com"><img src="http://cso.cz/wpimages/cz2.gif"></a></li> 
    </ul> 
</div> 

ve benim css: boşuna bu css denedi

div#leftcolumn ul a:hover{ 
    background-color: #F8F8F8; 
    color: Black; 
    border-bottom: 1px solid Black; 
} 

ama:

İşte
div#leftcolumn ul a:hover < img{ 
    background-color: #F8F8F8; 
    color: Black; 
    border-bottom: 1px solid Black; 
} 

jsfiddle olduğunu

biçimlendirme böyledir

+0

bu HTML zorunda mı? Değilse, metni bir 'içine sarın ve kuralları buraya uygulayabilirsiniz. –

+0

Denemeyi denediniz: a: değil (bir img): hover {...} - - test edilmemiş –

+1

@DarrenSweeney Sözdizimi seç:() karmaşık seçiciyi kabul etmeyecektir. –

cevap

2

: CSS o çocukları dayanan bir element stil olamaz, ne yapmak görüntüyü tutun ve onu stil engellemek <a> etiketleri için özel bir sınıf atamak olduğunu.

Ancak, bir <span> metni sarabilirdiniz ve sadece orada kurallarını uygulamak yani bir şey gibi:

<div id="leftcolumn"> 
    <ul> 
    <li><a href="http://google.com"><span>google</span></a></li> 
    <li><a href="http://google.com"><img src="http://cso.cz/wpimages/cz2.gif"></a></li> 
    </ul> 
</div> 

CSS:

div#leftcolumn ul a:hover > span { 
    background-color: #F8F8F8; 
    color: Black; 
    border-bottom: 1px solid Black; 
} 

Updated JSFiddle

+0

Bu Güzel, Ama eğer Span Ho yapamazsa Çalışabilir mi? –

+0

Bu imkansız. –

4

Ben bu saf CSS mümkündür şüphe

<div id="leftcolumn"> 
     <ul> 
     <li><a href="http://google.com">google</a></li> 
     <li><a href="http://google.com" class="withImage"><img src="http://cso.cz/wpimages/cz2.gif"></a></li> 
     </ul> 
</div> 

div#leftcolumn ul a:not(.withImage):hover{ 
    background-color: #F8F8F8; 
    color: Black; 
    border-bottom: 1px solid Black; 
    border-top: 1px solid black; 
} 
+0

Eğer bir sınıfa bir sınıfa koyacaksanız, niçin sadece metin ile bir metin üzerine koymayın ve görüntü ile olanı değil ve onu hedeflemekten ziyade bunu hedefleyin? – Pete

+0

Her ikisi de .. – KAD

0

.non-img eklemek için li, numaralı telefon numarası olmadan . img

div#leftcolumn ul li.non-img a:hover{ 
 
    background-color: #F8F8F8; 
 
    color: Black; 
 
    border-bottom: 1px solid Black; 
 
    border-top: 1px solid black; 
 
}
<div id="leftcolumn"> 
 
     <ul> 
 
     <li class="non-img"><a href="http://google.com">google</a></li> 
 
     <li><a href="http://google.com"><img src="http://cso.cz/wpimages/cz2.gif"></a></li> 
 
     </ul> 
 
</div>