2013-03-31 14 views
7

Bir öğenin Hdr_nav_search_input başka bir öğeye odaklanırken bir öğenin rengini Hdr_nav_search_box değiştirmek istiyorum. İşte kodlar: http://jsfiddle.net/FJAYk/4/ Bunun neden çalışmadığını göremiyorum.Bir ögeye odaklanmak, bir başkasının CSS'sini değiştirir

<input class="Hdr_nav_search_input" /> 
<div class="Hdr_nav_search_box" /><span>search for location....</span><i>for example: blah blah</i></div> 

-

.Hdr_nav_search_box{ 
padding: 0 5px; 
margin: 7.5px 0; 
width:300px; 
height: 25px; 
background: white; 
} 
.Hdr_nav_search_input:focus .Hdr_nav_search_box{ 
color: #d4d4d4; 
} 
.Hdr_nav_search_box span,.Hdr_nav_search_box i{ 
line-height: 25px; 
color: gray; 
} 
.Hdr_nav_search_input{ 
padding: 0 5px; 
margin: 7.5px 0; 
border: 0; 
z-index: 2; 
position: absolute; 
width:300px; 
height: 25px; 
background: transparent;  
} 
+0

jsFiddle

Sana yanlış keman ile bağlantılı olduğunu düşünüyorum. – Scott

+0

@Scott Üzgünüz ve teşekkürler, bağlantıyı güncelledim. – Sami

cevap

15

senin stilleri ile birkaç sorunlar vardı. Öncelikle kutuyu hedeflemek için seçiciniz tam olarak doğru değil.

.Hdr_nav_search_input:focus .Hdr_nav_search_box 

onlar .Hdr_nav_search_input soyundan olan tüm .Hdr_nav_search_box seçerek uyguladığını söyledi.

.Hdr_nav_search_input:focus + .Hdr_nav_search_box 

o çalışıyordu İkinci olarak bu seçici renk değişikliğini geçersiz olacaktır: Bir sonraki kardeş seçici + kullanmak istediğiniz böylece aslında bir kardeş var.

.Hdr_nav_search_box span,.Hdr_nav_search_box i{ 
    ... 
} 

Sadece

.Hdr_nav_search_box { 
    ... 
} 

Burada kullandığımız bir demo ve Çalıştırmak yapılan stil değişiklikleri olduğunu olabilir.

.Hdr_nav_search_input:focus + .Hdr_nav_search_box { 
    color: #F00; 
} 
.Hdr_nav_search_box { 
    line-height: 25px; 
    color: gray; 
} 
+0

Bilgilendirici yanıt için teşekkür ederiz. – Sami

İlgili konular