U ovom članku ćemo pogledati opcije za premotavanje teksta oko slike. Postoji nekoliko načina. Pogledajmo svaki od njih. Za početak, savjetujem vam da pročitate html tag članka imati osnovno znanje o slikama na html stranicama.
1. Omotavanje sa stilovima oznaka ![]()
Slika se može poravnati samo korišćenjem stilova CSS oznaka . Kao što znate, sintaksa oznake vam omogućava da postavite poravnanje slike u atributima:
gdje VALUE može uzeti vrijednosti
- lijevo - lijevo poravnanje
- desno - desno poravnanje
- dno - poravnanje na prvi red teksta (ovo je zadano)
- vrh - poravnanje prema gornjem redu teksta
- sredina - poravnanje sa osnovnom linijom teksta
Na primjer
Tekst teksta tekst tekst tekst tekst
tekst tekst tekst tekst tekst tekst
Čini se da se slika zalijepila s tekstom, pa ćemo napraviti neke uvlake. Štaviše, postoje dvije opcije kako se to može učiniti.
Opcija 1.1. Preko CSS svojstva - hspace i vspace
Da biste to učinili, u atributima oznake dodajte dvije vrijednosti:
Ovako će to izgledati na stranici:
Atribut hspace specificira horizontalni padding u pikselima, vspace – vertikalni padding, respektivno.
Opcija 1.2. Kroz CSS svojstvo - padding i margina
Da biste to učinili, u atributima oznake dodajte dvije vrijednosti:
Ovako će to izgledati na stranici:
Izgleda bolje zbog činjenice da nismo uvukli lijevo. Umjesto margine, možete koristiti padding, efekat će biti sličan.
Korištenje svojstva float umjesto align
Pored svojstva align u atributima oznake stilovi imaju svojstvo CSS float, koje je takođe odgovorno za poravnanje. Sintaksa je sljedeća:
float :desno; // Desno poravnanje float:left; // Lijevo poravnanje
Na primjer, ako napišete izlaz slike u prethodnom primjeru na sljedeći način:
Zatim se pretvara u sljedeće.
CSS float vam omogućava da kreirate HTML menije, postavite blokove, poravnate slike
Ako ne razumete dobro kako to funkcioniše umotavanje u HTML i CSS(svojstvo plutanja), onda će vam ova napomena pomoći u navigaciji. CSS svojstvo float se često koristi za pozicioniranje dva ili više okvira u jednom redu. Gornji dio ovih blokova je u istom nivou, donji dio zavisi od visine blokova. Sami blokovi "lebde" ulijevo ( float:levo) ili desno ( float: desno). Tu je i vrijednost none, ona onemogućuje premotavanje (operaciju float) za određeni element sa float: none
Svojstvo se također koristi prilikom poravnavanja slika.
Omotavanje teksta oko slike
Karakteristike umotavanja u CSS
“Sporedni” efekat se javlja ako je slika poravnata s bilo koje strane velika i nalazi se na dnu bloka u kojem je poravnata. U ovom slučaju, sljedeći blok elementi također mogu biti u interakciji.
Još jedna karakteristika je gubitak visine od strane nadređenog elementa. Kada je visina roditeljskog bloka određena sadržajem, a unutra postoje plutajući elementi, tada roditelj „zaboravlja“ visinu unutrašnjih (odlebdjeli su!). Rezultat je skupljena ivica roditeljskog HTML elementa
Razmotajte u HTML i CSS
Možete izbjeći probleme opisane iznad specificirajući blok element sa CSS svojstvom čistim iza plutajućih elemenata. Ovo svojstvo nadjačava efekte float-a na elemente koji slijede float. Ovo može biti div, ili drugi element ili pseudo-element sa vrijednošću clear:left (ostale vrijednosti su jasne: desno ili clear: oboje) ako želimo poništiti učinak elementa koji pluta lijevo.
Prelamanje se otkazuje korištenjem svojstva clear CSS.
Horizontalni meni
Koristeći premotavanje možete kreirati horizontalni meni. Da biste to uradili, potrebno je da se prijavite float:levo na elemente li. U ovom slučaju elementi zauzimaju horizontalni položaj, ostaje samo umetnuti veze. Ovo nije jedini način; sličan meni se može kreirati i kroz nekoliko hiperveza za redom, koristeći svojstvo display:inline-block ili display:table i drugi.
Da biste saznali više o plutanju u CSS-u, pogledajte stranicu dokumentacije za CSS-float. Ista stranica detaljno opisuje model CSS kutije.
Otkazivanje protoka bloka (float) je najčešća operacija pri postavljanju HTML stranica. Pogledat ćemo sve poznate načine za nadjačavanje efekta CSS svojstva float.
Prije nego što zaronimo u tehnike čišćenja tokova, pogledajmo problem koji pokušavamo riješiti.
Tipičan slučaj HTML izgleda
Blokovi .el-1 I .el-2 postavljeni jedan pored drugog unutar kontejnera .container, i jedan element .main slijedi nakon .container:
Želimo visinu kontejnera .container bila jednaka visini najdužeg od svoje djece (tj .el-1, ili .el-2) i tako da blok .main biti nakon bloka .container.
A evo šta vidimo: .container(crni okvir) srušio se kao da u njemu nema ničega, blok .main(blok sa crvenom pozadinom) nalazi se ispod bloka .container, kako smo hteli, ali se istovremeno krije iza blokova .el-1(sa žutom pozadinom) i .el-2(sa ružičastom pozadinom). Bog zna šta! Da moj šef vidi ovo, sigurno bi mi rekao, "Koristi, Šurik, raspored stola". Srećom, vremena kada su web stranice bile raspoređene u tabele su davno prošla i možemo se dobro snaći i bez njih. Ne veruješ mi? Čitaj dalje.
Uprkos činjenici da mnogi ovo smatraju greškom pretraživača, ovo je samo princip po kojem funkcionišu plutajući elementi. Stoga, moramo prisiliti roditeljski element da se proširi kako bi u potpunosti prihvatio podređene elemente. Zatim će se ispod kontejnera nalaziti sljedeći elementi.
Metoda 1: Metoda stare škole
Kao što znate, CSS svojstvo jasno postavlja na kojoj strani elementa je zabranjeno da drugi elementi teče oko njega, stoga ovo svojstvo može spriječiti elemente da se preklapaju iznad onih koji lebde. Ideja je sledeća: ubacite prazan element koji ima svojstvo clear ispod plutajućih blokova. Dugogodišnja je tradicija da se za ovakav element koristi posebna klasa, tako da je možete koristiti u svom HTML-u. Evo klasičnog CSS koda:
Jasno (jasno: oba; )
Što je primjenjivo na naš HTML izgled:
Naš demo primjer implementiran pomoću ove metode:
![](https://i0.wp.com/websketches.ru/assets/files/blog/clear_floats/clear_floats_final_example1.png)
Ako vam nije stalo do kontejnera koji se urušava, samo izgubljeni blok .main, tada možete postaviti i element "protoka čišćenja" nakon posude. Ali, ako odlučite da to učinite, tada će biti mnogo lakše jednostavno dodati svojstvo clear samom elementu .main.
Ovo je jednostavna i jasna metoda. Međutim, moderne prakse izgleda imaju tendenciju da odvoje sadržaj od stila, pa je najbolje da ga ne koristite.
Metoda 2: svojstvo prelivanja
Korištenje imovine overflow u oznaci .container, možemo prisiliti da se kontejner proširi do visine postavljenih elemenata. Naš CSS će izgledati ovako:
Kontejner ( prelijevanje: skriveno; /* ili "auto" */ )
Naš HTML će ostati isti kao što je bio izvorno, bez dodatnih elemenata. Ovo je ono što dobijamo kao rezultat:
![](https://i1.wp.com/websketches.ru/assets/files/blog/clear_floats/clear_floats_final_example2.png)
Nažalost, ova metoda ima nedostatak: svaki podređeni element koji se proteže izvan kontejnera će biti ili isječen (u slučaju prelivanja: skriven;) ili će uzrokovati pojavljivanje traka za pomicanje (u slučaju prelivanja: auto;).
Metoda 3: “clearfix” klasa
Mi kreiramo klasu .clearfix sa pseudo elementima ::prije I ::posle i dajte im prikaz: table , koji kreira anonimnu ćeliju tabele. Ova klasa će se koristiti za brisanje plutajućih elemenata. CSS kod izgleda ovako:
Clearfix:pre, .clearfix:after (sadržaj: ""; prikaz: tabela; ) .clearfix:after (očisti: oba; ) .clearfix (zum: 1; /* tj. 6/7 */)
Promenimo malo HTML kod dodavanjem u klasu kontejner Klasa clearfix:
Evo rezultata naše nove klase:
![](https://i2.wp.com/websketches.ru/assets/files/blog/clear_floats/clear_floats_final_example3.png)
Ako vam nije potrebna podrška za pretraživače ispod IE8, onda će naš kod biti značajno smanjen:
Clearfix:after (sadržaj: ""; prikaz: tabela; brisanje: oba; )
Metoda 4: sadrži-floats vrijednost za min-visinu
Kontejner (min-visina: contain-floats; )
Ovaj kod daje skoro isti efekat kao clearfix ili overflow, ali sa jednom linijom koda i, osim toga, nema nedostataka o kojima smo ranije govorili. Nažalost, još nijedan pretraživač ne podržava ovo svojstvo, pa ga imajte na umu.
Dakle, imate gomilu različitih "clearfix" metoda. Primjena klase .clearfix je postao standard i toplo preporučujem da ga koristite u odnosu na prethodne dvije metode.
Upotreba slika na html stranici je uvijek informativnija i vizualnija u odnosu na čvrsti tekst.
Sliku je moguće umetnuti u html tekst na nekoliko načina, a u klasicima ovih metoda postoje 3:
- centriranje slike
- premotavanje teksta oko slike
- postavljanje slike u polje
Poravnavanje slike prema sredini
Da biste poravnali sliku sa središtem tekstualne kolone, najlakši način je da koristite oznaku stavite u kontejner
Za koje je postavljen atribut align="center". Ako očekujete da ćete često koristiti slike, onda bi bilo najbolje koristiti CSS stil za oznaku
Kako se to implementira, pogledajte primjer 1.
Primjer 1: Poravnavanje slike prema sredini
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <html > <glava > <meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" > <naslov > Centralni crtež</naslov> <style type = "text/css" > </style> </head> <tijelo > <p class = "cimg" > <img src = "images/sample.gif" širina = "200" visina = "100" alt = "Ilustracija" > !} </p> </tijelo> </html> |
U ovom primjeru, na kontejner
Dodamo CSS klasu cimg, koja postavlja poravnanje na centar linije. Kako će to shematski izgledati prikazano je na slici 1.
Rice. 1. Crtež u sredini kolone teksta
Premotavanje teksta oko slike
Premotavanje teksta oko slike jedna je od najčešćih metoda HTML izgleda stranice, koja vam omogućava da efikasno koristite sav raspoloživi prostor. popularne tehnike za raspored web stranica, kada se slika nalazi duž ivice prozora pretraživača, a tekst ide oko nje sa druge strane (slika 2). Da biste prilagodili premotavanje teksta oko slike, možete koristiti nekoliko metoda zasnovanih na HTML-u i CSS-u.
Rice. 2. Slika je poravnata sa lijevom ivicom stranice i okružena tekstom na desnoj strani.
Da biste omotali tekst oko slike koristeći HTML, morate zapamtiti da je oznaka Postoji atribut align, koji određuje poravnanje slike u dokumentu i istovremeno određuje kako će se tekst omotati oko slike. Da biste poravnali sliku udesno i podesili da se tekst premota ulijevo, potrebno je koristiti align="right", da poravnate lijevo i premotate tekst udesno koristite align="left". Ovdje je također korisno koristiti atribute oznaka
- vspace i hspace, koji označavaju na kojoj udaljenosti će tekst teći oko slike okomito i horizontalno. Bez navođenja ovih atributa, tekst će biti usko uz sliku (primjer 2).
Primjer 2: Premotajte tekst oko slike koristeći HTML
1 2 3 4 5 6 7 8 9 10 11 12 13 | <html > <glava > <meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" > <naslov > Crtanje u tekstu</naslov> </head> <tijelo > <p> <img src = "images/sample.gif" širina = "100" visina = "200" alt = "Ilustracija" align = "left" vspace = "5" hspace = "5" > !} </p> </tijelo> </html> |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
Da bismo konfigurisali premotavanje slika pomoću CSS stilova, koristićemo pravilo float. float:right poravnava sliku sa desnom ivicom dokumenta i prelama tekst ulevo, dok float:left poravnava sliku sa levom ivicom dokumenta i prelama tekst udesno od slike (primer 3).
Primjer 3: Premotajte tekst oko slike koristeći CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <html > <glava > <meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" > <naslov > Crtanje u tekstu</naslov> <style type = "text/css" > </style> </head> <tijelo > <p> <img src = "images/sample.gif" širina = "100" visina = "200" alt = "Ilustracija" class = "cimg" > !} Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.</p> </tijelo> </html> |
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
Ovdje da označite dodaje se klasa cimg, koja ima desno poravnanje postavljeno na float:right, a lijevo i donje omotavanje slike je postavljeno svojstvima padding-left:10px i padding-bottom:10px.
Slika na terenu
Sa ovim formatom za postavljanje slike u dokument, slika teče oko samo jedne strane. Ova metoda postavljanja liči na strukturu od dvije kolone, gdje je slika smještena u jednu kolonu, a tekst u drugu.
Kod ove šeme, slika se nalazi desno ili lijevo od teksta i teče samo s jedne strane. U stvari, podsjeća na dvije kolone, od kojih jedna sadrži crtež, a druga tekst (slika 3).
Rice. 3. Postavite sliku u polje lijevo od teksta
Znam dva načina za kreiranje slične strukture - korištenjem HTML oznaka