De siste to til tre årene har sett layout gå videre i sprang og grenser. Nå som disse moderne teknikkene har et så konsekvent resultat i moderne nettlesere, kan du virkelig bruke dem til produksjonskoden din. Hvis du lurer på Slik starter du en blogg , Denne opplæringen vil vise deg bare hvor enkelt det er å lage en standard blog-stil layout ved hjelp av CSS-rutenett og fleksibel boksemodul, AKA Flexbox. Lyd som for mye hardt arbeid for det du vil ha? Ta en titt på vår guide til beste gratis blogging plattformer eller velg en topp Nettstedbygger . Arbeider med et lag? Distribuere det beste skylagring for å holde prosessen jevn.
Først la oss raskt samle seg om det grunnleggende om HTML, og hvorfor det er godt å prøve å skrive semantisk kode.
Har du lagt merke til lesermodus på Safari og Firefox? Det er et ikon i adresselinjen som ser litt ut som lined papir. Dette vil gjøre din Nettstedslayout I en distraheringsfri, bare biter modus, heller som enheter som Apple Watch bruk. Flere og flere enheter har tilgang til og vise webinnhold - muligens var den store hit på julen interaktive høyttalere som Amazon Echo.
Med disse i tankene, og selvfølgelig behovet for nettstedet ditt for å jobbe på skjermlesere og lignende, er strukturen på siden din avgjørende. Hvis du bare bruker & lt; div & gt; For alle dine beholdere og til og med knapper, vil enhetene som gjør koden din ikke vite hva konteksten er, og så kan ikke bruke noen av de opprinnelige funksjonene eller funksjonene.
Vi skal bygge en grunnleggende nettside for å inkludere en header med navigering, en heltblokk, hovedartikkel, utvalgte artikkelblokker og en bunntekst. Ideen her er å se mange Responsivt webdesign Teknikker vi kan implementere uten å bruke medieforespørsler eller et hvilket som helst assistent JavaScript. Du kan se at HTML på siden er delt inn i forskjellige seksjoner ved hjelp av HTML5-koder. Vi legger også til klasser til dem, da eldre nettlesere ikke vet hva de er og gjør dem som en div. La oss starte på toppen av siden og jobbe oss gjennom. Men grunnleggende eller komplisert nettstedet ditt, det er også på tide å tenke på hvilken Web Hosting. Tjenesten er riktig for deg.
Overskriften til nettstedet inneholder en logo og en uordnet liste for navigasjonen. Vi trenger ikke å legge til noen wrappers eller beholdere for å legge dette ut med logoen til venstre og navigasjonen til høyre i en enkelt linje.
& lt; header class = "header" & gt;
& lt; img src = "bilder / logo.png" / & gt;
LT; NAV & GT;
& lt; ul klasse = "nav" & gt;
& lt; en href = "#"
klasse = "aktiv" & gt; hjemme & lt; / a & gt;
& lt; en href = "#" & gt; om & lt; / a & gt; & lt; / li & gt;
& lt; en href = "#" & gt; hundene & li & gt;
& lt; en href = "#" & gt; kontakt & lt; / a & gt;
lt; / ul & gt;
& lt; / nav & gt;
& lt; / header & gt;
Vi setter overskriften for å vise rutenett, og deretter bruke 'Get-Template-Columns' Slik angir du to kolonner i overskriften. Vi bruker den funn Enhet her, som er en fraksjonell enhet - 1fr ville være tilgjengelig ledig plass i beholderen. I dette tilfellet gir vi navigasjonen et litt mindre område for å fylle.
header {
Vis: GRID;
Grid-Template-Columns: 1,5FR 1FR;
Justeringsartikler: Senter;
}
Nå retter vi oss mot listen over menyelementer. Igjen slår vi på & lt; ul & gt; inn i en rutenettbeholder og fortell elementene inne i autofit i kolonner. Her bruker vi minmax. For å sikre at kolonnene aldri kan være mindre enn 100px, men hvis plassen er større, kan de dele plassen som 1fr hver.
.nav {
Vis: GRID;
Grid-template-kolonner: Gjenta (Auto-Fit, MINMAX (100PX, 1FR));
Grid-Gap: 10px;
Justeringsartikler: Senter;
}
Den neste delen av siden er den viktigste heltblokken. Tradisjonelt vertikalt sentreringstekst i en beholder kreves alle slags arbeidsplasser. Ved hjelp av CSS-rutenett eller flex, er dette veldig enkelt.
& lt; artikkel & gt;
& lt; § class = "helten" & gt;
& lt; h1 & gt; & lt; / h1 & gt;
& lt; p & gt; & lt; / p & gt;
& lt; a href = "" & gt; & lt; / a & gt;
& lt; / seksjon & gt;
& lt; / article & gt;
Justering på to akser er en del av brød og smør av CSS-rutenettet. Her kan vi snu heltenes beholderen i en rutenettbeholder og deretter bruke justere innholdet (venstre til høyre) og rettferdiggjør-innhold (topp til bunn) til posisjon i midten. Vi bruker en vh. Enhet her, som vil gjøre helten blokkere 50% av visningsporthøyden.
.hero {
Min-høyde: 50 VH;
Vis: GRID;
Justify-elementer: Senter;
Justerinnhold: Senter;
Justify-innhold: Senter;
}
Hovedartikkelen har også en blokk til høyre som inneholder videre lesing. For å gjøre dette lydhør uten å måtte bruke en medieøkning, kan vi bytte til FlexBox for å få mest mulig ut av sine egenskaper.
& lt; artikkel klasse = "hovedinnhold" & gt;
& lt; seksjon / & gt;
& lt; / seksjon & gt;
& lt; til side / & gt;
& lt; / article & gt;
Sett artikkelen til en flexbeholder. Legg til litt polstring til venstre og høyre for å sikre at tekstens mål ikke blir for lenge. Flex-retningen er rad slik at delen og til side inne i vil sitte ved siden av hverandre når det er stylet. Innholdet er berettiget til mellomrom mellom slik at teksten ikke vil røre opp mot side.
Hovedinnhold {
Skjerm: Flex;
flex-wrap: wrap;
Flex-retning: rad;
rettferdiggjør-innhold: mellomrom mellom;
Padding: 0 5VW 0 5VW;}
Seksjonen bruker en smart blanding av kalk- og minimums- og maksimumsbredder for å gi oss det som effektivt er et mediespørsmål, men på et beholdernivå. Når det er nok plass, vil delen ta opp 70% av foreldrene, slik at baksiden skal sitte ved siden av den. Ved å bruke Calc for bredden, kan vi returnere enten en stor eller liten bredde.
Hovedinnholdsdel {
Min-Bredde: 70%;
Bredde: Calc ((48em - 100%) * 1000);
Maks bredde: 100%;
}
48 EM tilsvarer 768px (48 * basis skriftstørrelse (16px)) så over 768px Seksjonen vil være dens minste bredde på 70% og under 768, den maksimale bredden vil bli brukt. Vi gjør det samme for side, så i dette tilfellet vil det enten ta opp 25% på store skjermer eller 100% på små. Effekten er et responsivt bruddpunkt som gjester beholderen.
. Main-innholdet til side {
Min-Bredde: 25%;
Bredde: Calc ((48em - 100%) * 1000);
Maks bredde: 100%;
}
For å lage de utvalgte elementene som går over siden, bruker vi endelig våre første container divs.
& lt; § class = "card-list" & gt;
& lt; div class = "kort" & gt;
& lt; img / & gt;
& lt; div class = "kort-detaljer" & gt;
& lt; / div & gt;
& lt; / div & gt;
& lt; / seksjon & gt;
For vår kortliste vil vi ha fire på rad, men fordi vi ikke bruker noen medieforespørsler, setter vi vår minmax. Verdi til 300px, som passer pent på en liten mobil. Ved å bruke gjenta og autofit gjør nettleseren det harde arbeidet og passer til hva det kan i en rad og deretter starte en annen, så vi kan gå fra fire til en enkelt kolonneoppsett med en linje med kode.
.Card-liste {
Vis: GRID;
Grid-Gap: 10px;
Grid-template-kolonner: Gjenta (Auto-Fit,
minmax (300px, 1fr));
}
.Card {
Vis: GRID;
Grid-mal-kolonner: 1fr;
}
For detaljer i kortet bytter vi tilbake til flex, og setter strømmen til kolonnen, slik at elementene strømmer vertikalt. Sett rettferdiggjør-innhold Eiendom som passer - i dette tilfellet plass-jevnt fungerer fint. Fordi "A" -taggen i dette panelet vil vise blokk, ville det strekke bredden på beholderen. Sett den til flex-start slik at det bare tar opp plassen av innholdet.
.Card-detaljer {
Skjerm: Flex;
Flex-retning: kolonne;
rettferdiggjøre innhold: plass-jevnt;
}
.Card-detaljer A {
Justering selv: Flex-start;
}
Vi er nede på bunnteksten allerede, og vil bare ansette noen av stilene vi har brukt tidligere på å legge det ut.
& lt; footer class = "footer" & gt;
& lt; p / & gt;
LT; NAV & GT;
& lt; ul klasse = "nav" & gt;
& lt; li / & gt;
lt; / ul & gt;
& lt; / nav & gt;
& lt; ul klasse = "sosial" & gt;
& lt; li / & gt;
lt; / ul & gt;
& lt; / footer & gt;
Det er tre områder i denne footeren. Sett rutenettkolonnene dine for å gjenta tre på en fraksjonell enhet hver. Du kan bare skrive "grid-template-kolonner: 1fr 1fr 1fr;" hvis du foretrekker. De sosiale ikonene kommer til å sitte til høyre - du kan gjøre dette ved å fortelle at varen selv skal justere høyre ved hjelp av rettferdiggjør-selv .
.footer {
Vis: GRID;
Grid-template-kolonner: Gjenta (3, 1fr);
Grid-auto-flow: kolonne;
Justeringsartikler: Senter;
}
.sosial {
rettferdiggjør selv: ende;
}
Selv om denne opplæringen fungerer bra over de store tre nettleserne og moderne enheter, har det ikke blitt testet tilbake til IE. Avhengig av prosjektet ditt, kan du bruke progressiv forbedring og servere et enkelt layout. Hvis din CSS er opprettet ved hjelp av en preprocessor som Sass, gir AutoPrefixer-pakken noen av de ekstra prefiksler som trengs for som kant.
Denne artikkelen ble opprinnelig publisert i utgave 284 av Creative Web Design Magazine Webdesigner . Kjøp problem 284 her eller Abonner på webdesigner her .
Relaterte artikler:
[1. 3] (Bilde Kreditt: Sonny Flanaghan) Lære å rengjøre pensler riktig er en viktig ferdighet. Som det sier: Hvis d..
[1. 3] Side 1 av 2: Bruke Chart.js: Trinn 01-10 Bruke Chart.js: Trinn 01-1..
[1. 3] Her snakker jeg om prosessen med å skape Rey, et tegn som jeg laget for den menneskelige utfordringen på Artstation. Jeg ..
[1. 3] Enhet er en av verdens mest populære spillmotorer, som er ansvarlig for å drive hundrevis av tusenvis av spill over hele ..
[1. 3] Jeg har alltid trodd at originaliteten er funnet et sted mellom det du liker og hva du observerer. Jeg elsker å blande sci..
[1. 3] Frontend utviklere har en tendens til å tenke i rektangler; rektangler inne i rektangler inne i rektangler inne i rektangl..
[1. 3] Internett som vi vet det, er stadig forandring og evolusjonerende. Det vi fortsatt kan huske som et enkelt og grei medium f..
[1. 3] I stedet for å være en siste utvei, kan lagerbilder og bør danne en viktig del av ditt kreative arsenal. Fra lagervektor..