Startpagina » Coding » Hoe een CSS-lint te maken

    Hoe een CSS-lint te maken

    Wij praten over CSS-linten in webontwerp wanneer een strook van doos (lint genoemd) sluit een andere doos. Het is een redelijk gebruikte ontwerptechniek om versier tekst, vooral koppen. Op de website van W3C kunt u bekijken hoe correct gebruikte CSS-linten kunnen helpen structuur inhoud op een subtiele manier.

    Dus in dit bericht zullen we zien hoe een eenvoudig CSS-lint te maken die je kunt gebruiken om verbeter de koppen op uw website. Dankzij CSS-transformaties, we kunnen 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

    HTML-element waarnaar we later zullen kijken voeg het lintontwerp toe. We plaatsen het in een
    tag we markeren met de .kaart selector die staat voor a rechthoekdoos zal het lint wikkelen in de omgeving van.

     

    We hebben ook de basisafmetingen en de Achtergrond kleur met CSS.

     .kaart achtergrondkleur: beige; hoogte: 300 px; marge: 40px; breedte: 500 px;  

    Het middendeel van het lint

    We gebruiken een CSS-variabele (laat ons een CSS-waarde opslaan en opnieuw gebruiken) genaamd --p naar bewaar de opvulwaarde. De waarde van de vulling property gebruikt de var (- p) syntaxis voor de linker en rechter paddings van het lint, zodat het kan zijn gemakkelijk verbreed. De --p variabele later zal zijn meerdere keren hergebruikt; dat maakt onze code flexibel.

     .lint --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 centreren

    We moeten ook centreer het lint. Wij duw het naar links door de opvulgrootte (gemarkeerd door de --p variabele) met behulp van relatieve positionering.

     .lint --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 lint

    Nu maken we de linker- en rechterkant van het lint dat zou rond de rand van de kaart moeten buigen. Om dit te doen, gebruiken we beide :voor en :na pseudo-elementen van .lint.

    Beide pseudo-elementen nemen de achtergrondkleur van over .lint, en we gebruiken de filter: helderheid (.5) regel om hun kleur een beetje donkerder te maken. Zij zijn ook absoluut gepositioneerd binnen hun (relatief gepositioneerde) ouder.

    Hun breedte moet de zijn hetzelfde als de padding-maat, en we plaatsen ze aan de linker- en rechterkant van het lint de ... gebruiken links: 0 en rechts: 0 stijlregels.

     .lint: voor, .ribbon: na background-color: inherit; inhoud: "; weergave: blok; filter: helderheid (.5); hoogte: 100%; positie: absoluut; breedte: var (- p); .ribbon: before left: 0; .ribbon: after  rechts: 0; 

    Nu ziet het lint met de zijkanten die we zojuist hebben toegevoegd er zo uit:

    Schuin de zijkanten

    Om de zijkanten van het lint te maken kijk gebogen, we moeten scheef de zijkanten 45 °. De transformeren: skewy () CSS-regel scheeft elementen verticaal uit.

     .lint: voor links: 0; transform: skewY (45deg);  .ribbon: after right: 0; transform: skewY (-45deg);  

    Zoals je de randen van de zijkanten kunt zien niet uitlijnen na de transformatie, dus dat moeten we doen trek ze naar beneden.

    Lijn de zijkanten uit

    Naar bepaal de juiste lengte waardoor we de zijkanten naar beneden moeten verplaatsen, wenden we ons tot trigonometrie. Wat we moeten vinden is X, zoals Y is de breedte van de zijkanten (is gelijk aan de padding-afmeting van .lint) en de hoek θ is 45 ° (de hoek van de skew).

    Het resultaat X dan moet worden gehalveerd, want er zijn ook een linker- en een rechterkant.

    Als u een CSS preprocessor gebruikt, controleer dan of deze een bruinen functie, anders verwijzen naar een tangensgrafiek of een rekenmachine naar ontdek de tangenswaarde van de hoek. We hebben geluk als tan 45 ° is 1, wat betekent dat de waarde van X is gelijk aan Y in ons geval.

     .lint: voor, .ribbon: na background-color: inherit; inhoud: "; weergave: blok; filter: helderheid (.5); hoogte: 100%; positie: absoluut; top: calc (var (- p) / 2); width: var (- p); 

    Sinds X moest worden gehalveerd, we gebruiken de calc () CSS-functie om de verdeling van de --p veranderlijk.

    Eindelijk moeten we dat doen lijn de zijkanten langs de z-as uit zo goed, dus laten we het toevoegen z-index: -1 regel aan de zijkanten om plaats ze achter het middengedeelte van het lint.

     .lint: voor, .ribbon: na background-color: inherit; inhoud: "; display: block; filter: brightness (.5); height: 100%; position: absolute; top: calc (var (- p) / 2); width: 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.