Estou um pouco confuso entre esses 2 seletores.
O seletor descendente :
div p
selecionar tudo p
dentro div
de um descendente imediato ou não? Então, se o p
estiver dentro de outro, div
ele ainda será selecionado?
Em seguida, o seletor filho :
div > p
Qual é a diferença? Criança significa criança imediata ? Por exemplo.
<div><p>
vs
<div><div><p>
os dois serão selecionados ou não?
css
css-selectors
iceangel89
fonte
fonte
Respostas:
Pense no que as palavras "criança" e "descendente" significam em inglês:
fonte
Sim você está correto.
div p
corresponderá ao exemplo a seguir, masdiv > p
não será.O primeiro é chamado seletor descendente e o segundo é chamado seletor filho .
fonte
Bascailly, " ab seleciona" tudo b de dentro de um, enquanto " a> b " seleciona b de que só são filhos para o um , não vai selecionar b que é filho de b que é filho de um .
Este exemplo ilustra a diferença:
A cor de fundo abc e def será verde, mas ghi terá a cor vermelha.
IMPORTANTE: Se você alterar a ordem das regras para:
Todas as letras terão fundo vermelho, porque o seletor descendente também seleciona a criança.
fonte
Em teoria: Criança => um descendente imediato de um ancestral (por exemplo, Joe e seu pai)
Descendente => qualquer elemento descendente de um ancestral em particular (por exemplo, Joe e seu tataravô)
Na prática: tente este HTML:
com este CSS:
http://jsfiddle.net/X343c/1/
fonte
red
eblue
trocado).Esteja ciente de que o seletor filho não é suportado no Internet Explorer 6. (Se você usar o seletor em um seletor jQuery / Prototype / YUI etc, em vez de em uma folha de estilos, ainda funcionará)
fonte
Seleciona todos os elementos 'p' em que o pai é um elemento 'div'
Significa filhos imediatos Seleciona todos os elementos 'p' onde o pai é um elemento 'div'
fonte
A seleção de CSS e a aplicação do estilo a um elemento específico podem ser feitas através da passagem pelo elemento dom [Exemplo
Exemplo
fonte