Eu tenho algo como:
<div id="content>
<h1>Welcome to Motor City Deli!</h1>
<div style=" font-size: 1.2em; font-weight: bolder;">Sep 19, 2010</div>
<div > ... </div>
Qual é o seletor de css para a segunda div (1ª div dentro da div "content") para que eu possa definir a cor da fonte da data dentro dessa div?
css
css-selectors
GregH
fonte
fonte
Respostas:
A resposta MAIS CORRETA à sua pergunta é ...
Isso aplicará o CSS ao primeiro div que é filho direto de #content (que pode ou não ser o primeiro elemento filho de #content)
Outra opção:
fonte
except
primeira / última div?#content > div:not(:last-of-type) { /* css */ }
#content > div:not(:first-of-type):not(:last-of-type) { /* css */ }
Você quer
fonte
<div>
não é o primeiro filho (é<h1>
).div
seja o primeiro filho.Se pudermos supor que o H1 sempre estará lá, então
mas não tenha medo de especificar o id do div de conteúdo:
Isso é tão bom quanto você pode obter cross-browser agora, sem recorrer a uma biblioteca JavaScript como jQuery. Usar h1 + div garante que apenas o primeiro div após o H1 obtenha o estilo. Existem alternativas, mas elas contam com seletores CSS3 e, portanto, não funcionarão na maioria das instalações do IE.
fonte
A coisa mais próxima do que você está procurando é a : pseudoclasse do primeiro filho ; infelizmente isso não funcionará no seu caso porque você tem um
<h1>
antes do<div>s
. O que eu sugeriria é que você adicione uma classe ao<div>
, curtir<div class="first">
e depois estilize-a dessa forma, ou use jQuery se você realmente não puder adicionar uma classe:$('#content > div:first')
fonte
$('#content > div.first)