Startpagina » Coding » Sass-zelfstudie Een online vCard bouwen met Sass & Compass

    Sass-zelfstudie Een online vCard bouwen met Sass & Compass

    Vandaag gaan we onze discussie over Sass voortzetten en dit zal het laatste deel zijn van onze Sass-serie. Deze keer, in plaats van een theoretische benadering, zal dit een beetje meer praktisch zijn. We zullen samen met Compass een online vCard maken met behulp van Sass.

    Het idee is dat de vCard gemakkelijk aanpasbaar moet zijn, voor kleur en grootte. In dit proces zullen we enkele Sass- en Compass-functies gebruiken zoals Variabelen, Mixins, Operaties, Selectoren Overerving, Geneste Regels en Compass Helpers. Als je onze vorige berichten uit deze serie hebt gemist, raden we je aan deze eerst te bekijken voordat je verdergaat.

    Planning en wireframing

    Bij het werken met Sass en Compass, planning is essentieel. We moeten meestal een goed beeld hebben van hoe ons uiteindelijke resultaat (bijvoorbeeld pagina of website) zal zijn. Het is handig om op bepaalde sites te browsen zoals Behance of Dribbble voor ideeën. Vervolgens kunnen we de ideeën op papier zetten of in een draadframe construeren, zoals in onderstaand voorbeeld.

    Zoals je kunt zien aan de afbeelding hierboven, bevat onze vCard contact informatie over 'John' - een fotoprofiel, wat informatie over John, zoals zijn naam, e-mailadres, telefoonnummer en een korte beschrijving van wie hij is of wat hij doet. Dat zal onze 'bio'-sectie zijn.

    Hieronder zijn sociale identiteiten in de vorm van sociale knoppen. Dit wordt onze 'sociale' sectie.

    Activa voorbereiden

    Voordat we beginnen met coderen, zijn hier enkele essentiële dingen om je voor te bereiden. Ik begrijp dat je nu Sass en Compass op je computer moet hebben geïnstalleerd.

    (Als u niet zeker weet of u ze hebt geïnstalleerd, kunt u deze opdracht uitvoeren sass -v of kompas -v door Command Prompt of Terminal of u kunt altijd een applicatie als de Scout-app gebruiken als u liever met een grafische gebruikersinterface werkt.)

    We hebben ook een aantal middelen nodig, zoals lettertypepictogrammen en pictogrammen voor sociale media, die u kunt krijgen van plaatsen als ModernPictograms.

    Ten slotte moeten we, omdat we Command Prompt / Terminal gebruiken voor deze tutorial, naar onze directory navigeren en Compass-project uitvoeren met deze twee opdrachten: kompas init en kompas kijken.

    HTML-markup

    Hieronder staat de HTML-markering van onze vCard, het is vrij eenvoudig. Alle secties zijn verpakt in logische HTML5-tag

    .

     
    • Thoriq Firdaus
    • [email protected]
    • (+62) 1.2345.678.9
    • Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse dolor neque, eleifend bij pellentesque quis, convallis sit amet tellus. Etiam et auctor arcu.

    Zoals je hierboven kunt zien, zijn de sociale identiteiten opgenomen in de 'sociale'sectie is gestructureerd binnen lijstelementen, zodat we ze gemakkelijk naast elkaar kunnen weergeven. Elk van hen krijgt een klasnaam volgens deze conventie sociaal-facebook, sociaal-twitter, sociaal-google enzovoorts.

    Compass-configuratie

    We moeten Compass een beetje configureren door een paar regels in te klaren config.rb bestand, als volgt:

     # U kunt hier uw gewenste uitvoerstijl selecteren (kan via de opdrachtregel worden opgeheven): output_style =: expanded # Om relatieve paden naar assets in te schakelen via kompashelperfuncties. Uncomment: relative_assets = true # Foutopsporing bij opmerkingen uitschakelen die de oorspronkelijke locatie van uw selectors weergeven. Uncomment: line_comments = false 

    Als je het niet kunt vinden config.rb bestand, hebt u waarschijnlijk deze opdracht niet uitgevoerd kompas init in uw projectdirectory.

    Bestanden importeren

    Omdat we Compass zullen gebruiken, moeten we het importeren met behulp van;

     @import "kompas"; 

    En het is mijn persoonlijke voorkeur om standaardstijlen opnieuw in te stellen vanuit de browsers, zodat de uitvoer consistenter wordt weergegeven. Kompas heeft in dit geval een resetmodule. Deze module is gebaseerd op Eric Meyer's CSS-reset en kan worden geïmporteerd met behulp van;

     @import "kompas / reset"; 

    Ik gebruik dit echter liever met Normalize komt ook in Sass / Scss-formaat. Download het bestand hier, sla het op sass werkmap en importeer deze in ons stylesheet.

     @import "normaliseren"; 

    Aanbevolen lezing: Herziening van prioriteitsniveau van CSS-stijl

    Variabelen

    We zullen zeker een paar constante waarden in het stylesheet hebben, dus zullen we ze opslaan in variabelen en deze twee variabelen hieronder zullen de basiskleur van onze vCard bepalen.

     $ base: #fff; $ dark: darken ($ base, 10%); 

    Terwijl de $ breedte onderstaande variabele is de breedte van onze pagina; het zal ook de basis zijn voor het definiëren van andere elementgroottes.

     $ width: 500px; $ spatie: $ width / 25; // = 20 px 

    En de $ ruimte variabele, zoals u kunt zien, is de standaardafstand of kolomgrootte in onze vCard die in dit voorbeeld zou zijn 20px;

    Compass heeft ook Helpers om beeldafmetingen te detecteren en we zullen deze functie als volgt gebruiken in ons beeldprofiel;

     $ img: image-width ("me.jpg") + (($ spatie / 4) * 2); 

    De extra toevoeging van (($ spatie / 4) * 2) in de bovenstaande code, is het berekenen van de totale beeldbreedte inclusief de rand die de afbeelding zal kaderen. Een frame heeft over het algemeen twee zijden; boven en onder / links en rechts, daarom vermenigvuldigen we het resultaat van de divisie door 2.

    Selector Inheritance

    Er zijn blijkbaar een paar selectors in ons stylesheet die dezelfde stijlregels zullen hebben. Om herhaling in onze code te voorkomen, moeten we deze stijlen eerst specificeren en deze erven met de @uitbreiden richtlijn indien nodig. Deze methode staat in Sass bekend als Selector Inheritance, een zeer nuttige functie die ontbreekt in LESS.

     .float-left float: left;  .box-sizing @include box-sizing (border-box);  

    stijlen

    Wanneer alles wat nodig is is ingesteld, is het tijd om onze vCard te stylen, te beginnen met een achtergrondkleur in ons HTML-document;

     html height: 100%; achtergrondkleur: $ basis;  

    vCard

    De volgende stijlen definiëren de vCard-wrapper. Als u eerder met LESS hebt gewerkt, zal deze code u bekend en gemakkelijk verteerbaar zijn.

     .vcard width: $ width; marge: 50px auto; achtergrondkleur: donkerder ($ basis, 5%); border: 1px solid $ dark; @ include border-radius (3px); ul opvulling: 0; marge: 0; li lijststijl: geen;  

    De breedte van de wraver neemt de waarde over van $ breedte variabel. De achtergrondkleur is donkerder door 5% van de basiskleur, terwijl de randkleur donkerder wordt door 10%. Deze kleuring wordt bereikt met behulp van Sass-kleurfuncties.

    De vCard heeft ook 3px straal van afgeronde hoeken die wordt bereikt met behulp van Compass CSS3 Mixins; border-radius (3px).

    Bio Section

    Zoals we al eerder in deze tutorial hebben opgemerkt, kan de vCard in twee secties worden verdeeld. Deze geneste stijlen hieronder definiëren het eerste gedeelte dat het beeldprofiel bevat met een paar details (naam, e-mail en telefoon).

     .bio border-bottom: 1px solid $ dark; opvulling: $ spatie; @extend .box-sizing; img @extend .float-left; weergave: blok; border: ($ space / 4) solid #ffffff;  .detail @extend .float-left; @extend .box-sizing; kleur: donkerder ($ base, 50%); marge: links: $ spatie; onderaan: $ spatie / 2;  width: $ width - (($ space * 3) + $ img); li &: voor width: $ spatie; hoogte: $ spatie; margin-right: $ space; font-family: "ModernPictogramsNormal";  & .name: before content: "f";  & .email: before content: "m";  & .phone: before content: "N";  

    Er is één ding uit de bovenstaande code dat we denken dat je een melding moet maken. De breedte in .detail- selector wordt gespecificeerd met deze vergelijking $ width - (($ spatie * 3) + $ img);.

    Deze vergelijking wordt gebruikt om de details dynamisch te berekenen breedte door de breedte van het beeldprofiel en de spaties (opvulling en marge) af te trekken van de totale breedte van de vCard.

    Sociale sectie

    De onderstaande stijlen zijn voor het tweede gedeelte in de vCard. Er is hier geen verschil met gewone CSS, alleen nu zijn ze genest en worden enkele waarden gedefinieerd met variabelen.

     .sociaal achtergrondkleur: $ donker; breedte: 100%; opvulling: $ spatie; @extend .box-sizing; ul text-align: center; li display: inline-block; breedte: 32px; hoogte: 32 px; een text-decoration: none; weergave: inline-block; breedte: 100%; hoogte: 100%; tekst-inspringing: 100%; white-space: nowrap; overloop verborgen;  

    In deze sectie zullen we de social media-pictogrammen weergeven met behulp van de beeldspritechniek en Compass heeft een functie om die taak sneller uit te voeren.

    Allereerst moeten we onze pictogrammen in een speciale map plaatsen - laten we de map een naam geven / Sociale /, bijvoorbeeld. Terug in het stylesheet, voegt u die pictogrammen samen met het volgende @importeren regel.

     @import "social / *. png"; 

    De sociale / hierboven verwijzen we naar de map waarin we de pictogrammen opslaan. Deze map moet worden genest in de map met afbeeldingen. Als we nu naar onze afbeeldingsmap kijken, zien we een sprite-afbeelding die is gegenereerd met willekeurige tekens, zoals sociaal-sc805f18607.png. Op dit moment gebeurt er niets aan de voorkant, totdat we de stijlen toepassen met de volgende regel.

     @ omvatten alle sociale-sprites; 

    Eindresultaat

    Eindelijk, na al het harde werk kunnen we het resultaat nu als volgt zien:

    Als we dat denken 500px is te breed later, we hoeven alleen de waarde in te wijzigen $ breedte variabele - bijvoorbeeld, 350px - de rest zal “bij toverslag” wees aangepast. Je kunt ook met de kleurenvariabele experimenteren.

    • Demo bekijken
    • Download de bron

    Conclusie

    In deze zelfstudie hebben we u laten zien hoe u een eenvoudige online vCard kunt bouwen met Sass en Compass; dit is slechts een voorbeeld. Sass en Compass zijn inderdaad krachtig, maar soms is het niet nodig. Als we bijvoorbeeld werken aan een website met een paar pagina's en waarschijnlijk ook minder lijnen met stijlen nodig hebben, wordt het gebruik van Sass en Compass als overdreven beschouwd.

    Dit bericht sluit onze Sass-serie en we hopen dat je het leuk vond. Als u vragen heeft over dit onderwerp, aarzel dan niet om het toe te voegen in het opmerkingenveld hieronder.