Popis
Vlastnosť CSS margin-top nastavuje vypchávky v hornej časti prvku. Polstrovanie je vzdialenosť od vonkajšieho okraja horného okraja aktuálneho prvku k jeho vnútornému okraju. rodičovský prvok alebo k hranici prvku nad ním. Upozorňujeme, že pre vložené prvky (zobrazenie: vložené;) je možné nastaviť iba vypchávky na ľavej a pravej strane.
Veľkosť vonkajšieho horného polstrovania je možné zadať v pixeloch (px), percentách (%) alebo v iných jednotkách CSS. Hodnota môže byť kladná alebo záporná.
Poznámka: Spodné alebo horné vypchávky dieťaťa môžu ovplyvniť celkovú výšku rodiča, ak nemá pevnú veľkosť.
Kombinácia polí
- Polia súrodencov, umiestnené pod sebou a nachádzajúce sa v toku dokumentov, sú zlúčené do jedného spoločného. Výška výsledného okraja sa rovná výške väčšieho z dvoch okrajov, napríklad: okraj horného prvku (spodný okraj) je 10 pixelov a spodného prvku (horný okraj) je 20 pixelov, jedna marža v tomto prípade bude vysoká 20 pixelov.
- Okraje rodiča a dieťaťa, ktoré sú v toku dokumentov, sa zlúčia, ak rodič nemá nič, čo by oddeľovalo jeho vonkajšie vypchávky od vonkajšieho vypchávania dieťaťa (orámovanie, vypchávky alebo vložený obsah). Polia sa tiež nezlúčia, ak je vlastnosť pretečenia v nadradenom prvku nastavená na skrytú alebo automatickú. Výhodou tejto metódy je, že veľkosť rodičovského prvku sa nezvyšuje.
V tomto článku by som vám rád povedal, ako správne zariadiť polia(polstrovanie) a odsadenie(marža) v CSS.
V prvom rade si spomeňme na definíciu okrajov a polstrovania podľa špecifikácie W3C. V boxovom modeli sú okraje vzdialenosť medzi obsahom a okrajom. A vypchávka je vzdialenosť medzi okrajom bloku a okrajom susedného alebo nadradeného prvku.
Ak teda nie je nastavený okraj a pozadie prvku, potom nie je žiadny rozdiel, na nastavenie odsadenia použite vlastnosť vypchávky alebo okraja, ale za predpokladu, že šírka (šírka) a výška (výška) prvku nie sú nastavené. a algoritmus na výpočet veľkosti obsahu pomocou vlastností box-size.
V každom prípade majte na pamäti, že okraje môžu byť zahrnuté do šírky alebo výšky prvku, alebo nie. Okraje sú vždy nastavené mimo prvok.
Teraz sa pozrime na to, ako správne umiestniť okraje a vypchávky medzi prvky. Ako príklad si vezmite nasledujúci blok.
Toto sú správy z bloku správ. Skladá sa z nadpisu, zoznamu správ a odkazu „Viac noviniek“. Dajme im nasledujúce názvy tried: news__title, news__list a news__more-link.
správy
Ďalšie novinky
Pretože každý z týchto prvkov má rovnaké ľavé a pravé okraje, je lepšie nastaviť okraje pre nadradený blok, než nastaviť ľavé a pravé okraje pre každý prvok zvlášť.
Správy (polstrovanie: 20 pixelov 25 pixelov;)
Ak je teda potrebné zmeniť hodnotu polí vpravo a vľavo, bude to potrebné urobiť Na jednom mieste... A keď do bloku správ pridáte nový prvok, už bude mať potrebné zarážky vľavo a vpravo.
Často sa stáva, že všetky prvky v bloku majú rovnaký ľavý a pravý okraj, okrem jedného, ktorý by napríklad nemal byť kvôli pozadiu vôbec odsadený. V tomto prípade môžete pre prvok nastaviť záporné okraje. Potom nemusíte odstraňovať okraje vo vnútri bloku pre ostatné prvky.
Teraz musíme nastaviť vertikálne medzery medzi prvkami. Za týmto účelom určte, ktorý z prvkov je povinné... Spravodajský blok nemôže existovať bez zoznamu správ, zároveň nemusí existovať odkaz „Iné správy“, nadpis je možné tiež odstrániť, napríklad pri zmene dizajnu.
Keď to vezmeme do úvahy, v spodnej časti nastavíme zarážku názvu a v hornej časti zarážku odkazu „Ostatné správy“.
News__title (bottom-margin: 10px;) .news__more-link (margin-top: 12px;)
Rovnaký externý efekt by sme mohli dosiahnuť pridaním horného a dolného polstrovania pre zoznam správ.
Zoznam noviniek__ (okraj: 10 pixelov 0 12 pixelov 0;)
Teraz musíte nastaviť zarážky medzi jednotlivými správami. Opäť majte na pamäti, že počet noviniek sa môže meniť a v zozname môže byť iba jedna novinka.
Môžete nastaviť pre každú správu okrem prvej zarážky hore alebo pre každú správu okrem poslednej zarážky v spodnej časti. Uprednostňuje sa prvá možnosť, pretože: pseudo-selektor prvého dieťaťa bol pridaný do špecifikácie CSS 2.1 a má širšiu podporu ako pseudo-selektor: posledné dieťa, ktorý bol pridaný iba do špecifikácie CSS 3.0.
News__list-item (margin-top: 18px;) .news__list-item: first-child (margin-top: 0;)
Preto správne umiestnenie okraje a zarážky vám umožňujú flexibilnú zmenu vzhľad akýkoľvek blok bez zmeny štýlov a bez porušenia dizajnu. Najdôležitejšie je určiť, ktoré prvky bloku sú hlavné ( povinné), a ktoré voliteľné.
Niekedy sa nemôžeme spoliehať na požadované prvky. Máme napríklad vyskakovacie okno, v ktorom je možné zobraziť nejaký názov a text. Navyše v niektorých prípadoch nemusí byť žiadny text a v niektorých prípadoch nemusí byť názov. To znamená, že oba prvky sú voliteľné.
V takom prípade môžete na zarážky použiť nasledujúci spôsob.
Popup__header + .popup__text (horný okraj: 15 pixelov;)
Potom sa odsadenie zobrazí iba vtedy, ak budú použité oba prvky. V prípade zobrazenia iba nadpisu alebo iba textu nebude existovať žiadne extra odsadenie.
Zbaliť zvislé polstrovanie
Ďalšia nuansa, o ktorej nie každý vie, je spojená so zvislými zarážkami medzi susednými blokmi. V definícii odsadenia, ktorú som uviedol vyššie, sa uvádza, že odsadenie je vzdialenosť medzi nimi hranice súčasný a priľahlý blok. Ak teda umiestnime dva bloky pod seba a jednému z nich dáme dolný okraj 30 pixelov a druhému hornému okraju 20 pixelov, okraj medzi nimi nebude 50 pixelov, ale 30 pixelov.
To znamená, že sa budú prekrývať zarážky a zarážka medzi blokmi sa bude rovnať najväčšej zarážke, a nie súčtom zarážok. Tento efekt sa nazýva aj „kolaps“.
Upozorňujeme, že horizontálne zarážky, na rozdiel od vertikálnych, sa nezrútia, ale sú zhrnuté. Sumarizujú sa aj polia (vypchávky).
Keď vieme o „zrútenom“ polstrovaní, môžeme túto funkciu využiť vo svoj prospech. Ak napríklad potrebujeme do článku vložiť zarážky pre nadpisy a text, potom pre nadpis prvej úrovne nastavíme odsadenie v spodnej časti na 20 pixelov a pre nadpis druhej úrovne v hornej časti 20 pixelov a v dolnej časti 10 pixelov a pre všetky odseky nastavíme odsadenie v hornej časti 10 pixelov.
H1 (spodný okraj: 24 pixelov;) h2 (horný okraj: 24 pixelov; dolný okraj: 12 pixelov;) p (horný okraj: 12 pixelov;)
Teraz môže byť nadpis h2 umiestnený buď za nadpis h1, alebo za odsek. V každom prípade horný okraj nepresiahne 24 pixelov.
Všeobecné pravidlá
Aby som to zhrnul, rád by som uviedol zoznam pravidiel, ktoré dodržujem pri zaraďovaní okrajov a čalúnení.
- Ak susedné prvky majú rovnaké polstrovanie, je lepšie ich nastaviť na nadradený kontajner, a nie na prvky.
- Pri nastavovaní medzier medzi prvkami by ste mali vziať do úvahy, či ide o povinný prvok alebo voliteľný prvok.
- Zoznam prvkov rovnakého typu - nezabudnite, že počet prvkov sa môže líšiť.
- Uvedomte si zvislé vypchávky a používajte túto funkciu tam, kde je to užitočné.
Anya napísala nasledujúci kód (príklad 1) a získala stránku zobrazenú na obr. 1. Ale Anya nepotrebuje žiadne zarážky medzi blokmi, rovnako ako napravo a naľavo od blokov. Aké zmeny v kóde sú na to potrebné?
Medzi nadpisom a hlavným textom je príliš veľa odsadenia. Ako ho môžem zmenšiť?
Na odsek (tag
) a názov (tag
) automaticky pridá horné a dolné vypchávky, ktoré sa spoja, aby poskytli veľké medzery medzi nadpisom a textom. Aby ste znížili množstvo vypchávky, musíte do selektora H1 explicitne pridať vlastnosť okrajového dna. Okrem toho môžete nastaviť kladnú, nulovú alebo zápornú hodnotu. Týmto spôsobom je ľahké nastaviť požadovanú hodnotu odsadenia.
Ako môžem odsadiť prvý riadok pre každý odsek?
Keď potrebujete nastaviť odsadenie odseku, je najlepšie použiť vlastnosť štýlu text-odsadenie. Jeho hodnota určuje, o koľko sa má text v prvom riadku posunúť napravo od jeho pôvodnej polohy. V tomto prípade sa šírka textového bloku nemení a zostáva pôvodne nastavená. Veľkosť odsadenia môže byť špecifikovaná v pixeloch, percentách alebo iných dostupných jednotkách (príklad 1).
Ako odstrániť horné a dolné odsadenie zo zoznamu?
V závislosti od typu zoznamu použite vlastnosti štýlu margin-top a margin-bottom pre volič UL alebo OL. Môžete tiež použiť generickú vlastnosť marže.
Ako zmením odsadenie na webovej stránke?
Polstrovanie na webovej stránke, aj keď nie je viditeľné, neumožňuje, aby sa obsah tesne dotýkal okrajov okna prehliadača a zaistil tak pohodlné čítanie. Svoj vlastný okraj môžete nastaviť zmenou vlastnosti okraja voliča tela.
Ako odstránim vypchávky okolo formulára?
Pri pridávaní formulára prostredníctvom značky