Seletores CSS: combinadores descendente e filho
Gabarito: letra A. A diferença entre div > p e div p está no tipo de relação hierárquica: o combinador > (maior que) seleciona apenas os elementos <p> que são filhos diretos de um <div>, enquanto o espaço em branco (combinador descendente) seleciona todos os <p> que descendem de um <div>, independentemente de quantos níveis de aninhamento existirem.
A questão testa o conhecimento dos combinadores CSS, que definem a relação entre dois seletores simples. O combinador filho (>) é mais restritivo que o combinador descendente (espaço).
Critério | div > p (combinador filho)
| div p (combinador descendente)
|
|---|
Relação hierárquica | Filho direto | Descendente (qualquer nível) |
Nível de aninhamento | Apenas 1º nível | Qualquer nível |
Seletor | >
| Espaço em branco |
Alternativa A — ✅ Correta ⟵ GABARITO
A alternativa descreve exatamente a diferença: div > p seleciona filhos diretos; div p seleciona todos os descendentes, em qualquer nível de aninhamento. É a definição precisa dos combinadores CSS.
Alternativa B — ❌ Incorreta
Afirma que div > p seleciona elementos <p> que são irmãos de um <div>. O combinador > não representa relação de irmandade; ele representa relação de filho direto. O combinador de irmão adjacente é +, e o de irmão geral é ~.
Alternativa C — ❌ Incorreta
Diz que ambos os seletores selecionam filhos diretos. O espaço (combinador descendente) seleciona todos os descendentes, não apenas filhos diretos. Apenas div > p restringe a filhos diretos.
Alternativa D — ❌ Incorreta
Inverte os papéis: afirma que div > p seleciona descendentes e div p seleciona filhos diretos. O correto é o oposto.
Alternativa E — ❌ Incorreta
Afirma que ambos selecionam todos os descendentes independentemente do nível. Na verdade, div > p seleciona apenas filhos diretos, não todos os descendentes.
Gabarito: letra A.