Hoe een CSS-lint te maken
We praten over CSS-linten in webontwerp wanneer een strook met een doos (lint genaamd) een andere doos omwikkelt . Het is een redelijk gebruikte ontwerptechniek om tekst te versieren, met name koppen. Op de website van W3C kunt u bekijken hoe correct gebruikte CSS-linten kunnen helpen bij het structureren van inhoud op een subtiele manier.
Dus, in deze post zullen we zien hoe je een eenvoudig CSS-lint kunt maken dat je kunt gebruiken om de koppen op je website te verbeteren . Dankzij CSS-transformaties kunnen we dit ontwerp maken met een veel eenvoudiger codebasis dan voorheen.
Je kunt een kijkje nemen bij de laatste demo hieronder.
HTML & basisstijlen
Eerst maken we een .card
selector die een rechthoekige doos vertegenwoordigt die door het lint wordt omwikkeld .
We stellen ook de basisafmetingen en de achtergrondkleur in met CSS.
.card {achtergrondkleur: beige; hoogte: 300 px; marge: 40px; breedte: 500 px; }
Het middengedeelte van het lint
We zullen een CSS-variabele gebruiken (staat ons toe om een CSS-waarde op te slaan en opnieuw te gebruiken) genaamd --p
om de opvullingswaarde op te slaan . De waarde van de padding
eigenschap gebruikt de syntaxis var(--p)
voor de linker en rechter paddings van het lint, zodat deze gemakkelijk kan worden verbreed . De --p
variabele zal later meerdere keren worden hergebruikt ; dat maakt onze code flexibel.
.ribbon {--p: 15px; achtergrondkleur: rgb (170, 170, 170); hoogte: 60 px; opvulling: 0 var (- p); breedte: 100%; }
Op de onderstaande schermafbeelding kunt u zien hoe uw demo er op dit moment uitziet:
Het lint centrerenWe moeten ook het lint centreren . We duwen het naar links door de padding-maat (gemarkeerd door de variabele --p
) met behulp van relatieve positionering.
.ribbon {--p: 15px; achtergrondkleur: rgb (170, 170, 170); hoogte: 60 px; opvulling: 0 var (- p); positie: relatief; rechts: var (- p); breedte: 100%; }
De bijgewerkte demo:
De zijkanten van het lintNu maken we de linker- en rechterkant van het lint dat zich schijnbaar moet buigen rond de rand van de kaart. Om dit te doen gebruiken we zowel de :before
en :after
pseudo-elementen van .ribbon
.
Beide pseudo-elementen nemen de achtergrondkleur van .ribbon
en we gebruiken de filter: brightness(.5)
-regel om hun kleur een beetje donkerder te maken. Ze zijn ook absoluut gepositioneerd binnen hun (relatief gepositioneerde) ouder.
Hun breedte moet gelijk zijn aan de padding-maat, en we plaatsen ze aan de linker- en rechterkant van het lint met behulp van de left: 0
en right: 0
style-regels.
.ribbon: before, .ribbon: after {background-color: inherit; inhoud:''; weergave: blok; filter: helderheid (.5); hoogte: 100%; positie: absoluut; breedte: var (- p); } .ribbon: before {left: 0; } .ribbon: after {right: 0; }
Nu ziet het lint met de zijkanten die we zojuist hebben toegevoegd er als volgt uit:
Schuin de zijkantenOm de zijkanten van het lint gebogen te laten lijken, moeten we de zijkanten 45 ° scheeftrekken . De transform: skewy()
CSS-regel scheeft elementen verticaal uit .
.ribbon: before {left: 0; transform: skewY (45deg); } .ribbon: after {right: 0; transform: skewY (-45deg); }
Zoals je kunt zien, zijn de randen van de zijkanten niet uitgelijnd na de transformatie, dus we moeten ze naar beneden trekken .
Lijn de zijkanten uitOm de juiste lengte te bepalen waarmee we de zijden naar beneden moeten verplaatsen, schakelen we over naar trigonometrie. Wat we moeten vinden is x
, omdat y
de breedte van de zijden is (gelijk aan de padding-afmeting van .ribbon
) en de hoek θ
45 ° is (de hoek van de skew).
De resulterende x
moet dan worden gehalveerd, want er zijn ook een linker- en een rechterkant.
tan
functie heeft, of gebruik anders een tangensgrafiek of een rekenmachine om de tangenswaarde van de hoek te achterhalen . We hebben geluk, want tan 45°
1
, wat betekent dat de waarde van x
in ons geval gelijk is aan y
..ribbon: before, .ribbon: after {background-color: inherit; inhoud:''; weergave: blok; filter: helderheid (.5); hoogte: 100%; positie: absoluut; top: calc (var (- p) / 2); breedte: var (- p); }
Omdat x
moest worden gehalveerd, gebruiken we de calc()
CSS-functie om de verdeling van de variabele --p
te voeren.
z-index: -1
regel aan de zijkanten toevoegen om ze achter het middengedeelte van het lint te plaatsen ..ribbon: before, .ribbon: after {background-color: inherit; inhoud:''; weergave: blok; filter: helderheid (.5); hoogte: 100%; positie: absoluut; top: calc (var (- p) / 2); breedte: var (- p); z-index: -1; }
Nu we de zijkanten hebben uitgelijnd, is ons CSS-lint klaar.
Hieronder kun je de live demo opnieuw bekijken, houd er rekening mee dat er ook een aantal extra stijlen worden gebruikt.10 geweldige notebooks die u kunt kopen
Digitale notitie-apps werken niet voor iedereen als het gaat om het organiseren van uw dagelijkse routine. Voor sommige mensen creëren te veel piepjes, waarschuwingen en meldingen afleiding, en daarom voelen ze zich prettiger in het gebruik van een notebook of planner om hun notities en takenlijsten daadwerkelijk op te schrijven .
Inhuur van Gen-Z-medewerkers: 8 dingen die u moet weten
Generatie Z zijn degenen die zijn geboren in het midden van de jaren 90 tot begin jaren '00, die allemaal in principe een gemakkelijkere tijd hadden met tablets dan met wandelaars op peuterleeftijd. Dit is de demografische tech startups zoals de mijne zijn nog steeds aan het uitzoeken of ze een job willen nastreven