Lijstmarkeringskleur css. Hoe u de kleur van een HTML-lijstmarkering kunt wijzigen met behulp van CSS



Verander de kleur van opsommingstekens in de HTML-lijst zonder bereik te gebruiken (6)

Voor mij is de beste optie om CSS-pseudo-elementen te gebruiken, dus voor disc bullet disc zou het er als volgt uitzien:

ul ( lijststijltype: geen; ) li ( position: relatief; ) li:before ( inhoud: ""; weergave: blok; positie: absoluut; breedte: 5px; /* aanpassen aan uw behoeften */ hoogte: 5px; /* aanpassen aan uw behoeften */ border-radius: 50%; /* aanpassen aan uw behoeften */ top: 0.5em /* aanpassen aan uw behoeften * / )

  • Eerst
  • seconde
  • derde

  • breedte en hoogte moeten gelijke waarden zijn om de wijzers afgerond te houden
  • je kunt de randradius op nul zetten als je vierkante kogels wilt hebben

Voor meer opsommingstekenstijlen kunt u andere CSS-vormen gebruiken https://css-tricks.com/examples/ShapesOfCSS/ (kies deze waarvoor geen pseudo-elementen zoals driehoeken nodig zijn)

Ik vroeg me af of er een manier was om de kleur van de opsommingstekens in de lijst te veranderen.

Ik heb een lijst:

  • Huis
  • Tuin

Het is niet mogelijk om iets in li in te voegen, zoals "span" en "p". Kan ik de kleur van de kogels, maar niet de tekst, op een slimme manier veranderen?

Als je een afbeelding kunt gebruiken, kun je het doen. En zonder afbeelding kun je de kleur van het opsommingsteken niet wijzigen, en niet de tekst.

Een afbeelding gebruiken

Li (lijst-stijl-afbeelding: url(images/uwafbeelding.jpg); )

Zonder gebruik te maken van een afbeelding

Vervolgens moet u de HTML-opmaak bewerken en de reeks in de lijst opnemen en zowel de reeks als de reeks met verschillende kleuren kleuren.

Ik vond het antwoord van Mark ook erg leuk: ik heb een reeks verschillend gekleurde UL's nodig en het zou uiteraard gemakkelijker zijn om gewoon een klasse te gebruiken. Dit is wat ik bijvoorbeeld voor de sinaasappel heb gebruikt:

Ul.orange ( lijststijl: geen; opvulling: 0px; ) ul.orange > li:before ( inhoud: "\25CF "; lettergrootte: 15px; kleur: #F00; marge-rechts: 10px; opvulling: 0px ;lijnhoogte: 15px;

Ook ontdekte ik dat de hexadecimale code die ik gebruikte voor "content:" anders was dan die van Marc (degene die ik gebruikte leek perfect in het midden te zitten). , cirkels, enz.)

We kunnen lijst-stijl-afbeelding combineren met SVG's, wat we kunnen insluiten in css! Deze methode biedt ongelooflijke controle over "kogels" die van alles kunnen worden.

Om een ​​rode cirkel te krijgen, gebruik je de volgende CSS:

"); }

Maar dit is nog maar het begin. Hierdoor kunnen we met deze kogels alles doen wat we willen. cirkels of rechthoeken zijn gemakkelijk, maar alles wat je met SVG kunt tekenen, kun je daar naartoe! Zie het appelappelvoorbeeld hieronder:

ul ( list-style-image: url("data:image/svg+xml, "); ) ul ul ( list-style-image: url("data:image/svg+xml, "); ) ul ul ul ( lijst-stijl-afbeelding: url("data:image/svg+xml, "); ) ul ul ul ( list-style-image: url("data:image/svg+xml, "); ) ul.bulls-eye ( list-style-image: url("data:image/svg+xml, "); ) ul.multi-color ( list-style-image: url("data:image/svg+xml, "); }

  • Grote cirkels!
    • Grote rechthoeken!
    • B
      • Kleine cirkels!
      • C
        • Kleine rechthoeken!
  • Stieren
  • ogen.
  • Multi
  • kleur

Kenmerk breedte/hoogte

Sommige browsers vereisen dat de attributen width en height worden ingesteld , of ze geven niets weer. Op het moment van schrijven vertonen de nieuwste versies van Firefox dit probleem. Ik heb beide attributen in de voorbeelden ingesteld.

Coderingen

Voortbouwend op de oplossingen van zowel @Marc als @jessica, is dit de oplossing die ik gebruik:

Li ( positie: relatief; ) li:before ( inhoud:""; weergave: blok; positie: absoluut; breedte: 6px; hoogte:6px; randradius:6px; links: -20px; boven: .5em; achtergrond- kleur: #000;

Ik gebruik em voor lettergroottes, dus als je top instelt op .5em, wordt het altijd in het midden van je eerste regel tekst geplaatst. Ik heb left:-20px gebruikt omdat dit de standaard left:-20px-positie is in browsers: parent padding/2

Ik weet dat dit een heel, heel oude vraag is, maar ik speelde ermee en kwam op een manier die ik nog niet had gezien. Geef de lijst een kleur en overschrijf vervolgens de tekstkleur met de ::first-line selector::first-line . Ik ben geen expert, dus het kan zijn dat er iets mis is met deze aanpak die ik over het hoofd zie, maar het lijkt te werken.

li ( kleur: blauw; ) li::eerste regel ( kleur: zwart; )

  • Huis
  • Tuin

Dit tutorialartikel zal zich richten op het werken met lijsten in CSS, je leert hoe je het type opsommingsteken kunt wijzigen, de locatie van het opsommingsteken ten opzichte van het lijstitem, je eigen opsommingstekens kunt maken en zelfs de kleur van het opsommingsteken kunt wijzigen.

Ik denk dat je al weet dat HTML 5 twee hoofdtypen lijsten gebruikt (exclusief beschrijvingslijsten en menu-items):