Hemsida » Kodning » En titt på CSS3 först-av-typ strukturell väljare

    En titt på CSS3 först-av-typ strukturell väljare

    Denna artikel är en del av vår "HTML5 / CSS3 Tutorials-serien" - dedikerad till att göra dig till en bättre designer och / eller utvecklare. Klicka här att se fler artiklar från samma serie.

    En sak som jag älskar om CSS3 är det nya tillägget av selektorer som tillåter oss att rikta in sig specifikt utan att förlita sig på klass, id eller annat element attribut, och en som vi kommer att täcka här är följande väljare, : Första i-typ.

    De : Första i-typ väljaren kommer att rikta sig till det första barnet i det angivna elementet, till exempel kommer utsnittet nedan att rikta sig mot det första h2 på webbsidan.

     h2: förstklassig / * stildeklaration * / 

    De : Första i-typ är också lika med : N: te-of-typ (1), så snarare än att bara välja först av typen kan vi ytterligare välja den andra, den tredje och så vidare. Följande kod kommer att rikta sig mot det andra h2 element på webbsidan.

     h2: nth-of-type (2) / * stildeklaration * / 

    : Första i-typ” mot. “:förstfödde”

    Det kan tyckas att dessa två väljare gör samma sak, men det är inte så. Låt oss se följande demonstration:

    Låt oss säga att vi har fem styckselement inslagna inom a div, så här:

     

    Pragraph 1

    Pragraph 2

    Pragraph 3

    Pragraph 4

    Pragraph 5

    Nu vill vi välja första stycket med hjälp av :förstfödde väljare.

     p: första barnet vaddering: 5px 10px; gränsstråle: 2px; bakgrund: # 8960a7; färg: #fff; gräns: 1px fast # 5b456a;  

    Och som vi har väntat väljs första stycket väl.

    • : första barns demo

    Men när vi lägg till ett annat element innan första stycket, låt oss säga en h1, som snippet nedan:

     

    Rubrik 1

    Pragraph 1

    Pragraph 2

    Pragraph 3

    Pragraph 4

    Pragraph 5

    första stycket kommer inte att väljas, som första barnet inne i div är inte längre en paragraf, men är nu en h1.

    Så det här är situationen där : Första i-typ väljaren kommer att lösa problemet.

     p: förstklassig vaddering: 5px 10px; gränsstråle: 2px; bakgrund: # a8b700; färg: #fff; gräns: 1px fast # 597500;  

    • : Demo av första typen

    De “Sista” Väljare

    Där finns det “först”, då kommer det också att finnas “sista”.

    Den omvända av de två selektorerna som vi har diskuterat ovan är följande två selektorer; de :sista barnet och den : Sista av typ. De är i grunden samma som ovanstående två, förutom att de riktar sig mot sista barnet av det angivna elementet.

    Exempelvis kommer detta stycke nedan att rikta in den sista stycket inom div.

     p: sista barnet vaddering: 5px 10px; gränsstråle: 2px; bakgrund: # 8960a7; färg: #fff; gräns: 1px fast # 5b456a;  
    • : sista barns demo

    Och detta stycke kommer också att riktas mot sista stycket i samma situation som vi har diskuterat ovan; den här gången

    följs direkt av ett annat element.

     p: sista-of-typ vaddering: 5px 10px; gränsstråle: 2px; bakgrund: # a8b700; färg: #fff; gräns: 1px fast # 597500;  
    • : Demo av senaste typen

    The Selectivizr

    Precis som alla andra nya funktioner i CSS3, stöds dessa väljare inte i gamla webbläsare, främst Internet Explorer 6 till 8, med undantag för :förstfödde väljaren, eftersom den har lagts till sedan CSS2.1. Dess relativa :sista barnet var bara tillagt i CSS3.

    Så, om alla dessa väljare som vi nämnde här verkligen behövs för din webbplats, kan du använda ett JavaScript-bibliotek som heter Selectivizr att emulera dessa CSS3 väljare funktionalitet.

    Selectivizr är beroende av andra JavaScript-bibliotek för att kunna fungera, till exempel jQuery, Dojo, Prototype och MooTools; och ser från jämförelsetabellen på den officiella hemsidan, verkar MooTools kunna hantera alla selektorer.

    Så, låt oss inkludera det tillsammans med Selectivizr, enligt följande:

      

    Den villkorliga kommentaren ovan kommer att se till att dessa bibliotek bara laddas i Internet Explorer 8 och nedan.

    Slutligen kan du se demoen från följande länkar och den ska nu fungera både i moderna och gamla webbläsare (IE8 och nedan). Du kan också ladda ner källfilen för vidare undersökning. Njut av.

    • demo
    • Hämta källa