Autor Zpráva
tcladin
Profil
Ahoj.
Prosím jde udělat pomocí php, html a css horizontální menu umístěné na vrcholu stránky, jehož kod bude umístěn na konci skriptu?
Jde mi o to, aby neclonil text z menu nad obsahem....

Umím udělat pro případ vertikálního menu. Ale u horizontálního neumím umístit menu z konce skriptu do hlavy stránky jinak než, že příslušný div pomocí CSS position:absolute umístím do hlavy stránky. Pak ale na něj neplatí margin-left:auto; margin-right:auto; krerým si horizontálně středím obsah <body>

dík za radu
Chamurappi
Profil
Reaguji na tcladina:
K čemu něco takového potřebuješ?
Současné CSS žádné rozumné řešení nenabízí.
tcladin
Profil
Chamurappi
jde mi o to aby nebyl text menu pred textem obsahu, doporučuje se to kvůli SEO a kvůli uživatelům, kteří používají tabulátor místo myši(musí přeskákat celé menu, než se dostanou k odkazům z textu). Myslíš, že to není dostatečný důvod?

Ani já nevím jak na to.... Délka obsahu je proměnná a tak nelze použít trik jako u vertikálního menu....
Miloš
Profil
tcladin
A musí to menu být ve scriptu? Nestačilo by, kdyby bylo na konci kódu?

Absolutně pozicovat můžeš nejen vůči celé stránce, ale také vůči jakémukoli prvku, který má nastaveno position:absolute nebo position:relative. Poprvé jsem se s tím setkal u Pixyho formátování akordů a to je to, co by mohlo řešit tvůj problém – hlavní div s nastavenou šířkou vycentrovat a nastavit mu position:relative (se souřadnicemi nehýbat, jde jen o tu změnu stavu).
Menu potom s šířkou shodnou s tímto divem napozicovat vůči němu. Když mu nastavíš výšku v jednotkách em a tutéž hodnotu dáš prvnímu elementu na stránce (např. <h1>) jako horní margin, pak se ti ani se zvětšováním písma menu se zbytkem stránky nebude překrývat.
Nejsem příznivcem absolutního pozicování za každou cenu, ale tohle je po mém soudu docela rozumné využití.
Bubák
Profil
Nejsem příznivcem absolutního pozicování za každou cenu
Yuhů, jako jeden z mála nesnáší floatování za každou cenu:
Já mám moc rád pozicování a nesnáším obtékání.
Zdroj: www.30minut.cz/dusan-janovsky-staticke-stranky-jsou-dobrym-zakladem-webovych-vyvojaru/
Budu se někdy muset pořádně podívat, jak to Yuhů dělá, že mu pozicování neblbne třebas při změnách velikosti písma...

A teď to hlavní, třebas stránky www.jpw.cz mají horní meni skoro až na konci stránky, je to vidět při vypnutých stylech, nebo ještě lépe v Opeře při vypnutém pozicování.
Trejpa
Profil
tcladin
Pak ale na něj neplatí margin-left:auto; margin-right:auto;
Ale ano, i to lze. Stačí vystředěnému bloku nastavit position: relative; a menu dát dovnitř toho bloku. Potom se pozice menu nepočítá ze stránky, ale od toho bloku:
<body>
  <div style="margin: 0 auto; width: 960px; position: relative;">
    ... hlavička ...
    ... prázdné místo na menu ...
    ... obsah ...
    <menu style="position: absolute; top: 2em; left: 0; width: 100%;">
      <li><a href=1>odkaz 1</a>
      <li><a href=2>odkaz 2</a>
      <li><a href=3>odkaz 3</a>
    </menu>
  </div>
</body>
Chamurappi
Profil
Reaguji na tcladina:
doporučuje se to kvůli SEO
Nikdy jsem tomuto nesmyslu neuvěřil a s vyhledávači problém nemám. Proč by mělo mít pořadí v kódu vliv?

kvůli uživatelům, kteří používají tabulátor místo myši
Těm může udělat radost tabindex, nebo mohou projíždět od konce shift+tabem.

Myslíš, že to není dostatečný důvod?
Ano.
tcladin
Profil
Miloš
díky, utvrdilsi mě v ideii jak napsat kod :-)

Trejpa
díky moc si mi pomohl. Konkrétní příklad mi pomohl. Tak jdu spát až teď. Měl jsem takovou radost, že sem se nemohl odtrhnout od klávesnice dokavaď sem nedopsat horizontální menu ...

Chamurappi
teď dyž už mám hotový, mám ošetřený to co si nepokládal za dostatečný důvod, znáš tenhle SEO-text nástroj
? , tabindex není špatné...

díky všem za pomoc,, aplikoval jsem úspěšně, ikdyž zpočátku to vypadlo že to nejde ... :-)
Chamurappi
Profil
Reaguji na tcladina:
znáš tenhle SEO-text nástroj?
Neznám. Ale uměl bych něco takového také vyrobit, což ze mě určitě nedělá experta přes SEO a nedělá to experty ani z tvůrců zmíněného nástroje.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0