A estrutura de um documento HTML é semelhante a uma árvore genealógica. Na sua família, você tem seus pais e outras pessoas que vieram antes de você. Esses são seus antepassados. As crianças e aqueles que vêm depois de você naquela árvore são seus descendentes. O HTML funciona de maneira semelhante. Elementos que estão dentro de outros elementos são seus descendentes. Por exemplo, uma vez que quase todos os elementos HTML estão dentro
tags, eles seriam um descendente desse elementos. Esse relacionamento é importante para entender quando você começa a trabalhar com CSS e precisa direcionar elementos específicos para aplicar estilos visuais.Seletores Descendentes CSS
Um seletor descendente de CSS aplica-se aos elementos que estão dentro de outro elemento (ou, com mais precisão, um elemento que é descendente de outro elemento). Por exemplo, uma lista não ordenada tem uma tag com tags como descendentes. Vamos usar o seguinte HTML como exemplo:
- este é um link
o LI
tags são descendentes do UL
tag. o UMA
tag é um descendente de ambos a LI
(filho descendente) e UL
(neto descendente) tags. Se você pensar em pensar sobre isso usando o exemplo da árvore genealógica, o
- seria o pai, o pai
- seria o filho desse elemento, e seria o filho do
- e o neto do
- .
- ). Todos os outros links na página que não são descendentes de um item de lista não obteriam esse estilo.
Uma coisa importante a lembrar é que não importa quantas tags estão entre as tags que você pode estar usando em seu seletor descendente. Se o segundo elemento estiver fechado em qualquer lugar dentro do primeiro elemento, ele será selecionado como um descendente.
Se você quiser selecionar todas as âncoras descendentes dos elementos ul, você escreveria:
ul a {decoração de texto: nenhuma; }
Agora, esses estilos serão aplicados a qualquer link que seja descendente de um item de lista. Você também pode escrever este seletor
ul li a {decoração de texto: nenhuma; }
Este é um seletor descendente que usa mais de dois seletores de tipo. Nesse caso, isso se aplicaria a links que estão dentro de um item de lista e também dentro de uma lista não ordenada.
Usando Seletores de Classe e Seletores de ID
Os seletores dos quais você está descendo não precisam ser sempre descendentes do tipo. Por exemplo, imagine que você tenha uma área do site (como uma divisão) com um atributo ID de "outdoor". Você pode configurar um seletor descendente desse ID:
#billboard ul {background-color: #ccc; }
Isso estilizaria a lista não ordenada que é descendente de um elemento com um ID de "outdoor". Você pode fazer o mesmo para valores de classe.
div.billboard ul {background-color: #ccc; }
Isso pressupõe que a divisão tenha um valor de classe de "outdoor". O CSS acima seria o estilo do
- elemento dentro de qualquer divisão que tenha esse valor de classe.
Você pode ficar muito pesado e detalhado com os seletores descendentes. Por exemplo, se você usar o Dreamweaver para escrever seu código HTML, haverá uma configuração quando você adicionar novas regras CSS que criarão automaticamente o seletor com base no posicionamento do cursor nessa página. O que o Dreamweaver faz nessas instâncias é criar um seletor descendente detalhado e longo. Que muita especificidade não é necessária para o seu CSS funcionar. O que você deseja fazer é encontrar um equilíbrio entre um seletor descendente específico o suficiente para poder detalhar os elementos exatos de que precisa (sem modelar os que não deseja afetar) sem ter regras CSS com seletores excessivamente altos ampla.
Então, como você segmentaria elementos específicos em uma página da Web usando esses seletores descendentes? Primeiro, você precisa definir seletores descendentes usando dois (ou mais) seletores de tipo separados por espaços.
li a {decoração de texto: nenhuma; }
Nesse exemplo, os estilos só se aplicariam a um elemento de link () que é um descendente de um elemento de item de lista (
- ). Todos os outros links na página que não são descendentes de um item de lista não obteriam esse estilo.