2011-08-28 14 views
7

Sitemde bazı kodlarla ilgili sorun yaşıyorum, http://ethoma.com/wp/. Arama çubuğunda, sol tarafta, arama alanı (kardeşi): açıkken tetiklendiğinde açık griyi açmak için genellikle koyu gri "vurmak için enter tuşuna" basın istiyorum. , Arama alanıCSS selecters gibi kardeşlerin özelliklerini nasıl değiştirebilirim: focus?

#s 
{ 
    min-width:98%; 
    background-color:#2a2a2a; 
    color:#d3d3d3; 
    border:2px solid #000000; 
    font-size:.85 em; 
    height:1.9em; 
    display:inline !important; 
    border-radius:5px 5px 5px 5px; 
} 

#s:focus 
{ 
    border:2px solid #2a2a2a; 
} 

#searchsub 
{ 
    color:#2a2a2a; 
    text-align:right; 
    font-size:.65em; 
    font-weight:lighter; 
} 

#s:focus #searchsub 
{ 
    color:#cccccc; 
} 

Okay edilir #S ve #searchsub I (açık gri) #cccccc açmak istiyorum div geçerli: İşte şu anda sahip koddur. Son küme küme parantezleri, problemi yaşadığım yer gibi görünüyor (parantezlerin kendileri değil, üstündeki seçici). #s dediğim gibi #searchsub bir kardeşi ve tersi. Herhangi bir cevap için teşekkürler!

+0

bunu yapmak jQuery kullanarak düşündünüz mü: #searchsub beri

Sen komşu kardeş seçicisi + yerine kullanmak istediğiniz

, #s sonra gelen kardeş mi? – stefmikhail

+1

İlgili işaretlemeyi aramak için bir bağlantıyı takip etme çabasını kaydetmek için ilgili işaretlemeyi temanızdan yapıştırmanız gerekir. – BoltClock

cevap

13

Stefmikhail, selektörünüzdeki alanın#s içinde anlamına geldiğini söyledi. HTML ile ilgili olarak, bu açık bir şekilde yanlıştır, çünkü input alanları boş öğelerdir ve bunların içinde başka öğeler olamaz.

#s:focus + #searchsub 
{ 
    color:#cccccc; 
} 
+0

Bununla birlikte, bitişik seçicinin CSS3'ün bir parçası olduğu ve bunun yerine istemediğim kadarıyla, CSS3'ün * henüz * tam olarak desteklenmediği belirtilmelidir. Internet Explorer 7 ve altındaki kullanıcıların bu işlevselliğe sahip olmasını istiyorsanız, (IE7 durumunda) ya da olmayan (IE6 ve altında olduğu gibi) buggy olabilir. Keşke bu tür tarayıcılar için kod yazmak zorunda kalmasaydık, ama benim felsefem, bir seyreden devletle ilgilendiğinde, sadece çoğu için değil, herkes için çalışacak bir şey kullanmak. Ama hey, senin araman. Bence CSS3 seçiciler çok havalı! – stefmikhail

+0

@stefmikhail: CSS3 'ün genel kardeş seçimi için CSS2 bitişik kardeş seçimini '+' olarak kabul ettiniz. Her ikisi de IE7 + 'da çok iyi desteklenmektedir. – BoltClock

+0

Ooops, haklısın. Düzeltme için teşekkürler. – stefmikhail

0

sizin koduyla sorun #s:focus #searchsub yılında #s:focus sonra #searchsub yerleştirerek, sen id #s içindeki id #searchsubüzerine hareket CSS söylüyorsun olmasıdır.

JamWaffles ile bunu javascript ile yapabileceğinizi kabul ediyorum. Bunu jQuery ile yapardım ve eğer istersen nasıl gönderebilirim.

+0

-1. Sadece CSS ile yapılabilir. JavaScript'e gerek yok. –

+0

@Rikudo Sennin CSS ile yapılabileceğini asla söylemedim, sadece javascript kullanmayı tercih edeceğimi söyledim, bunun için CSS kullanacağını görüyorum, eski IE tarayıcılarında çalışmaz. – stefmikhail

+1

Sadece bir şey css ile yapılabilir. Bunu yapmak genellikle en iyisidir. Kesinlikle gerekliyse üstüme gidersem, mümkün olup olmadığını kontrol etmek ve başka bir JavaScript kullanmak için Modernizr'i kullanırdım. –

İlgili konular