Selector Pai/ancestral do CSS [duplicado]
possível duplicado:
existe um selector de pais CSS?
Eu sei que isto é um tiro no escuro, mas existe uma maneira, usando apenas css, CSS2, sem jquery, sem javascript, para selecionar e estilo o ancestral de um elemento? Passei pelos selectores, mas estou a postar isto no caso de me ter escapado alguma coisa ou de haver uma solução inteligente.
por exemplo, digamos que tenho uma tabela com o nome de classe "teste" aninhada dentro de um div. Há algum tipo de de:
<div>
<table class="test">
</table>
</div>
div (with child) .test
{
/*styling, for div, not .test ...*/
}
4 answers
O selector-mãe não existe em CSS2 ou CSS3. E pode nunca haver, na verdade, porque toda a parte "Cascata" do CSS não vai ser bonita de lidar quando você começar a fazer seletores pais.
É para isso que o jQuery serve: -)No CSS existe um :selector vazio que lhe permite corresponder aos elementos vazios, você poderá negar o efeito com: não selector.
div:not(:empty) {
// your styles here
}
No entanto, não sei se todos os navegadores apoiam isto.
div:not(:empty) {
margin:0;
}
NÃO É reconhecido por http://jigsaw.w3.org/css-validator/ como CSS2
É o propósito do CSS para "cascata" para baixo do mais Contendo para os elementos mais específicos. Acho que é possível para ti "inverter a tua lógica", como em [[6]}
div.myclass { /* format parent */ }
div.myclass * { /* neutralize formats in descendants */}
div.myclass img { /* more specific formats for img children */ }
Boa sorte.
Mike
: pseudoclass vazio suportado pelo Firefox, mas não é compatível com o IE.
Mas um trabalho muito simples de jQuery para IE está em http://www.webmasterworld.com/css/3944510.htm Salvei o meu bacon.