Autor Zpráva
habendorf
Profil
Můžete si prosím někdo, zobrazit toto v IE, protože nevím jak to popsat. Asi "jedna centrovaná řada dvouřádkových linků"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<style>
.menu {text-align: center; margin-left:auto; margin-right:auto; font-size: xx-small}
.item {width: 100px; border: 1px solid red}
</style>
</head>
<body>
<div class="menu">
<span class="item"><a href="nekam">aaa<br>bbb</a></span>
<span class="item"><a href="nekam">aaa<br>bbb</a></span>
<span class="item"><a href="nekam">aaa<br>bbb</a></span>
<span class="item"><a href="nekam">aaa<br>bbb</a></span>
</div>
</body>
</html>


IE a Opera OK, v Gecku katastrofa. Zkoušel jsem všechno možné...
Původně jsem to měl celé přes float: left, ale nešlo mi to pak celé vycentrovat.
Štve mě, že to vypadá hrozně jednoduše a přitom jsem v koncích...
habendorf
Profil
Nějak to ten kód divně rozhazuje.
Thalia
Profil *
No já bych viděla problém v tagu <br >, který je v tom <span > (řádkový element). Protože když to br smažu, tak to pak vypadá dobře, jen ten odkaz není dvouřádkovej. Takže bych span vyměnila za div.
Honza Hučín
Profil
Potíž je v tom, že se snažíš nastavovat šířku pro řádkové prvky (<span>), což se nesmí a Mozilla to samozřejmě ignoruje. Zkusím se na to podívat a navrhnout řešení.
habendorf
Profil
Thalia: To jsem původně měl v divech a skládal je vedel sebe pomocí float: left, ale necentrovalo se to pak. Takhle:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<style>
.menu {text-align: center; margin-left: auto; margin-right: auto; font-size: xx-small}
.item {width: 100px; border: 1px solid red; float: left}
</style>
</head>
<body>
<div class="menu">
<div class="item"><a href="nekam">aaa<br>bbb</a></div>
<div class="item"><a href="nekam">aaa<br>bbb</a></div>
</div>
</body>
</html>
habendorf
Profil
Honza Hučín: to jsem jen zapoměl odmazat z původního řešení s divy, viz výše
Honza Hučín
Profil
Necentruje se to proto, že div neměl nastavenou šířku a IE navíc neumí margin-left:auto, pokud je v quirk modu (a IE 5.x to neumí vůbec).

Doporučuji tedy

body {text-align:center}
.item {width: 100px; border: 1px solid red;display:block;float:left}
a do .menu přidat width:420px (nebo tak nějak)
habendorf
Profil
Já tam tu šířku dokonce měl, ale blbě. Ale pořád mi to připadá jako trochu nečisté řešení díky tomu width:420px (nebo tak nějak). Když budu chtít přidat položku, budu muset tu hodnotu měnit. Navíc zase browsery tu šířku počítají malinko odlišně (ale ty rámečky tam samozřejmě nebudou, vynuluju padding a margin a už by to mohly počítat dost podobně).
Nicméně problém to řeší, takže velké DÍKY!
habendorf
Profil
Tak jsem znovu v koncích. Celé co jsme tu vytvořili chci dát uplně dolu, řekněme 5px odspoda.
To se mi povedlo jen takhle:
.menu		{

margin-left:auto; margin-right:auto; font-weight: normal; font-size: 9px; line-height: 8pt; width: 744px;
position: absolute; bottom: 5px
}
.item {width: 80px; float:left; margin: 0px; padding: 0px}
, ale zas to přestane centrovat horizontálně (to mám v body).
Víte někdo prosím co s tím?
Honza Hučín
Profil
To je tím absolutním pozicováním.
Nabízí se přidat do .menu {left:50%; margin-left:-372px} a vyhodit ten margin-right. Těch 372 je polovina ze 744 ;-)
habendorf
Profil
Honzo díky, funguje to.
Ale je tu další problém: pokud je stránka delší a roluje se, cpe se to menu 5px od kraje monitoru, takže někam doprostřed stránky. Pouze jediná Opera pochopila, že to má být na konci stránky a ne na konci monitoru.
Chtěl bych, aby menu bylo dole, ale až na konci stránky. Pokud je stránka krátká, bude následovat prázdné místo a dole menu. Pokud je dlouhá (roluje), bude menu samozřejmě až na konci. Jak na to?
Sakra vypadá to jednoduše, ale skoro mám dojem, že na to css nestačí a bude se muset skriptovat.
habendorf
Profil
Tak co, nevíte někdo?
Fred
Profil
Taky jsem to zkoušel a když to nešlo trochu jsem hledal a zdá se, že asi bude nutno skriptovat, protože by tady http://www.alistapart.com/articles/footers/ určitě našli lepší řešení
habendorf
Profil
Jo Frede, díky. Nemám čas to teď zkoušet, ale vypadá to velmi nadějně :o)
Honza Hučín
Profil
Nejjednodušší řešení je podle mě zařadit menu v toku dokumentu za tělo stránky. Pak se vypíše na konci stránky za tělem. Tedy:

...
<div id="telo">
...
</div> <!-- konec těla stránky -->
<div id="dolnimenu">
...
</div>

Pokud bys chtěl mít tělo absolutně pozicované, bylo by potřeba tělo a menu obalit dalším DIVem a absolutně pozicovat ten.
habendorf
Profil
Honza Hučín: Honzo, jde mi o to, aby pokud je stránka krátká (třeba jen pár řádků), tak aby menu bylo až na spodku okna. A když je dlouhá (roluje se), aby bylo kousek za koncem stránky. Pokud to dobře chápu, tak to tvoje řešení to neřeší. Nicméně ten odkaz od Freda je dobrej. Jak jsem očekával, bude třeba skriptovat (na což se ale možná vykašlu, nevím jestli to má cenu).
Toto téma je uzamčeno. Odpověď nelze zaslat.