Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 10
  • Kako napraviti lijepo zaglavlje u css-u. Zaglavlje stranice

Kako napraviti lijepo zaglavlje u css-u. Zaglavlje stranice

Zdravo. Provjerio statistiku danas upiti za pretraživanje, pomoću koje su ljudi otišli na blog i otkrili da postoji nekoliko koji uopće nisu relevantni. Ne, ne blog, već članci.

Jedan od njih kako popraviti zaglavlje web stranice? Odmah sam odlučio da ispravim situaciju i napišem članak, jer je tema relevantna, a ima i pitanja u ovoj oblasti.

Općenito, postoji nekoliko načina za pomicanje stranice. Možete koristiti javascript, ali ja nisam baš jak u ovoj temi i samo je učim. Stoga ćemo za sada raditi sa css-om. Hvala bogu, popraviti zaglavlje stranice(i ne samo šešir, već bilo koji drugi element), možete "malo krvi" :)

Zapravo, način popravljanja elementa prilikom pomicanja stranice je vrlo jednostavan, a iznenadit ćete se koliko je ovaj problem lako riješiti.

Popravljanje zaglavlja prilikom pomeranja stranice

Da biste popravili zaglavlje, morat ćete kreirati dva bloka. Jedan je da možete centrirati zaglavlje. I ima dijete, koje će biti popravljeno. Počnimo...

Volim ovo jednostavan html struktura! Sada dodajmo stilove!

#headerMain ( width:920px; visina: 195px; margin:0px auto; z-index:0; ) #header ( width:920px; visina: 195px; background: url(../img/bg-header.jpg) ne -ponavljanje; pozicija: fiksna; z-indeks: 9999; )

Sada će zaglavlje biti fiksirano na vrhu ekrana i neće se pomicati prilikom pomicanja.

U prošlom članku jesmo okvir našeg Template HTML koji je spreman za popunjavanje i obradu. Danas ću reći kako napraviti zaglavlje web stranice (gornji dio) i jednostavan meni. Također danas ćemo napraviti neke promjene u stilovima drugih blokova.

Pa šta imamo na sebi ovog trenutka? Sada imamo ove stilove:

Html, tijelo (visina:100%; boja: #000; pozadina: #FFFFFF; word-wrap: break-word; font-size: 12px; porodica fontova: Verdana, Arial, Sans-Serif; ) #wrapper (visina :auto !important; visina:100%; min-height:100%; ) #header (visina:100px; ) #container (min-width:800px; ) #center ( margin:0px 200px 0px 200px; ) #left ( float:left; width:200px; ) #right (float:right; width:200px; ) #footer (visina:100px; margin-top:-100px; ) .clear (clear:oth; ) #space (visina:100px ;)

A evo i koda za sam šablon:

Naziv stranice

Prije svega, napravimo neke promjene u stilu bloka omotača:

#wrapper (visina:auto !važno; visina:100%; min-visina:100%; širina: 1024px; margina: 0 auto; poravnanje teksta: lijevo; )

Postavio sam fiksnu širinu - širinu bloka, veličine 1024 piksela, poravnao sam blok sa središtem, a tekst u njemu lijevo koristeći text-align:left. Blok možemo poravnati u sredini koristeći stil margine, postavljajući uvlačenje iznad i ispod 0, a širina je automatska. Nažalost, ovo ne funkcionira uvijek Internet Explorer 6, tako da sam u tijelu napisao text-align: center; i zato sam morao da poravnam tekst u okviru za premotavanje i podnožju sa leve strane. Također sam naveo margin:0 u tijelu, postavljajući tako margine od ivica na 0 piksela. Kao rezultat toga, Body ima sljedeće stilove:

Html, tijelo (visina:100%; boja: #000; pozadina: #FFFFFF; word-wrap: break-word; font-size: 12px; porodica fontova: Verdana, Arial, Sans-Serif; margina: 0; tekst -align:center; )

Napravio sam i izmjene u podrumu:

#footer ( širina: 1024px; margina: 0 auto; text-align: lijevo; visina:100px; margin-top:-100px; pozadina: #4a90d9; )

Ovdje je sve slično bloku omotača: postavite širinu na 1024px, poravnajte blok sa središtem, a tekst lijevo. Također sam dodao margin-top: 20px u kontejner. i uklonili minimalnu širinu, pošto imamo fiksna širina enveloping.

Pa, pripremili smo šablon, vrijeme je da pređemo na zaglavlje stranice. Stilovi će biti ovakvi:

#header (visina:140px; pozadina: #fff; padding-top: 40px; )

Visina bloka je 140px, pozadina je bijela, a padding od gornje ivice je 40px. To su sve promjene u stilovima zaglavlja.
Šta? Ovo je sve? Postoji li cijeli članak nazvan po ovome?
Naravno da ne. Zaglavlje stranice će se sastojati od ostalih elemenata: logotipa i menija, koji će biti posebno dizajnirani.

Hajde da upišemo predložak HTML koda Unutar bloka zaglavlja nalazi se ovaj red:
U osnovi, ovo je link ka početna stranica bez teksta, ali s obzirom na klasu class="logo". Sada morate to urediti css stilovi.

Logo (prikaz:blok; visina: 104px; širina: 390px; pozadina: url("image/logo.png") bez ponavljanja; )

Napravio sam element blok elementom, dao mu širinu i visinu, a takođe sam napravio sliku logotipa kao pozadinu, koju sam stavio u direktorij slika. Ovaj direktorij će sadržavati sve slike šablona. Veličina slike je 388*100 piksela, zašto je onda veličina bloka malo drugačija? Visinu sam napravio 104 piksela tako da je između budućeg menija i logotipa bilo uvlačenje sa slike logotipa, a širinu sam uzeo za dva piksela više za svaki slučaj, jer sam par puta naišao da je Mozilla pogrešno odredila veličinu slike i malo je izrezao. Sve je završeno sa logom. Meni u

Izgled stranice je proces razvoja strukture html dokumenta čiji je rezultat web stranica. Struktura web stranice određena je odgovarajućim html tagovima. Oznake - pravokutni blokovi kontejnera za sadržaj - se ne pojavljuju u prozoru pretraživača. Oni obavještavaju pretraživač o vrsti sadržaja, a pretraživač na osnovu tih informacija prikazuje njihov sadržaj na ekranu – tekstualne ili medijske datoteke.

Kako kreirati strukturu stranice koristeći blokove (izgled bloka)

1. Kako podijeliti izgled stranice na dijelove

Da biste kreirali izgled stranice, potrebno je odabrati glavne odjeljke (odjeljke) dokumenta. Više o elementima presjeka možete pročitati u članku.

Standardna web stranica sadrži sljedeće odjeljke:


Rice. 1. Glavni dijelovi stranice

Nećemo koristiti element

, jer ga ne podržavaju svi pretraživači.

Elementi

,
I
- blok, tako da će zauzeti cijelu širinu svog kontejnerskog bloka - elementa . Stranica s ovom oznakom će izgledati dobro mali ekrani, ali na uređajima sa visoka rezolucija tekst takvih stranica će biti nezgodan za čitanje. Stoga morate dodati oznaku kontejnera za sadržaj - sadržaj svakog odjeljka:


Rice. 2. Glavni dijelovi stranice sa oznakom kontejnera

i postavite maksimalnu širinu za to, padding, koji će odvojiti sadržaj od ivica ekrana uređaja niske rezolucije, kao i margine za poravnavanje kontejnera u sredini roditeljskog okvira:

Kontejner ( širina: 100%; maks. širina: 1024px; /* maksimalna širina može imati drugačije značenje */ padding: 0 15px; margina: 0 auto; )

Tako smo dobili okvir za našu stranicu (visina sekcija u ovaj slučaj virtuelni, pošto sekcije bez sadržaja imaju nultu visinu).

2. Izgled zaglavlja sajta i pozicioniranje njegovih elemenata

Počnimo označavati prvi dio, takozvano zaglavlje web stranice. Element

namenjeno grupisanju pozadinske informacije i pomagala za navigaciju na stranici/stranici. Dodajte unutrašnju oznaku
logo web stranice i navigacijski linkovi:

LOGO

Rice. 3. Zaglavlje stranice s dodanim logotipom i linkovima

Logo ( float: lijevo; ) nav ( float: desno; ) nav ul ( margina: 0; padding: 0; stil liste: nijedan; ) nav li ( display: inline-block; /*jedan način za poravnavanje elemenata * /)

Postoji nekoliko načina za postavljanje blok elementi na liniju. Svi su dati u lekciji.


Rice. 4. Efekat urušavanja bloka kontejnera

Primijetite da nakon što smo nanijeli omot, kapica je nestala. To je zato što su plutajući elementi (koji imaju postavljeno svojstvo float) uklonjeni iz normalnog toka i roditeljski kontejner više ne vidi njihovu visinu, tako da element

i element unutar njega sa klasom .container se srušio. Da popravimo ovu situaciju, koristimo čišćenje toka za element s .container klasom:

Kontejner:nakon (sadržaj: ""; prikaz: tabela; brisanje: oba; )

Tome takođe dodajemo vertikalni padding, odvajajući elemente unutar njega od rubova zaglavlja. Kao rezultat toga, stilovi će izgledati ovako:

Kontejner (širina: 100%; maksimalna širina: 1024px; padding: 15px; margina: 0 auto; )
Rice. 5. Čišćenje protoka

Razmotrimo situaciju kada se slika ponaša kao logo. Može se dodati direktno unutar oznake ili kao a pozadinska slika. Slika će imati svoju visinu, koja može biti veoma različita od visine navigacionog menija, tako da ćemo imati problem vertikalno poravnanje elementi zaglavlja.


Rice. 6. Logo-slika

U našem primjeru, visina logotipa je 38px, tako da da bismo poravnali veze menija u sredini zaglavlja, moramo postaviti odgovarajuću visinu linije za njih:

Nav a (dekoracija teksta: nema; visina linije: 38px; ) 7. Poravnajte veze menija zaglavlja

3. Kreirajte mrežu za glavni dio stranice

Glavni dio stranice najčešće je mreža blokova različitih širina. Pozicioniranje takvih blokova se također vrši pomoću float svojstva. Svaki red blokova će biti omotan dodatnim blokom sa .row klasom:


Rice. 7. Mreža tijela stranice %; float: lijevo; ) .col-2-3 (širina: 66,6666666667%; float: lijevo; )

Za element s klasom .row, također možemo primijeniti čišćenje toka:

Kontejner:posle, .red:posle (sadržaj: ""; prikaz: tabela; brisanje: oba; )

Da odvojite redove jedan od drugog, možete dodati donju marginu:

Red ( margin-bottom: 15px; )

Visina blokova rešetke određena je visinom njihovog sadržaja, tako da može biti različita:


Rice. 8. Različite visine elemenata mreže

Visina blokova se može fiksirati eksplicitnim navođenjem, na primjer, .row div (visina: 100px) . Ali u ovom slučaju morate biti sigurni da prilikom dodavanja prilagodljivosti rasporedu sadržaj blokova neće ići dalje od ruba bloka.

Ako trebate podesiti boja pozadine za blokove reda, onda se to može učiniti na sljedeći način: za element sa .row klasom, add nova klasa, što će vam omogućiti da stilizirate samo ovaj red (ispostaviće se. red red-jedan), odredite za njega boju pozadine bloka koja je manja po visini, a za visoki blok postavite je vlastita boja, odnosno na ovaj način ćemo napraviti pozadinski supstrat.

Lorem ipsum dolor sit amet.
Duis lobortis tempor tortor vel iaculis. Fusce volutpat commodo lacus, eget vestibulum lorem semper at.
.row-one (pozadina: svijetloplava; ) .col-2-3 (širina: 66,6666666667%; float: lijevo; pozadina: školjka; )
Rice. 9. Pozadinski supstrat

Ako glavni dio stranice sadrži samo dva bloka, tada se dodatni red omota može izostaviti:

4. Izgled podnožja stranice

Podnožje stranice, ili podnožje, obično sadrži informacije o autorskim pravima, dodatne veze i slično. Sve ove informacije se takođe nalaze u kolonama koje mogu biti iste ili različite širine.

Često, naizgled jednostavni zadaci rasporeda zahtijevaju složenu HTML strukturu označavanja i korištenje CSS trikova. Centriranje elemenata ili poravnavanje sadržaja može biti vrlo zamorno. Jedan takav zadatak je poravnavanje elemenata na vrhu stranice tako da logo bude na lijevoj strani, a stavke menija na desnoj strani. Možete koristiti float i position:apsolute, te dodati marginu i padding za vertikalno poravnanje različitih elemenata. Čini se da nije ništa komplikovano. Ali ako bi stranica trebala biti ispravno prikazana na mobilnih uređaja, ima mnogo problema.

U nastavku je sažet način rješavanja ovog problema.

HTML oznaka je što je moguće jednostavnija:

super loše

Visina zaglavlja je fiksna, dodaj text-align: justify, za podređene elemente:

Zaglavlje (poravnanje teksta: justify; razmak između slova: 1px; visina: 8em; padding: 2em 10%; pozadina: #2c3e50; boja: #fff; )

Dodavanje prikaz: inline-block za sve elemente nav tako da ih možete poredati jedno do drugog:

Zaglavlje h1, navigacija zaglavlja (prikaz: inline-block; )

Za atribuciju text-align: justify da bismo radili onako kako želimo, moramo upotrijebiti mali trik s pseudoelementima koji se nalazi u savršeno opravdanoj CSS grid tehnici koristeći inline-block od Jelmera de Maata:

Header::after (sadržaj: ""; prikaz: inline-block; širina: 100%; )

Rezultat je bilo horizontalno poravnanje, bez korištenja float I pozicija:apsolutna. Sada morate poravnati elemente okomito. Koristeći vertikalno poravnanje za elemente nav postojat će ovisnost o visini roditeljskog bloka - zaglavlja. A ovo nije baš tačno. Primjeri korištenja vertical-align: top i vertical-align: middle na jsbin. Ispod je vjerovatno najviše zgodan način vertikalno poravnanje.

Koristimo ponovo pseudoelemente. koristeći primjer iz članka Centriranje u nepoznatom koji spominje Michał Czernow:

Zaglavlje h1 (visina: 100%; ) zaglavlje h1::before (sadržaj: ""; prikaz: inline-block; vertikalno poravnanje: sredina; visina: 100%; )
Rezultat je ono što vam treba:

Ostaje da se reše dva problema: ispravan prikaz at u velikom broju tekst u zaglavlju i prilagodljivost. Ako je naslov stranice predugačak, izgled će se početi pomicati:

Koristeći trik sa pseudoelementima header:

CSS kod

zaglavlje (poravnanje teksta: justify; visina: 15em; padding: 2em 5%; pozadina: #2c3e50; boja: #fff; ) header::after ( sadržaj: ""; prikaz: inline-block; širina: 100%; ) zaglavlje > div, zaglavlje nav, zaglavlje div h1 (prikaz: inline-blok; okomito poravnanje: sredina; ) zaglavlje > div (širina: 50%; visina: 100%; poravnanje teksta: lijevo; ) zaglavlje > div: :before (sadržaj: ""; prikaz: inline-block; vertikalno poravnanje: sredina; visina: 100%; )

Izgleda mnogo bolje:

Sada pređimo na prilagodljivost. Postoji nekoliko načina za rješavanje ovog problema, jednostavno ne možete postaviti visinu zaglavlja, a svi unutrašnji elementi će biti prilagodljivi po visini. Ovo ne zahtijeva drugi trik s pseudo-elementom, živi primjer na jsbin-u.

CSS kod

zaglavlje ( text-align: justify; padding: 2em 5%; pozadina: #2c3e50; boja: #fff; ) header::after ( sadržaj: ""; prikaz: inline-block; širina: 100%; ) zaglavlje h1, navigacija zaglavlja (prikaz: umetnuti blok; okomito poravnanje: sredina; ) zaglavlje h1 (širina: 50%; poravnanje teksta: lijevo; padding-top: 0,5em; ) navigacija zaglavlja ( padding-top: 1em; )

Ako trebate postaviti visinu zaglavlja, onda ćete morati koristiti drugi trik s pseudo-elementima i dodati medijski upit za ekrane različite veličine:

@media ekran i (maks. širina: 820px)( zaglavlje (visina: auto; ) zaglavlje > div, zaglavlje >

Rezultat je responzivan i na mobilnim uređajima izgleda ovako:

Primer koristi 820px radi jasnoće, na živom sajtu, naravno, vrednost treba da bude drugačija, u skladu sa zahtevima. Da biste podržali Internet Explorer 8, umjesto "::" koristite ":" za pseudo-elemente.

Konačni CSS kod

@import url(http://fonts.googleapis.com/css?family=Lato:400,700italic); * ( padding: 0; margina: 0; ) body (pozadina: #1abc9c; font-family: "Lato", sans-serif; text-transform: velika slova; razmak između slova: 1px;) zaglavlje ( text-align: justify ; visina: 8em; padding: 2em 5%; pozadina: #2c3e50; boja: #fff; ) header::after (sadržaj: ""; prikaz: inline-block; širina: 100%; ) header > div, header > div::pre, zaglavlje nav, zaglavlje > div h1 (prikaz: umetnuti blok; okomito poravnanje: sredina; poravnanje teksta: lijevo; ) zaglavlje > div (visina: 100%; ) zaglavlje > div::prije ( sadržaj : ""; visina: 100%; ) zaglavlje > div h1 (veličina fonta: 3em; stil fonta: italic; ) zaglavlje nav a ( padding: 0 0,6em; razmak: nowrap; ) nav zaglavlja a:zadnji -dijete ( padding-desno: 0; ) @medijski ekran i (maks. širina: 720px)( zaglavlje (visina: auto; ) zaglavlje > div, zaglavlje > div h1, zaglavlje nav (visina: auto; širina: auto; prikaz : blok; poravnanje teksta: centar; ) )


rezultat:


Element stranice koji ćemo danas pogledati jedan je od najvažnijih i vrlo vidljiv na stranici. Ponekad se ne napravi prevelikim. Može biti statična ili dinamička. Sve ovisi o želji i mašti dizajnera i vlasnika stranice. Možda ste već pretpostavili o čemu će biti riječ - tako je, o zaglavlju stranice. Danas ćemo pogledati na četiri načina nestandardni način, pomoću kojih možete dizajnirati ovaj dio stranice. Zahvaljujući ovim metodama, vaša stranica će se definitivno izdvojiti iz pozadine drugih.

Četiri primjera možete pogledati na sljedećem linku:

Skinuti

Kako koristiti? — Animirana zaglavlja za stranicu

HTML dio

U kod stranice, sve što treba da unesete je:

1 2 3 <div id="large-header" class="large-header"> id="demo-canvas"> </div>

U bloku

sa ID-om i klasom velika glava oznaka se nalazi gdje se odvija sva animacija. Blok
sadrži samo pozadinsku sliku.

Javascript dio

Zatim na kraju stranice morate se povezati potrebne biblioteke. Oni su u folderu js(u izvornoj arhivi - link na početku članka).

Na primjer, na primjer br. 1, potrebno je da povežete sljedeće biblioteke:

U nastavku sam napravio snimke ekrana svakog od efekata.

Top Related Articles