Skip to main content

Esbrineu quin és el selector de descendents CSS

Taula de continguts:

Anonim

L'estructura d'un document HTML és similar a un arbre genealògic. A la vostra família, teniu els vostres pares i altres persones que van venir abans que vosaltres. Aquests són els avantpassats. Els fills i els que vénen darrere teu en aquest arbre són els vostres descendents. HTML funciona de manera similar. Els elements que es troben dins d'altres elements són els seus descendents. Per exemple, ja que gairebé tots els elements HTML estan dins de etiquetes, serien descendents d'això elements. Aquesta relació és important per entendre quan comença a treballar amb CSS i necessita orientar elements específics per aplicar estils visuals.

Elements de descens CSS

Un selector descendent de CSS s'aplica als elements que estan dins d'un altre element (o, més ben dit, un element que és descendent d'un altre element). Per exemple, una llista desordenada té una etiqueta amb etiquetes com a descendents. Utilitzem el següent HTML com a exemple:

  • aquest és un enllaç

El LI Les etiquetes són descendents de la UL etiqueta. El A L'etiqueta és descendent de tots dos el LI (descendent de fills) i UL (etiquetes descendents del nét). Si pensa fer-ho, utilitzeu l'exemple d'arbre genealògic, el

    seria el pare, el
  • seria el nen d'aquest element, i seria el fill de la
  • i el nét de la
      .

      Llavors, com orientaríeu els elements específics d'una pàgina web mitjançant aquests selectors descendents? En primer lloc, cal definir selectors descendents mitjançant dos (o més) selectors de tipus separats per espais.

      li a {text-decoration: none; }

      En aquest exemple, els estils només s'aplicarien a un element de vincle () que és descendent d'un element de llista-element (

    • ). Tots els altres enllaços de la pàgina que no siguin descendents d'un element de llista no obtindrien aquest estil.

      Una cosa important a recordar és que no importa quantes etiquetes estan entre les etiquetes que podeu utilitzar al vostre selector descendent. Si el segon element està tancat en qualsevol part del primer element, serà seleccionat com a descendent.

      Si voleu seleccionar totes les àncores que descendeixen dels elements ul, escriviu:

      ul a {text-decoration: none; }

      Ara, aquests estils s'aplicaran a qualsevol enllaç que sigui descendent d'un element de la llista. També podeu escriure aquest selector

      ul li a {text-decoration: none; }

      Aquest és un selector descendent que utilitza més de dos selectors de tipus. En aquest cas, això s'aplicarà als enllaços que es troben dins de la llista com a element i també dins d'una llista desordenada.

      Ús de selectors de classes i selectors d'identificació

      Els selectors dels quals sou descendents no han de ser sempre descendents de tipus. Per exemple, imagineu que tenia una àrea del lloc (com una divisió) amb un atribut ID de "cartellera". Podeu configurar un selector descendent fora d'aquest identificador:

      #billboard ul {background-color: #ccc; }

      Això estilitzarà la llista desordenada que és descendent d'un element amb una ID de "cartellera". Podeu fer el mateix per als valors de classe.

      div.billboard ul {background-color: #ccc; }

      Això suposa que la divisió té un valor de classe de "cartellera". El CSS anterior estilaria el

        element dins de qualsevol divisió que tingui aquest valor de classe.

        Podeu fer-vos realistes i divertits amb selectors descendents. Per exemple, si utilitzeu Dreamweaver per escriure el codi HTML, hi ha una configuració quan s'afegeixen noves regles CSS que crearan automàticament el selector segons la ubicació del cursor en aquesta pàgina. El que fa Dreamweaver en aquests casos és crear un selector descentralitzat i llargament detallat. Aquesta especificitat no és necessària perquè el vostre CSS funcioni. El que vol fer és trobar un equilibri entre un selector descendent que sigui prou específic per tal de poder esbrinar els elements exactes que necessiteu (sense dissenyar els que no voleu afectar) sense tenir regles CSS que tinguin selectors massa exagerats gran