Autor Zpráva
dunky
Profil
Potřeboval bych udělat horizontální menu viz návrh
Něco jsem zkoušel: Tady

Tak a teď trochu blíž k mému problému:
1. potřeboval bych aby menu bylo roztahovací to znamená, že by se šířka menu přizpůsobovala obsahu(jediný způsob jak to udělat mě napadá pomocí tabulek).
2. Když nastavím:
Li {
  Display: block;
  float: left;
}

A teď nevím jak menu vycentrovat, kvůli float: left a opět jediný způsob mě napadá pouze pomocí tabulek. A proto se ptám: Bylo by v tomto případě použití tabulek tak extrémně sémanticky špatné? Napadá vás nějaké jiné rozumné řešení pomocí CSS?
Taurus
Profil
Tož, sémanticky špatné ano, protože nejde o tabulková data. Na webu jsou řešení (i přímo tady), jak na to. K tomu je hledání vpravo nahoře.
dunky
Profil
Možná vyvolám flame ale stejně mi to nedá:
Není lepší použít tabulky, než vymýšlet složitá řešení nefungující ve vícero prohlížečích? Není rychlejší použít vestavěnou funkci html u které si můžu být téměř jist že funguje ve všech? Není poněkud vtipné v html se tabulkám za každou cenu vyhnout ale pak stejně tuto vlastnost přiřadit divu pomocí display: table viz Habendorfovo řešení?
panther
Profil
dunky:
Není lepší použít tabulky, než vymýšlet složitá řešení nefungující ve vícero prohlížečích?
použij si co chceš, z hlediska sémantického to úplně jedno není. Nikdo ti ale nebrání.

Není rychlejší použít vestavěnou funkci html u které si můžu být téměř jist že funguje ve všech?
tou vestavěnou funkcí myslíš tabulku? Řekl jsi správně, že menu má svůj tag. Jmenuje se <menu>

Není poněkud vtipné v html se tabulkám za každou cenu vyhnout
jde mj. o to, že bez stylů pak uvidíš tabulku, která vlastně tabulkou není. Nevidomí také budou mít předloženou tabulku místo menu.


To, jak máš menu teď - nevím, jak bylo předtím - taky není to pravé. Ty oddělovače „|“ je dobře dát kamkoliv, jen ne do samostatného LI. Náhled na stránku s vypnutými styly ti opět napoví, že něco není dobře (puntíky u „|“, kde nemají co dělat).


Ale ještě jednou říkám: Používej si, co chceš, pokud chceš použít pro tebe rychlejší, avšak nesémantické řešení, použij ho.
dunky
Profil
panther:
To, jak máš menu teď - nevím, jak bylo předtím - taky není to pravé. Ty oddělovače „|“ je dobře dát kamkoliv, jen ne do samostatného LI. Náhled na stránku s vypnutými styly ti opět napoví, že něco není dobře (puntíky u „|“, kde nemají co dělat).
Jak bych to měl udělat jinak? Mám tam dát span? Není takové řešení nevalidní?

Ano vestavěnou funkcí myslím tabulky.
Bubák
Profil
dunky:
Jak bych to měl udělat jinak? Mám tam dát span? Není takové řešení nevalidní?
Třeba takhle nějak, i když já raději obrázek na pozadí, nebo border:
<li>
<a ...>Položka></a>
<span>|</span>
</li>

Spanu můžeš dát pravý i levý margin.
dunky
Profil
Mno tak jsem použil Habendorfovo řešení + Bubákův tip na oddělovač a vše funguje suprově. akorát, když zmenším okno prohlížeče tak se mi všechny položky nechutně rozhází, může za to vláček po stranách menu. Nejde ho něják zaltlouct do pozadí, aby neovlivňoval ostatní prvky?

http://dunky.own.cz/public/DDZ/template.html
+ Screen obrazovky pro ty co to nepochopili z mého vysvětlení:
panther
Profil
dunky:
proč je vláček jako další položka menu? Vůbec u psaní kódu nepřemýšlíš.

Není takové řešení nevalidní?
i kdyby bylo, tak co? Zboří se svět? Nezboří, na validitě totiž nezáleží.
dunky
Profil
proč je vláček jako další položka menu?
Proč ne, svět se nezboří(ale web ano :)
Páč nevím jak to jinak udělat, do pozadí ho dát nemužu, to by ten obrázek byl strašlivě velikej a pak mě napadlo ho dát vedle menu ale to by vyšlo nastejno a navíc by jsem tam měl dvakrát vnořenou konstrukci s display: table, prostě maglajs.

Nešlo by třeba nějak omezit zalamování?

PS: Asi jsem ouplně natvrdlej omlouvám se, snad se mi ten mozek trochu vytrénuje.
panther
Profil
dunky:
svět se nezboří(ale web ano :)
validita není to, co zboří web. To je jen kodérská neschopnost.

do pozadí ho dát nemužu, to by ten obrázek byl strašlivě velikej.
jak velikej? Veškeré pozadí na webu nemusí být jeden obrázek, lze přiřadit různé kousky ppzadí různým elementům. Pak by se ti nebořilo menu, protože by bylo výrazně kratší.
dunky
Profil
No dobře nebudu tady rozdmýchávat hádku a zkusím nějaké řešení vymyslet sám
panther
Profil
dunky:
hádku nerozdmýcháváš, jen ti říkám, že ten vlak patří na pozadí (jediné správné řešení uvedené situace). Cokoliv jiného, co vymyslíš, je špatně.
dunky
Profil
Dobře tak jsem vláček dal na pozadí: http://dunky.own.cz/public/DDZ/template.html
Furt to ale neřeší můj problém. Co takový IPhone nebo jiná malá zařízení. Nezobrazí se menu rozházené?

Zjistil jsem, že do jisté míry mi může pomoci min-width, ale to můžu už rovnou použít pevnou šířku.
dunky
Profil
Zatím nejlepší řešení mi bylo porazeno nastavit:
white-space: nowrap;

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0