Spring til indhold
Menu

Artikler

Løsninger til CSS Diner

CSS Diner er et genialt sted at lære CSS-selectors hurtigt. Her er løsningerne på alle 32 baner med en kort forklaring af intuitionen bag hver selector.

Anders Jensen Automatiserings- og AI-instruktør

Baner

Level 1

plate

Intuition: For at vælge alle elementer af en type angiver du bare typen.

Level 2

bento

Intuition: For at vælge alle elementer af en type angiver du bare typen.

Level 3

#fancy

Intuition: Brug en ID-selector. Brug enten [id="fancy"] eller genvejen for id, "#".

Level 4

plate apple

Intuition: En descendant selector lader dig vælge børneelementer af et andet element.

Level 5

#fancy pickle

Intuition: Vi vil have en pickle inde i en forælder med id="fancy". Det er en kombination af descendant- og ID-selectors.

Level 6

.small

Intuition: Class-selector. Med ".small" vælger vi alle elementer med den class.

Level 7

orange.small

Intuition: Kombination med class-selectoren. Vi vælger alle appelsiner med classen. Husk, at vi ikke behøver skrive class, men bare bruger "." (punktum).

Level 8

bento orange.small

Intuition: Nu bruger vi det, vi har lært. Vi vil have et bento-element med et orange-barn, der har classen "small".

Level 9

bento, plate

Intuition: Komma-kombinatoren. Brug et komma mellem dine selectors for at kombinere dem.

Level 10

*

Intuition: Brug stjernen, "*", til at vælge alt.

Level 11

plate *

Intuition: Kombinér med den universelle selector.

Level 12

plate + apple

Intuition: Vi kan bruge adjacent sibling-selectoren til at vælge alle æbler lige efter en tallerken.

Level 13

bento ~ pickle

Intuition: Brug general sibling-selectoren til at få alle pickle-elementer efter en bento.

Level 14

plate > apple

Intuition: Vi bruger child-selectoren til at vælge de æbler, der er direkte børn af en tallerken.

Level 15

orange:first-child

Intuition: For at vælge det første barn i en gruppe af børn bruger du first-child-pseudo-selectoren.

Level 16

plate > :only-child

Intuition: Brug only-child-pseudo-selectoren, ":only-child", så vi kun kigger på tallerkener med ét barn. Derefter bruger vi "plate >" til at vælge alle børn af en tallerken.

Level 17

.small:last-child

Intuition: Vi vil kun kigge på de sidste børneelementer, så vi bruger last-child-pseudo-selectoren, ":last-child". Elementerne har classen "small". Pro-tip: Husk, at vi bruger "." (punktum) for class.

Level 18

:nth-child(3)

Intuition: Vi bruger nth-child-pseudo-selectoren, "nth-child(3)", og angiver bare, at vi vil finde et element, der er det tredje barn af et andet element. Havde vi flere elementer med 3 eller flere børn, kunne vi bruge "plate:nth-child(3)".

Level 19

bento:nth-last-child(3)

Intuition: Vi vælger det 3. barn fra slutningen med nth-last-child-selectoren, ":nth-last-child(3)". Bagefter angiver vi, at vi kun vil kigge på "bento"-elementer.

Level 20

apple:first-of-type

Intuition: Vi bruger first-of-type-selectoren, ":first-of-type", og angiver derefter, at vi vil kigge på æbler.

Level 21

:nth-of-type(even)

Intuition: Med nth-of-type-selectoren, ":nth-of-type(even)", vælger vi alle lige elementer. I vores tilfælde er tallerkener de eneste elementer.

Level 22

:nth-of-type(2n+3)

Intuition: Vi vil vælge hvert andet element startende fra (og med) den tredje forekomst. Vi kunne gøre det endnu mere specifikt med "plate:nth-of-type(2n+3)", hvis der var forskellige elementer.

Level 23

apple:only-of-type

Intuition: Med only-of-type-selectoren, ":only-of-type", vælger vi apple-elementet, hvis det er det eneste af sin type i sit forældreelement. Du kan indsnævre valget med "plate apple:only-of-type".

Level 24

.small:last-of-type

Intuition: Med last-of-type-selectoren finder vi det sidste element med classen small.

Level 25

bento:empty

Intuition: Vi bruger empty-selectoren, ":empty", til at finde alle tomme bentoer.

Level 26

apple:not(.small)

Intuition: Nu er det tid til negations-pseudo-classen, ":not". Her vælger vi alle æbler, der ikke har classen "small".

Level 27

[for]

Intuition: Vi bruger attribut-selectoren og vælger alle elementer med en "for="-attribut.

Level 28

plate[for]

Intuition: Igen bruger vi attribut-selectoren og angiver, at vi vil vælge alle tallerkener med en "for="-attribut.

Level 29

[for="Vitaly"]

Intuition: For at vælge Vitalys måltid bruger vi attributværdi-selectoren og søger efter den specifikke for-værdi, "Vitaly".

Level 30

[for^="Sa"]

Intuition: Brug attribute starts with-selectoren og angiv tegnene "Sa".

Level 31

[for$="ato"]

Intuition: Ligesom i level 30 kan vi bruge attribute ends with-selectoren og søge efter for-attributværdier, der ender på "ato".

Level 32

[for*="obb"]

Intuition: Brug attribut-wildcard-selectoren på for-attributten med værdien "obb".

Du gjorde det! Alle 32 baner i CSS Diner gennemført

Kommentarer (16)

  1. Pushpendra singh

    Det er en fantastisk øvelse. Når jeg bliver forvirret over selectors, hjælper den mig meget.

    Maskinoversat fra engelsk · Vis original

    This is a great exercise whenever I get confused between selectors this helps me alot.

    1. Anders Jensen Forfatter

      Tusind tak, Pushpendra. Jeg er enig, jeg deler altid udfordringen med mine kursister.

      Maskinoversat fra engelsk · Vis original

      Thanks a lot, Pushpendra - and I agree, I always share the challenge with my students

  2. Jared

    Rettelse til level 5: #fancy pickle

    Maskinoversat fra engelsk · Vis original

    Level 5 correction: #fancy pickle

    1. Anders Jensen Forfatter

      Tusind tak, det er opdateret

      Maskinoversat fra engelsk · Vis original

      Thanks a lot, updated

  3. Hermes

    Tak for dette!

    Maskinoversat fra engelsk · Vis original

    Thank you for this!

    1. Anders Jensen Forfatter

      Det var så lidt, Hermes 😊

      Maskinoversat fra engelsk · Vis original

      My pleasaure, Hermes 😊

  4. asghar

    øhm, tak Anders......

    Maskinoversat fra engelsk · Vis original

    um, thanks Anders......

    1. Anders Jensen Forfatter

      Mange tak :)

      Maskinoversat fra engelsk · Vis original

      Many thanks :)

  5. Willy B. Hardigan

    du hjalp mig med at snyde i timen, tak

    Maskinoversat fra engelsk · Vis original

    you helped me cheat in class, thanks

    1. Anders Jensen Forfatter

      Hahaha, elsker det 😍🙌 Venlig hilsen Anders

      Maskinoversat fra engelsk · Vis original

      Hahaha, love it 😍🙌 Kind regards, Anders

  6. Gagandeep K.C.

    bro, level 32 ''[for*="obb"]'' virker ikke, ret det lige! arrrgh!

    Maskinoversat fra engelsk · Vis original

    bro, level 32 ''[for*="obb"]'' dosen't work, please fix it! urgggh!

    1. Anders Jensen Forfatter

      Jeg har lige tjekket, og det virkede 😊 Venlig hilsen Anders

      Maskinoversat fra engelsk · Vis original

      Just checked and it worked 😊 Kind regards, Anders

  7. zak

    Tak, det hjalp mig virkelig meget!

    Maskinoversat fra fransk · Vis original

    Merci, ça m'as énormément aider !

    1. Stine Høiberg Rasmussen

      Tusind tak, Zak. Vi er virkelig glade for, at du tog dig tid til at skrive denne kommentar 🙏 (Jeg håber, mit fransk er nogenlunde korrekt 🥐😊)

      Maskinoversat fra fransk · Vis original

      Merci beaucoup Zak, nous sommes vraiment heureux que tu aies pris le temps d’écrire ce commentaire 🙏 (Hope I'm somewhat correct in French 🥐😊)

  8. Martial

    Fantastisk!! Det var meget lærerigt, og jeg sætter virkelig pris på de forskellige anvendelser og eksempler.

    Maskinoversat fra engelsk · Vis original

    Great!! it was very instructive and i really appreciate the various usages ans samples.

    1. Anders Jensen Forfatter

      Tusind tak 😊 Venlig hilsen Anders

      Maskinoversat fra engelsk · Vis original

      Thanks a lot 😊 Kind regards, Anders

Skriv en kommentar

Dit navn og din kommentar vises offentligt efter godkendelse. Din e-mail vises ikke. Læs mere i privatlivspolitikken. Efter godkendelse kan kommentaren maskinoversættes til den anden sprogversion. Du kan altid se originalen.

Flere artikler

  • Hvor god er open source RPA?

    Mød Allan Zimmermann fra Randers, der udfordrede giganterne med OpenRPA: et open source-alternativ til dyre RPA-løsninger som UiPath og Automation Anywhere.

    Læs mere →
  • Drømme-RPA-setuppet: OpenRPA og Node-RED

    Drømme-setuppet til open source RPA med OpenRPA og Node-RED: ubegrænsede parallelle robotter, C# som kodesprog, orkestrering og nul licensomkostninger.

    Læs mere →
  • Byg din første agent i det nye Copilot Studio

    Trin for trin: Byg en HR-agent i det nye Copilot Studio med instruktioner, knowledge og en skill, test den i Preview, og publicér den til Teams. Med video.

    Læs mere →