Izpētiet modernas CSS tehnikas, kas pārsniedz tādus ietvarus kā Bootstrap. Uzziniet par CSS Grid, Flexbox, pielāgotajām īpašībām un citām iespējām, lai izveidotu veiktspējīgas un uzturējamas vietnes.
Modernais CSS: Ārpus Bootstrap un ietvariem
Daudziem izstrādātājiem ceļojums tīmekļa izstrādē sākas ar CSS ietvariem, piemēram, Bootstrap vai Foundation. Šie ietvari nodrošina ātru un vienkāršu veidu, kā izveidot adaptīvas un vizuāli pievilcīgas vietnes. Tomēr, paļaujoties tikai uz ietvariem, var rasties uzpūsts kods, pielāgošanas trūkums un ierobežota izpratne par galvenajiem CSS konceptiem. Šajā rakstā ir aplūkots, kā pārsniegt ietvarus un izmantot modernas CSS tehnikas, lai izveidotu veiktspējīgākas, uzturējamākas un pielāgotas vietnes.
CSS ietvaru valdzinājums un ierobežojumi
CSS ietvari piedāvā vairākas priekšrocības:
- Ātra izstrāde: Iepriekš izveidoti komponenti un utilītas ievērojami paātrina izstrādes procesu.
- Adaptīvs dizains: Ietvari parasti ietver adaptīvus režģus un komponentus, kas pielāgojas dažādiem ekrāna izmēriem.
- Saderība ar dažādām pārlūkprogrammām: Ietvari bieži vien risina saderības problēmas ar dažādām pārlūkprogrammām, nodrošinot konsekventu lietotāja pieredzi.
- Kopienas atbalsts: Lielas kopienas nodrošina plašus resursus, dokumentāciju un atbalstu.
Tomēr ietvariem ir arī ierobežojumi:
- Uzpūsts kods: Ietvari bieži vien ietver stilus un komponentus, kas jums nav nepieciešami, kā rezultātā CSS faili ir lielāki un lapas ielādes laiks ir ilgāks.
- Pielāgošanas trūkums: Ietvaru stilu ignorēšana var būt sarežģīta un var izraisīt specifiskuma problēmas.
- Ierobežota CSS izpratne: Paļaušanās tikai uz ietvariem var kavēt jūsu izpratni par fundamentāliem CSS konceptiem.
- Atkarība no atjauninājumiem: Ietvaru atjauninājumi var ieviest izmaiņas, kas var lauzt kodu, un pieprasīt koda pārrakstīšanu.
- Vispārīgs izskats: Vietnes, kas izveidotas, izmantojot vienu un to pašu ietvaru, bieži vien var izskatīties līdzīgas, padarot grūti izveidot unikālu zīmola identitāti.
Modernu CSS tehniku izmantošana
Modernais CSS piedāvā jaudīgas funkcijas, kas ļauj izveidot sarežģītus izkārtojumus, izveidot satriecošas animācijas un rakstīt vieglāk uzturējamu kodu, nepaļaujoties uz ietvariem.
1. CSS Grid Layout
CSS Grid Layout ir divdimensiju izkārtojuma sistēma, kas ļauj viegli izveidot sarežģītus uz režģi balstītus izkārtojumus. Tā nodrošina jaudīgus rīkus, lai kontrolētu elementu izvietojumu un izmēru režģa konteinerā.
Piemērs: Vienkārša režģa izkārtojuma izveide
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr; /* Trīs vienādas kolonnas */
grid-gap: 20px; /* Atstarpe starp režģa elementiem */
}
.item {
background-color: #f0f0f0;
padding: 20px;
}
CSS Grid priekšrocības:
- Divdimensiju izkārtojums: Viegli izveidojiet sarežģītus izkārtojumus ar rindām un kolonnām.
- Elastība: Kontrolējiet elementu izvietojumu un izmēru ar precizitāti.
- Adaptīvs dizains: Izveidojiet adaptīvus izkārtojumus, kas pielāgojas dažādiem ekrāna izmēriem.
- Semantiskais HTML: Izmantojiet semantisko HTML, nepaļaujoties uz prezentācijas klasēm.
2. Flexbox Layout
Flexbox Layout ir vienas dimensijas izkārtojuma sistēma, kas nodrošina elastīgu veidu, kā sadalīt vietu starp elementiem konteinerā. Tas ir ideāli piemērots navigācijas izvēlnes izveidei, elementu līdzināšanai un adaptīvu komponentu veidošanai.
Piemērs: Horizontālas navigācijas izvēlnes izveide
.nav {
display: flex;
justify-content: space-between; /* Vienmērīgi sadaliet elementus */
align-items: center; /* Vertikāli līdzināt elementus */
}
.nav-item {
margin: 0 10px;
}
Flexbox priekšrocības:
- Vienas dimensijas izkārtojums: Efektīvi sakārtojiet elementus rindā vai kolonnā.
- Līdzināšana: Viegli līdzināt elementus horizontāli un vertikāli.
- Vietas sadalījums: Kontrolējiet, kā vieta tiek sadalīta starp elementiem.
- Adaptīvs dizains: Izveidojiet adaptīvus komponentus, kas pielāgojas dažādiem ekrāna izmēriem.
3. CSS Custom Properties (Variables)
CSS Custom Properties, kas pazīstamas arī kā CSS mainīgie, ļauj definēt atkārtoti lietojamas vērtības, kuras var izmantot visā jūsu CSS. Tas padara jūsu kodu vieglāk uzturējamu, elastīgāku un vieglāk atjaunināmu.
Piemērs: Primārās krāsas definēšana un izmantošana
:root {
--primary-color: #007bff;
}
.button {
background-color: var(--primary-color);
color: white;
}
CSS Custom Properties priekšrocības:
- Uzturēšana: Viegli atjauniniet vērtības vienā vietā, nevis vairākās vietās.
- Tematizācija: Izveidojiet dažādas tēmas, mainot pielāgoto īpašību vērtības.
- Elastība: Dinamiski atjauniniet pielāgotās īpašības, izmantojot JavaScript.
- Organizācija: Uzlabojiet koda organizāciju un lasāmību.
4. CSS Modules
CSS Modules ir veids, kā rakstīt CSS, kas ir piesaistīts noteiktam komponentam. Tas novērš nosaukumu sadursmes un padara jūsu CSS modulārāku un vieglāk uzturējamu. Lai gan tā nav vietēja CSS funkcija, to parasti izmanto ar būvēšanas rīkiem, piemēram, Webpack vai Parcel.
Piemērs: CSS Modules izmantošana ar React komponentu
// Button.module.css
.button {
background-color: #007bff;
color: white;
padding: 10px 20px;
}
// Button.js
import styles from './Button.module.css';
function Button(props) {
return ;
}
export default Button;
CSS Modules priekšrocības:
- Piesaistīšana: Novērsiet nosaukumu sadursmes, piesaistot CSS noteiktam komponentam.
- Modularitāte: Izveidojiet modulārus un atkārtoti lietojamus CSS komponentus.
- Uzturēšana: Uzlabojiet koda organizāciju un uzturēšanu.
- Lokalitāte: Viegli saprast CSS, kas attiecas uz noteiktu komponentu.
5. CSS Preprocessors (Sass, Less)
CSS preprocesori, piemēram, Sass un Less, paplašina CSS funkcionalitāti, pievienojot tādas funkcijas kā mainīgie, ligzdošana, miksini un funkcijas. Šīs funkcijas var palīdzēt jums rakstīt organizētāku, uzturējamāku un atkārtoti lietojamu CSS.
Piemērs: Sass mainīgo un ligzdošanas izmantošana
$primary-color: #007bff;
.button {
background-color: $primary-color;
color: white;
&:hover {
background-color: darken($primary-color, 10%);
}
}
CSS Preprocessors priekšrocības:
- Mainīgie: Definējiet atkārtoti lietojamas vērtības krāsām, fontiem un citām īpašībām.
- Ligzdošana: Ligzdojiet CSS noteikumus, lai izveidotu hierarhisku struktūru.
- Miksini: Definējiet atkārtoti lietojamus CSS koda blokus.
- Funkcijas: Veiciet aprēķinus un manipulācijas ar CSS vērtībām.
- Uzturēšana: Uzlabojiet koda organizāciju un uzturēšanu.
6. CSS-in-JS
CSS-in-JS ir tehnika, kas ietver CSS rakstīšanu tieši JavaScript komponentos. Šī pieeja piedāvā vairākas priekšrocības, tostarp komponentu līmeņa stilizāciju, dinamisku stilizāciju un uzlabotu veiktspēju.
Piemērs: Styled-components izmantošana ar React
import styled from 'styled-components';
const Button = styled.button`
background-color: #007bff;
color: white;
padding: 10px 20px;
&:hover {
background-color: darken(#007bff, 10%);
}
`;
function MyComponent() {
return ;
}
CSS-in-JS priekšrocības:
- Komponentu līmeņa stilizācija: Stilizējiet komponentus tieši JavaScript.
- Dinamiska stilizācija: Dinamiski atjauniniet stilus, pamatojoties uz komponenta stāvokli vai rekvizītiem.
- Uzlabota veiktspēja: Ģenerējiet optimizētu CSS izpildlaikā.
- Nav nosaukumu sadursmju: Izvairieties no nosaukumu sadursmēm ar unikāliem klases nosaukumiem.
7. Atomic CSS (Functional CSS)
Atomic CSS, kas pazīstams arī kā Functional CSS, ir pieeja CSS rakstīšanai, kas ietver mazu, vienam mērķim paredzētu CSS klašu izveidi. Pēc tam šīs klases tiek apvienotas, lai stilizētu elementus. Šī pieeja var padarīt CSS vieglāk uzturējamu un atkārtoti lietojamu, bet tā var izraisīt arī daudz vārdu HTML.
Piemērs: Atomic CSS klašu izmantošana
Atomic CSS priekšrocības:
- Atkārtota lietojamība: Atkārtoti izmantojiet CSS klases vairākos elementos.
- Uzturēšana: Viegli atjauniniet stilus, modificējot vienu CSS klasi.
- Veiktspēja: Samaziniet CSS faila lielumu, atkārtoti izmantojot esošās klases.
- Konsistence: Nodrošiniet konsekventu stilizāciju visā jūsu vietnē.
Dizaina sistēmas izveide ar moderno CSS
Dizaina sistēma ir atkārtoti lietojamu komponentu un vadlīniju kolekcija, kas nodrošina konsekvenci un efektivitāti dizaina un izstrādes procesā. Modernās CSS tehnikas var spēlēt būtisku lomu spēcīgas un mērogojamas dizaina sistēmas izveidē.
Galvenie apsvērumi dizaina sistēmas izveidei:
- Komponentu bibliotēka: Izveidojiet atkārtoti lietojamu UI komponentu bibliotēku ar labi definētiem stiliem un uzvedībām.
- Stila rokasgrāmata: Dokumentējiet dizaina principus, tipogrāfiju, krāsu paleti un citas stila vadlīnijas.
- CSS arhitektūra: Izvēlieties CSS arhitektūru, kas veicina uzturēšanu un mērogojamību, piemēram, BEM, OOCSS vai Atomic CSS.
- Tematizācija: Ieviesiet tematizācijas sistēmu, kas ļauj viegli pārslēgties starp dažādām tēmām.
- Pieejamība: Nodrošiniet, lai visi komponenti būtu pieejami lietotājiem ar invaliditāti.
Piemērs: Dizaina sistēmas strukturēšana ar pielāgotām īpašībām
:root {
/* Krāsas */
--primary-color: #007bff;
--secondary-color: #6c757d;
--accent-color: #ffc107;
/* Tipogrāfija */
--font-family: sans-serif;
--font-size-base: 16px;
/* Atstarpes */
--spacing-sm: 8px;
--spacing-md: 16px;
--spacing-lg: 24px;
}
CSS veiktspējas optimizācija
CSS veiktspējas optimizācija ir ļoti svarīga, lai nodrošinātu ātru un vienmērīgu lietotāja pieredzi. Šeit ir daži padomi, kā uzlabot CSS veiktspēju:
- Minificējiet CSS: Noņemiet nevajadzīgas rakstzīmes un atstarpes no saviem CSS failiem, lai samazinātu to lielumu.
- Saspiest CSS: Izmantojiet Gzip vai Brotli saspiešanu, lai vēl vairāk samazinātu savu CSS failu lielumu.
- Apvienojiet CSS failus: Apvienojiet vairākus CSS failus vienā failā, lai samazinātu HTTP pieprasījumu skaitu.
- Izmantojiet CDN: Nodrošiniet savus CSS failus no satura piegādes tīkla (CDN), lai uzlabotu ielādes laiku lietotājiem visā pasaulē.
- Izvairieties no @import: Izvairieties no @import noteikuma izmantošanas, jo tas var palēnināt lapas atveidošanu.
- Optimizējiet atlasītājus: Izmantojiet efektīvus CSS atlasītājus, lai samazinātu laiku, kas nepieciešams pārlūkprogrammai, lai lietotu stilus.
- Noņemiet neizmantoto CSS: Noņemiet jebkuru CSS kodu, kas netiek izmantots jūsu vietnē. Rīki, piemēram, PurgeCSS un UnCSS, var palīdzēt jums identificēt un noņemt neizmantoto CSS.
Pieejamības apsvērumi
Pieejamība ir būtisks tīmekļa izstrādes aspekts. Rakstot CSS, ir svarīgi ņemt vērā lietotāju ar invaliditāti vajadzības.
Galvenie pieejamības apsvērumi:
- Semantiskais HTML: Izmantojiet semantiskos HTML elementus, lai nodrošinātu struktūru un nozīmi savam saturam.
- Krāsu kontrasts: Nodrošiniet pietiekamu krāsu kontrastu starp tekstu un fona krāsām.
- Navigācija ar tastatūru: Pārliecinieties, vai jūsu vietne ir pilnībā navigējama, izmantojot tastatūru.
- Fokusa indikatori: Nodrošiniet skaidrus fokusa indikatorus interaktīviem elementiem.
- ARIA atribūti: Izmantojiet ARIA atribūtus, lai sniegtu papildu informāciju atbalsta tehnoloģijām.
Piemērs: Pietiekama krāsu kontrasta nodrošināšana
.button {
background-color: #007bff;
color: white;
}
Šajā piemērā pārliecinieties, vai kontrasta attiecība starp balto tekstu un zilo fonu atbilst pieejamības standartiem (WCAG 2.1 AA pieprasa vismaz 4,5:1 kontrasta attiecību parastam tekstam un 3:1 lielam tekstam).
Pāreja ārpus ietvariem: Praktiska pieeja
Pāreja no ietvariem uz moderno CSS nav jābūt "viss vai nekas" pieejai. Jūs varat pakāpeniski iekļaut modernas CSS tehnikas savos esošajos projektos.Veicamie pasākumi:
- Sāciet ar mazumiņu: Sāciet, izmantojot CSS Grid vai Flexbox maziem izkārtojuma uzdevumiem.
- Apgūstiet pamatus: Ieguldiet laiku, lai saprastu galvenos CSS konceptus.
- Eksperimentējiet: Izmēģiniet dažādas CSS tehnikas un noskaidrojiet, kas vislabāk darbojas jūsu projektiem.
- Pakāpeniski refaktorējiet: Pakāpeniski refaktorējiet savu esošo koda bāzi, lai izmantotu modernas CSS tehnikas.
- Izveidojiet komponentu bibliotēku: Izveidojiet atkārtoti lietojamu CSS komponentu bibliotēku.
Secinājums
Modernais CSS piedāvā jaudīgu rīku kopumu, lai izveidotu veiktspējīgas, uzturējamas un pielāgotas vietnes. Pārejot ārpus ietvariem un izmantojot šīs tehnikas, jūs varat iegūt lielāku kontroli pār savu kodu, uzlabot savas vietnes veiktspēju un izveidot unikālu zīmola identitāti. Lai gan ietvari var būt noderīgs sākumpunkts, modernā CSS apgūšana ir būtiska, lai kļūtu par zinošu front-end izstrādātāju. Pieņemiet izaicinājumu, izpētiet iespējas un atraisiet visu CSS potenciālu.
Šī rokasgrāmata ir paredzēta kā sākumpunkts jūsu ceļojumā modernajā CSS. Atcerieties izpētīt katras funkcijas oficiālo dokumentāciju, eksperimentēt ar dažādām tehnikām un pielāgot tās savām konkrētajām projekta vajadzībām. Laimīgu kodēšanu!