Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 12035|Odpověď: 0

[CSS/DIV] Perfektně řeší horizontální centrování CSS stránek

[Kopírovat odkaz]
Zveřejněno 15.10.2014 21:50:33 | | |

Běžná CSS metoda horizontálního centrování prvků

Centrování prvků v CSS není triviální záležitost – stejná legitimní nastavení centrování CSS se v různých prohlížečích chovají odlišně. Začněme tím, že se podíváme na několik běžných způsobů, jak prvky horizontálně centrovat v CSS.

1. Centrování s automatickými okraji

Preferovaný způsob, jak prvky horizontálně centrovat v CSS, je použít vlastnost margin – stačí nastavit vlastnosti margin-levo a margin-right na automatické. V praktickém použití můžeme vytvořit kontejnerový div pro tyto prvky, které je třeba centrovat. Jedna věc, kterou je třeba poznamenat, je, že šířka kontejneru musí být specifikována:

div#container{ margin-left:auto; margin-right:auto; šířka: 168px; }

Tento přístup funguje velmi dobře ve většině hlavních prohlížečů, dokonce i IE6 na Windows se dokáže správně zobrazit ve svém standardním režimu compliance. Bohužel, v nižších verzích IE toto nastavení nedosahuje efektu centrování. Pokud chcete tuto metodu použít v reálném projektu, ujistěte se, že verze prohlížeče IE uživatele není nižší než 6.0.

Navzdory absenci podpory většina designérů doporučuje tento přístup používat co nejvíce. Tato metoda je také považována za nejsprávnější a nejrozumnější ze všech metod implementace centrování na úrovni prvků pomocí CSS.

2. Použijte textové zarovnání pro dosažení centrování

Dalším způsobem, jak dosáhnout centrování elementu, je použít vlastnost text-align, nastavit hodnotu vlastnosti na střed a aplikovat ji na tělový prvek. Je to hack od začátku do konca, ale je kompatibilní s většinou prohlížečů, takže je v některých případech přirozeně nezbytný.

Nazývá se hack, protože tato metoda neaplikuje textové vlastnosti na text, ale na prvek, kterým je kontejner. To nám také přináší další práci. Po vytvoření potřebných divů pro rozložení musíme aplikovat vlastnost text-align na tělo podle následujícího kódu:

body{ text-align:center; }

Budou pak nějaké problémy? Všichni potomci těla jsou uprostřed.

Proto musíme napsat další pravidlo, které vrátí text do výchozího levotočivého zarovnání:

p{ text-align:left; }

Je možné, že toto dodatečné pravidlo způsobí určité nepříjemnosti. Prohlížeč, který skutečně dodržuje standard, nemění pozici kontejneru, ale pouze v něm vycentruje text.

3. Použijte kombinaci automatických okrajů a zarovnání textu

Protože metoda zarovnání textu má dobrou zpětnou kompatibilitu a automatická metoda vycpávky je podporována většinou současných prohlížečů, mnoho návrhářů používá kombinaci obou možností, aby maximalizovali podporu napříč prohlížeči pro efekt centrování:

body{ text-align:center; } #container{ margin-left:auto; margin-right:auto; Rámec:1pxsolidred; šířka: 168px; text-align:left }

Ale tohle je vždy trik a rozhodně to není dokonalé. Stále musíme napsat další pravidla pro text v prostředovaném kontejneru, ale alespoň to vypadá dobře v různých prohlížečích.

4. Řešení záporné vnější okraje

Řešení záporných marží jsou daleko od toho, aby byla tak jednoduchá jako přidání záporných margin k prvkům. Tato metoda vyžaduje použití jak technik absolutního pozicování, tak záporné margine.

Následuje konkrétní metoda implementace tohoto schématu. Nejprve vytvořte kontejner s prvky vycentrovanými a umístěte ho přesně na 50 % levého okraje stránky. Tímto způsobem levý okraj kontejneru začne na 50 % šířky stránky.

Poté nastavte levou okrajovou hodnotu kontejneru na polovinu záporné šířky kontejneru. Tím se kontejner ustálí uprostřed horizontálního směru stránky.

#container{ pozadí:#ffcurl(mid.jpg)repeat-ycenter; pozice: absolutní; levá: 50 %; šířka: 760px; margin-left:-380px; }

Podívejte, žádné hacky! I když to není preferované řešení, je to dobrý způsob, jak to udělat, a je velmi univerzální – překvapivě to ani v NetscapeNavigator 4.x nefunguje bez problémů, že? Pokud tedy chcete co nejširší škálu podpory prohlížečů, pak bude tato metoda nejlepší volbou.






Předchozí:Jak div css dosahuje centrování na úrovni sub-DIV???
Další:Analyzujte použití čtyř hlavních voličů hodnoty atributů v CSS
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com