2016-03-28 12 views
2

Yani kod şu şekildedir: Ben ikinci birinde display: none çalışıyorumiki özdeş div id en, tek

<div id="logo"><img src="logourl"></div> 
<div id="logo"><img src="logourl"></div> 

. Ne yazık ki, html'yi değiştirmekten bloke oldum, ayrıca js'yi kullanamıyorum. Bunu denemek ve düzeltmek için CSS ile sıkıştım.

belki #logo:last-child { display: none; } işe yarayabilecek düşündüm ama farklı div'lerden teknik olduğun sadece, o çalışma almak gibi olamaz aynı kimliğe sahip. Herhangi bir tavsiye takdir edilecektir. HTML'nin kötü olduğunu biliyorum, ancak bunu düzeltmek için yapabileceğim hiçbir şey yok. Ben birkaç kez zaten ...

+3

afair ID, dom –

+0

yep arasında benzersiz olmalıdır, html 4.0 ve xhtml 'id ', –

+2

numaralı belgede benzersiz olmalıdır. OP, HTML'nin bozuk olduğunu, ancak üzerinde herhangi bir kontrole sahip olmadığını belirtti. –

cevap

5

#logo:last-child { display: none; } sorunuzu koduna göre, çalışması gerektiğini Patronuma söyledim.

Ama HTML geçersiz şartlarda sen deneyebilirsiniz bu alternatifleri:

div:last-child { display: none; } 

div:last-child > img { display: none; } 

div:last-of-type { display: none; } 

HTML kötü olduğunu belirtmiştik ve bunun üzerinde hiçbir kontrole sahip. Ancak sadece kayıt için, her kimlik belgedeki benzersiz olmalıdır. Aynı değerdeki iki kimliğe sahip olmak geçerli HTML değildir.

+1

Bilinen hiçbir #logo örneği yok: Sonuncu bir çocuk, herhangi bir CSS uygulamasında HTML belgesindeki ilk (veya tek) öğe olmayan bir [id = logo] ile eşleşmiyor. En az bir uygulayıcı tarafından verilen akıl (Kim hatırlamıyorum, ama Mozilla Boris olduğunu düşünüyorum) CSS belge dil sınırlama uygulamaz olmasıdır. Bkz. [Bu cevap] (http://stackoverflow.com/questions/7262195/several-elements-with-the-same-id-responding-to-one-css-id-selector/8753329#8753329). Yine de, nokta ... – BoltClock

+0

Evet, her kimliğin benzersiz olması gerektiğini biliyorum. Çok garip bir şekilde #logo: son çocuk {display: none; son çocuğa> img Ancak #logo:} aynı şekilde #logo ile, bir şey yapmak görünmüyor son çocuk img {display: none; } görüntülerin her ikisini de kaldırır #logo: type of type {display: none; } ayrıca her ikisini de kaldırır. Bu site Kodun burada çalışan görebilirsiniz ... garip çıldırmak üzere. Sağa doğru hafifçe ilerleyin ve logo başlığının iki kez göründüğünü göreceksiniz: https://jsfiddle.net/qodtvdL1/1/ – Squeezit

+1

Bu HTML bozukluğunun çağrılması çok kibar. (Sen iyi bir çalışansın.) Gerçekte, bu bir kanlı karışıklık. Bu durumda 'çocuk' seçicileri size yardımcı olmayacaktır. Bunu deneyin: 'div # page_content #logo {display: none; } ' –

-2

bir kimliği benzersiz bir tanımlayıcı olmalıdır.

<div class="top" … 
<div class="top left" … 

İkinci örnek "top" ve "sol" sınıfları eşleşir: bir sınıf veya çoklu sınıfları kullanmak Ya.

+2

dışında OP'nin hiçbir kontrolü yoktur ve değiştiremez. –

+2

Yukarıda belirttiğim gibi, HTML'yi değiştirme yeteneğine sahip değilim. Kimliğin benzersiz olması gerektiğinin farkındayım ama değil. Keşke tamir edebilirdim ama yapamam. Şirketlerim web sitesi ... bir maymun tarafından inşa edilmiş. – Squeezit