Hoewel Bootstrap en Foundation misschien wel de twee meest populaire front-end frameworks zijn bij webontwerpers, introduceer ik in dit artikel de functies van UIkit, een lichtgewicht en modulair front-end framework dat ik gebruik in bijna al mijn projecten.
Notitie: In dit artikel wordt ervan uitgegaan dat u bekend bent met hoe front-end frameworks werken. Ook is het belangrijkste doel van dit artikel niet om uitgebreid afzonderlijke delen van dit raamwerk te dekken (bijvoorbeeld het rastersysteem). In plaats daarvan concentreren we ons op het kort presenteren van verschillende nuttige UIkit-functies.
UIkit is gebouwd en wordt onderhouden door YOOtheme, een Duits bedrijf dat is gespecialiseerd in het bouwen van thema's en toepassingen voor het web.
Er zijn een paar verschillende opties beschikbaar voor het opnemen van UIkit in uw projecten. U kunt een pakketbeheerder gebruiken zoals Bower, een Content Delivery Network zoals cdnjs, of u kunt het handmatig downloaden van zijn GitHub-pagina. Merk op dat UIkit jQuery vereist, dus zorg ervoor dat je dat in je projecten hebt opgenomen.
Voor deze tutorial gebruiken we cdnjs om de vereiste UIkit-bestanden naar onze CodePen-demo's te halen. Meestal zullen we voor de eenvoud de uikit.min.css
en uikit.min.js
bestanden. In de laatste twee voorbeelden voegen we echter ook enkele extra bestanden toe die niet zijn opgenomen in het kernraamwerk. Houd er rekening mee dat UIkit modulair is, waardoor we alleen de bestanden kunnen laden die echt nodig zijn.
Je kunt op deze pagina meer lezen over de structuur van UIkit.
Het raamwerk is volledig aanpasbaar. Voordat we kunnen downloaden, kunnen we de standaardstijlen overschrijven en onze eigen stijlen toepassen. Als we bijvoorbeeld de standaard breekpunten willen wijzigen, kunnen we de aanpassingspagina bezoeken en de Geavanceerde modus keuze. Vanaf daar vinden we de breekpunten sectie en voeg onze nieuwe breekpunten toe. Vervolgens krijgen we het nieuw gegenereerde CSS-bestand.
UIkit werkt in alle recente browsers, met name:
Afbeelding afkomstig van de GitHub-pagina van UIkitHet is nu tijd om enkele nuttige UIkit-functies te verkennen die u misschien zou willen gebruiken in een van uw aankomende projecten!
UIkit biedt zijn Grid en Flex-componenten voor het bouwen van responsieve lay-outs. Om een beter begrip te krijgen van hoe deze componenten werken, maken we een eenvoudige lay-out. Voordat we dat doen, moeten we het toevoegen uikit.min.css
bestand naar ons voorbeeld.
Dit zijn de vereisten:
De opmaak ziet er zo uit:
Let op de .kaart
elementen binnen onze kolommen. Om stilistische redenen passen we enkele basisstijlen toe:
.kaart background: # e0e0e0; opvulling: 10px; margin-top: 35px;
Hier is de demo van Codepen:
Zoals je kunt zien in de bovenstaande demo (wanneer de breedte van het kijkvenster groter is dan 767px), is de .kaart
elementen vullen de volledige hoogte van de ouder niet. Laten we aannemen dat we dat willen laten gebeuren.
Een snelle oplossing zou kunnen zijn om doelelementen te geven hoogte: 100%
, rechts? Dit werkt echter niet in sommige browsers (bijvoorbeeld Safari), dus we moeten die benadering verlaten en zoeken naar een alternatief. Een truc is om de kolommen te definiëren als flexibele containers door ze de klasse te geven uk-flex
. Dus als we de pagina opnieuw testen, zien we dat het .kaart
elementen nemen de bovenliggende hoogte over. Als u meer informatie wilt over waarom die oplossing werkt, raad ik u aan om naar deze Stack Overflow-thread te kijken.
Hier is de bijgewerkte demo:
Als je fan bent van op scrollen gebaseerde animaties, zul je de Scrollspy-component van UIkit zeker waarderen. Met dit onderdeel kunnen we animaties en gebeurtenissen activeren terwijl we de pagina op en neer scrollen. Laten we een levend voorbeeld bekijken om te begrijpen hoe het werkt.
Voor dit voorbeeld nemen we de uikit.min.css
en uikit.min.js
bestanden in ons project.
De codestructuur is vergelijkbaar met het vorige voorbeeld. Ons doel hier is om verschillende animaties te activeren wanneer de elementen met de klasse van blauw
(in totaal vijf elementen) voer de viewport in. Om dit gedrag te implementeren, voegen we de data-uk-scrollspy
attribuut aan de doelelementen; hun waarde is een configureerbaar object dat de eigenlijke animatie bestuurt. Bijvoorbeeld, de cls
objecteigenschap slaat het animatietype op:
Een deel van de vereiste markup wordt hieronder getoond: Hier is de bijbehorende Codepen-demo: UIkit biedt een handige manier om het uiterlijk van SVG's te controleren. In plaats van onze HTML op te zwellen met inline SVG's, kunnen we gebruiken De markup voor een SVG is zo simpel als volgt: Nu in de CSS kunnen we het aanpassen. In ons geval veranderen we bijvoorbeeld een paar basisstijlen: De Codepen-demo: Er zijn momenten waarop we een achtergrondafbeelding willen om het responsieve gedrag van een Om dit te laten werken, moeten we de Met dat in gedachten, om een responsieve achtergrondafbeelding te maken met inhoud die verticaal en horizontaal gecentreerd is, hebben we HTML nodig die er als volgt uitziet: In onze CSS moeten we nu de achtergrondafbeelding voor de bovenste ouder specificeren (natuurlijk kunnen we ook een inline achtergrondafbeelding toevoegen): Dat geeft ons het volgende resultaat: UIkit biedt de Overlay-component om beeldoverlays te bouwen. Het leuke aan deze component is dat deze overlays verschillende stijlen hebben met veel interessante opties. Voor dit gedrag is het enige vereiste bestand Wees niet bang voor bovenstaande code. Het grootste deel is het gevolg van een aantal helperklassen die we aan onze afbeeldingen hebben toegevoegd. Lees voor meer informatie de documentatie voor dit onderdeel. Hier is de ingebouwde Codepen-demo: Een van de coolste UIkit-componenten is de component Slideshow. Dit stelt ons in staat om mooie responsieve diavoorstellingen te creëren (kijk of je kunt raden). Om het te demonstreren, laten we een responsieve diavoorstelling op volle breedte bouwen. Hier zijn de UIkit-bestanden die we nodig hebben: De code voor de diavoorstelling ziet er als volgt uit: Twee dingen zijn hier het vermelden waard: Bekijk de bijbehorende demo van Codepen hieronder: Een ander handig onderdeel is het Sticky-onderdeel. Laten we het in actie zien door een plakkerige kop te maken. Nogmaals, hier zijn de vereiste UIkit-bestanden: In onze opmaak voegen we de Hier is een deel van de HTML-code: Voor dit voorbeeld geven we geen waarden door aan de De bijbehorende Codepen-demo: Ik hoop dat je deze snelle fluit-stop tour van UIkit leuk vond en hebt een idee weggenomen van wat we kunnen bouwen met dit geweldige framework. Natuurlijk zijn er zoveel andere geweldige componenten beschikbaar waar we niet in duiken, dus ik moedig je aan om zelf verder te kijken. Last but not least zal er de komende maanden een nieuwe UIkit-versie (v.3) worden gelanceerd met nog interessantere functies. Blijf kijken! Als je nog vragen hebt over UIkit, laat het me dan weten in de reacties hieronder.SVG's manipuleren
img
tags om onze SVG's te laden en vervolgens de data-uk-svg
attribuut aan die tags. Op deze manier worden de afbeeldingen geconverteerd naar inline SVG's die we later kunnen manipuleren. Dit gedrag is mogelijk als we de uikit.min.js
bestand naar ons project.svg width: 100px; hoogte: auto; invullen: kastanjebruin;
Responsieve achtergrondafbeeldingen
img
label. Om dit te doen, kunnen we gebruikmaken van UIkit's Cover-component. Dus, eerst voegen we de uk onzichtbare
klasse tot een img
tag en wikkel het vervolgens in een bovenliggend element met de klasse van uk-cover-achtergrond
. Vervolgens kunnen we optioneel de Utility- en Flex-componenten gebruiken om inhoud boven op de achtergrondafbeelding te positioneren.uikit.min.css
bestand in ons project.div.uk-cover-background background-image: url (IMAGE_PATH);
Overlays maken
uikit.min.css
. Een voorbeeld van de vereiste markup voor het maken van vier overlays wordt hieronder weergegeven:Responsieve slideshows op volledig scherm creëren
uikit.min.css
slideshow.min.css
slidenav.min.css
uikit.min.js
slideshow.min.js
data-uk-slideshow
attribuut is een configureerbaar object dat het uiterlijk van onze diavoorstelling bepaalt. Sticky Headers maken
uikit.min.css
sticky.min.css
uikit.min.js
sticky.min.js
data-uk-sticky
toeschrijven aan de hoofd
element. Ook gebruiken we, alleen om stilistische redenen, de component navbar om de navigatiebalk te bouwen.
data-uk-sticky
attribuut. Maar als we het standaardgedrag van het sticky-element willen aanpassen, moeten we het object dat als waarde is doorgegeven, wijzigen in dit kenmerk. Conclusie