Elementu pozicionēšana. CSS - bloku pozicionēšana. Absolūtā un relatīvā pozicionēšana. Ko izvēlēties vai metodes

IN HTML valoda Visus elementus var iedalīt blokos un iekļautos. Bloku elementi parasti tiek attēloti kā taisnstūrveida apgabali ar noteiktu informācijas apjomu. Ar viņu palīdzību tiek izveidots lapas režģis. Šādi elementi platumā aizņem visu tiem pieejamo vietu, un parasti pirms un pēc tiem ir līnijas pārtraukums. Blokiem var dot atkāpes, horizontālos un vertikālos izmērus.

Bloku elementu īpašības

Bloku tagos ir ietverti tagi, kas izceļ lielu skaitu teksta informācija:

,
,

,

,

,
    . Tag
    diezgan bieži izmanto mūsdienu vietņu izkārtojumā, lai izveidotu režģus un vienkārši nozīmē kaut kādu bloku vai konteineru. Tajā ir iespējams arī ligzdot citus tagus, kas nav iespējams ar visiem bloka elementiem, tāpēc
    ērti lietojams. Bloki parasti tiek sakrauti viens virs otra un netiek ievietoti iekļautajos elementos. HTML iekļautie elementi ir teksts, un tā veidošanai tiek izmantots CSS.

    Ņemot vērā satura platumu, kopējais bloka platums ir labā un kreisā polsterējuma, piemales, apmales un platuma vērtību summa. Noteiktā augstumā - no augšas un apakšas polsterējums, malas, apmales un augstums. Teksts bloka elementos pēc noklusējuma ir līdzināts pa kreisi. Ja vienā no tiem ir iekļauti elementi kopā ar bloka elementiem, tad ap iekļautajiem elementiem tiek izveidots anonīms bloks. Tam tiks piemērots noklusējuma stils. Tas arī pārmantos norādīto stilu, kas piešķirts tā vecākam.

    Dokumentu plūsma

    Plūsma attiecas uz secību, kādā tiek parādīti lapas elementi, ko nosaka CSS norādītie rekvizīti. Šajā gadījumā pēc noklusējuma bloki tiek rindoti no augšas uz leju, un, ja nav pietiekami daudz vietas, iekļautie tagi tiek pārvietoti uz jaunu rindu un sakārtoti no augšas uz leju un no kreisās uz labo pusi. Elementa atrašanās vieta lapā ir atkarīga no tā vietas kodā: jo augstāks tas ir, jo agrāk tas atrodas. Katrs no bloka elementiem izskatās kā taisnstūris, kas atstumj savus kaimiņus. Varat mainīt šo darbību, izmantojot īpašus rekvizītus. Noteiktu bloku izlīdzināšanu konteinera centrā vai sānos CSS sauc par pozicionēšanu.

    Pozicionēšanas elementi

    Bloku izvietojumu var kontrolēt, izmantojot absolūto un relatīvo pozicionēšanu. Pozicionēšana tiek izmantota, lai lielām lapas sadaļām piešķirtu noteiktu atrašanās vietu, izveidotu sarežģītas saskarnes, uznirstošos logus un dekoratīvos elementus. Galvenais rekvizīts, ko izmanto bloku pozicionēšanai CSS, ir pozīcija. Tam ir četras galvenās īpašības:

    • radinieks;
    • absolūts;
    • fiksēts;
    • statisks.

    Ar to palīdzību jūs varat pārslēgt izkārtojuma režīmus, norādot vienu no četriem parametriem: augšējo, labo, apakšējo vai kreiso. Ir arī īpašums slāņu pasūtīšanai - z-indekss. Pozicionēšana ar statisko rekvizītu parasti netiek izmantota, jo tā apzīmē bloku noklusējuma pozicionēšanu. Tāpēc nekādu parametru izmantošana to nekādā veidā neietekmē. Pārējie trīs rekvizīti tiek izmantoti izkārtojumam: relatīvs, absolūts, fiksēts.

    Relatīvā pozicionēšana

    Bloku relatīvā pozicionēšana CSS, t.i., pozīcija: relatīvais īpašums, nozīmē, ka elementu var pārvietot un mainīt tā sākotnējo pozīciju. Šāds bloks joprojām paliek straumē. Patiesībā pārvietots ir nevis viņš pats, bet gan viņa kopija. Īpašumu vērtības ir iestatītas, lai precīzi norādītu, cik daudz bloks pārvietosies vienā vai otrā virzienā. Visbiežāk tos mēra pikseļos. Bet ir pieņemami izmantot citas vienības.

    Rekvizītu izmantošana relatīvai pozicionēšanai

    Augšējais rekvizīts pārvieto konkrēta bloka kopiju uz augšu vai uz leju par īpašumā norādīto pikseļu skaitu. Lietojot to, elementi, kas atrodas zemāk vai augšā, paliek savās vietās, jo faktiski arī pārvietojamais bloks nekur nepārvietojas.

    Apakšējais rekvizīts pārvieto bloku pretējā virzienā pret augšējo īpašumu. Pozitīva vērtība palīdz to pārvietot uz augšu, bet negatīva vērtība palīdz to pazemināt. Labās un kreisās īpašības pārvieto elementu attiecīgi pa labi un pa kreisi. Apvienojot tos visus, jūs varat iestatīt precīzu bloka atrašanās vietu lapā, pārvietojot to pa vertikālo un horizontālo koordinātu asi. Ja palielināsiet atkāpes, tās tiks aprēķinātas nevis no paša bloka malas, bet gan no tā kopijas nobīdes uz sāniem.

    Absolūta pozicionēšana

    Bloku absolūto pozicionēšanu CSS nosaka absolūtās pozīcijas rekvizīta vērtība. Novietotais elements absolūti izkrīt no dokumentu plūsmas, un tā vietu ieņem blakus esošie bloki. Šāda elementa platums tiek izstiepts atkarībā no tā satura, un to var pārvietot, iestatot noteiktas vērtības rekvizītiem augšā, pa kreisi, pa labi, apakšā. Absolūtā bloku pozicionēšana CSS ir noderīga virsrakstiem. Bet pozīcija: absolūtais darbojas ne tikai bloka elementiem, bet arī iekļautajiem elementiem.

    Elementu izlīdzināšana centrā

    Pozicionēts absolūti iekļauts elements darbosies tieši tāpat kā iekļauts elements. Tāpēc pozicionēšanu var izmantot arī teksta kontrolei CSS. Tam var lietot dažus jaunus rekvizītus, piemēram, mainīt augstumu un platumu. Centrēšana un vertikālā līdzināšana CSS izmanto vairāku īpašību kombināciju. Kontrolē augšējā īpašuma vertikālo līdzinājumu. Ja vēlaties centrēt bloku CSS, galvenajam konteineram ir jābūt relatīvi novietotam, un līdzinātajam elementam jābūt absolūti novietotam. Konteineram ir jāiestata augšējais rekvizīts: 50%, un, lai pārvietotu elementu uz pusi tā augstuma, izmantojiet translate rekvizītu ar vērtību “0, -50%. Absolūti pozicionētos elementus var iedalīt jaunā veidā, jo tiem tiek piemērotas īpašības, kas nav pieejamas citiem pozicionēšanas veidiem.

    Pozicionēšana attiecībā pret pārlūkprogrammas augšējo kreiso stūri

    Kreisās, augšējās, labās un apakšējās īpašības darbojas atšķirīgi uz absolūti un relatīvi novietotiem elementiem. Relatīviem elementiem šīs īpašības nosaka nobīdi attiecībā pret elementa atrašanās vietu. Absolūti novietotie ieņem vietu attiecībā pret konkrētu koordinātu sistēmu, kas saistīta ar pārlūkprogrammas loga izmēru. Šīs sistēmas sākuma punkti ir loga stūri. Izmantojot kreiso rekvizītu, atkāpe tiks skaitīta no pārlūkprogrammas kreisās puses, taču ritjoslas nebūs. Augšējais rekvizīts, kad tas ir novietots absolūti, norāda nobīdi no pārlūkprogrammas augšdaļas līdz elementa augšdaļai, kuram tas tiek lietots. Apvienojot abus rekvizītus, elementu var pārvietot attiecībā pret pārlūkprogrammas augšējo kreiso stūri.

    Pozicionēšana attiecībā pret pārlūkprogrammas augšējo labo stūri

    Līdzīgi, izmantojot labo un augšējo rekvizītu, varat nospiest elementu pārlūkprogrammas loga labajā pusē un mainīt tā vertikālo pozīciju, pārvietojot to uz augšējo labo stūri. Ja pareizais rekvizīts ir iestatīts uz negatīvu vērtību, bloks tiks pārvietots ārpus loga robežas. Pēc tam vajadzētu parādīties ritjoslai. Lai pārvietotu elementu uz leju, izmantojiet apakšējo rekvizītu. Tas norāda atkāpi no pārlūkprogrammas loga apakšējās malas līdz bloka apakšai. Ja tā vērtība ir negatīva, tiek parādīta arī ritjosla, jo elements tiek pārvietots ārpus pārlūkprogrammas loga apakšējās robežas.

    Koordinātu sistēma absolūtai pozicionēšanai

    Pēc noklusējuma visi elementi, kuriem ir piešķirta absolūtā pozicionēšana, ir piesaistīti vienai koordinātu sistēmai - pārlūkprogrammas logam. Bet to var mainīt, piešķirot kādam vecāku elementam relatīvu pozicionēšanu. Pēc tam bērnu bloks mainīs savu atrašanās vietu atkarībā no vecāka. Ja starp vecākiem elementiem ir vairāki ar relatīvu pozicionēšanu, tad skaitīšana tiek veikta no tuvākā no tiem. Šajā gadījumā noklusējuma pozicionēšana būs no tā, kas norādīta body tagā.

    Atskaites punkts absolūti novietotam elementam

    Pirms elementam tika piešķirta absolūta pozicionēšana, to dažviet sauca par netiešu izcelsmi. Ja šādam blokam netiek doti rekvizīti, tas nepārvietosies. Varat to pārvietot, iestatot piemales rekvizītu. Tas darbosies līdzīgi pozicionēšanas īpašībām. Ja nedefinēsi kreisās īpašības un visu pārējo vērtību, tad tā būs vienāda ar auto. Varat arī izmantot automātisko, lai atgrieztu elementus to sākotnējās vietās.

    Fiksēta pozicionēšana

    Vēl viena vērtība ir fiksēta. Pozīcijas rekvizīts noenkuro elementu noteiktā vietā. Fiksētā pozicionēšana bieži tiek izmantota, lai izveidotu izvēlnes CSS. Tas ir līdzīgs absolūtajam, bet fiksētais bloks izkrīt no plūsmas. Pat ritinot lapu, šāds elements paliks savā vietā, tāpēc ir ērti to izmantot, lai izveidotu izvēlni CSS. Sākumpunkts tiks piesaistīts pārlūkprogrammas logam. Ja ir vairāki pozicionēti bloki, to sakārtošanai tiek izmantots z-index rekvizīts. Ar tās palīdzību jūs varat pārklāt relatīvos blokus ar absolūtajiem, ja piešķirat tiem atbilstošo indeksu, kas izteikts kā vesels skaitlis. Jo lielāks tas ir, jo augstāks būs bloks.

    Viena no labākajām lietām CSS ir tā, ka stili dod mums iespēju novietot saturu un elementus lapā gandrīz jebkurā iedomājamā veidā. Tas mūsu dizainam pievieno struktūru un palīdz padarīt saturu vizuālāku.

    Ir daži dažādi veidi pozicionēšana CSS, katram no šiem veidiem ir sava darbības joma. Šajā nodaļā mēs apskatīsim dažus dažādus lietošanas gadījumus — atkārtoti lietojamu izkārtojumu izveidi un vienreizlietojamo elementu unikālo novietojumu — un aprakstīsim dažas metodes, kā to izdarīt.

    Pozicionēšana, izmantojot pludiņu

    Viens veids, kā novietot elementus lapā, ir peldēšanas rekvizīts. Šis īpašums ir diezgan daudzpusīgs, un to var izmantot dažādos veidos.

    Būtībā peldēšanas rekvizīts ņem elementu, noņem to no parastās lapas plūsmas un novieto pa kreisi vai pa labi no tā vecākelementa. Visi pārējie lapas elementi tiks apvilkti ap šādu elementu. Piemēram, rindkopas apņems attēlu, ja elements pludiņa īpašums ir iestatīts.

    Ja pludināšanas rekvizīts tiek lietots vairākiem elementiem vienlaikus, tas ļauj izveidot izkārtojumu ar peldošiem elementiem blakus vai pretī viens otram, kā parādīts vairāku kolonnu izkārtojumā.

    Pludināšanas rekvizītam ir vairākas vērtības, no kurām divas populārākās ir pa kreisi un pa labi, kas ļauj elementam peldēt pa kreisi vai pa labi no tā vecāka.

    Img (peldēt: pa kreisi;)

    peldēt praksē

    Izveidosim vispārīgu lapas izkārtojumu ar galveni augšpusē, divām kolonnām centrā un kājeni apakšā. Ideālā gadījumā šī lapa būtu marķēta ar elementiem

    ,
    ,