P: Kako da centriram lejer na stranici koji sadrži i druge apsolutno pozicionirane lejere?
O: Mnogi bi istog trenutka predložili okvire (frejmove) ili tabele. Međutim, nijedno ne predstavlja pravo rešenje (tj. to im nije namena).
Kako se koriste lejeri, to je poželjno koristiti CSS2 mogućnosti: ,,margin-left'' i ,,margin-right''.
Kada se obe ove postave na ,,auto'', sadržaj će biti centriran. Naravno, tada je potrebno koristiti i ,,position: relative'' umesto ,,position: absolute''.
Evo i primera:
Code:
<div style="margin-left:auto; margin-right:auto; width:400; background-color: green; position: relative">
<table border="1">
<tr><th colspan="3">Tabela</th></tr>
<tr><th>Cena</th><th>Komada</th></tr>
<tr><td>Bla, bla</td><td>Di-du</td></tr>
<tr><td>Ble, blo</td><td>Di-da</td></tr>
</table>
<div style="position:absolute; left:200; top:40; width:300; height:150; background-color: blue">
Oleee
</div>
</div>
Tabela je tu samo da se vidi da njena svrha nije za pozicioniranje, kao i da se može sadržaj ubaciti na uobičajen način.
Napominjem da ovo radi samo u CSS2 preglednicima (Mozilla uspešno prikazuje, ne znam za IE). ,,margin-left'' i ,,margin-right'' su još iz CSS1 (a ni ovo IE5.5 ne podržava), a ,,position'' je iz CSS2.
Da bi naterali centrirani lejer da postane ,,containing-block'' (izraz iz CSS2 specifikacije na
http://www.w3.org/TR/REC-CSS2), potrebno je da mu ,,position'' ne bude ,,static''. Izborom ,,relative'' smo to obezbedili.
--
Nažalost, ne funkcioniše u IE-u. (Trunks)
[
Ovu poruku je menjao Trunks dana 17.10.2002. u 18:44 GMT]
Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.