Autor Zpráva
muflik
Profil *
Dobrý den, mám několik textových odkazů vedle sebe a na najetí myši na pozadí zobrazím obrázek.. problém mám ale v tom, že odkazy jsou hned za sebou a jejich délka je různá, proto dle mě nemohu použít tabulku ani tag li => u <td> bych musel pro každý odkaz nastavit jeho šířku což není moc praktické a u <li> mi nejde nastavit display:block.. také mě napadlo každý odkaz obalit tagem <span> kterému bych nastavil display:block a šířku(což je řešení které se mi nelíbí :p) (display block potřebuji proto, kdybych například po najetí myši na odkaz chtěl změnit velikost fontu aby se mi neposunuli i ostatní odkazy, což se mi například u tabulky a li děje a max šířku nenastavím, když je pro každý odkaz jiná :|), nevím ale jak za sebe napozicovat několik spanů.. floatem mi to napozicovat nejde různě se mi to podjíždí apod.
chtěl jsem se tedy zeptat jaké řešení je pro tenle typ menu vhodný (tak aby když změním velikost fontu se mi neposunuli i ostatní odkazy)
a jestli je možné napozicovat vedle sebe více spanů s display:block případně jakým způsobem,
děkuji.
panther
Profil
muflik:
floatem mi to napozicovat nejde různě se mi to podjíždí apod.
měl bys ukázku? Napsal jsi moc informací a přesto, že jsem to četl několikrát, moc z toho moudrý nejsem.
Bubák
Profil
muflik:
mám několik textových odkazů vedle sebe a na najetí myši na pozadí zobrazím obrázek.. problém mám ale v tom, že odkazy jsou hned za sebou a jejich délka je různá
Až dosud žádný problém.

proto dle mě nemohu použít tabulku ani tag li
já v tom nevidím problém

u <td> bych musel pro každý odkaz nastavit jeho šířku což není moc praktické
Šířka bude závislá na délce textu odkazu

u <li> mi nejde nastavit display:block
Mi to jde, ale nikdy to nedělám, nevidím pro to důvod.

také mě napadlo každý odkaz obalit tagem <span> kterému bych nastavil display:block
A copak bude uvnitř, "malý" odkaz?

display block potřebuji proto, kdybych například po najetí myši na odkaz chtěl změnit velikost fontu aby se mi neposunuli i ostatní odkazy
Nápad měnit geometrii odkazu při hoveru je velice nešťastný. Pokud na tomto trváš, jedidé řešení je dát každému odkazu pevnou šířku, třebas podle http://teststranek.kvalitne.cz/menu6/ ale každý odkaz bude mít třídu a tam mu nastavíš šířku, třebas v em, nebo ex.

jestli je možné napozicovat vedle sebe více spanů s display:block
Normálně floatem, jestli le bideš deklarovat blokové, nebo inline, je úplně šumák, protože floatované elementy se chovají jako blokové.
muflik
Profil *
ano teď to mám zhruba takto:

<div id="nav">
  <table>
        <tr>
          <td><a href="url">odkaz</a></td>
          <td><a href="url">odkaz delsi</a></td>
          <td><a href="url">odkaz tri</a></td>
          <td><a href="url">odkaz ctyri</a></td>
          <td><a href="url">odkaz jeste delsi</a></td>
        </tr>
  </table>				
</div>


css:
#nav {
  position: absolute;
  top: 60px;
  left:35px;
}


#nav td { padding:0px 10px 0px 10px; height: 40px; vertical-align:top;}
#nav td a { font-size:12px; font-weight:normal; color: #000; text-decoration:none; }
#nav td:hover {
  background-image:url('img/sipicka.png');
  background-position: bottom;
  background-repeat:no-repeat;
}
#nav td a:hover { color:#ccc; font-weight:bold; }
#nav td:hover a { color:#ccc; font-weight:bold; }


všechno je v pořádku, problém je jen s tím
font-weight:bold 
kdy po najetí na odkaz mi to posune všechny ostatní prvky/odkazy (asi jen o 2px, podle té tloušťky písma) a nevím co stím.. kdybych natvrdo nastavil každému odkazu zvlášť šířku (každému <td>) tak je to vyřešené, ale určitě musí existovat chytřejší řešení.
panther
Profil
muflik:
ale určitě musí existovat chytřejší řešení.
neexistuje. Bez šířky je všechno závislé na délcee textu uvnitř. To, že bold je širší logicky musí způsobit to, že text uvnitř nabyde a všechno ostatní posune.
muflik
Profil *
Bubák, panther: aha moc děkuji, ještě se podívám na ten float proč mi to nejde, ale vím, že když jsem to zkoušel naposled tak IE a FF mi to zobrazovalo odlišně a podtejkalo to pod sebe když sem měl třeba 8krat za sebou float:left :P ale teď mě napadá, že možná stačí jeden float:left a všechny další spany se sešikují za sebe. Jinak s tou šířkou pokuď musím každému odkazu udělat vlastní třídu tak co se dá dělat.. chjo :-)
panther
Profil
muflik:
to, že je víc floatů za sebou, ničemu nevadí, používá se to běžně (v horizontálním menu, kde je deklarováno li {float: left}), má každá položka float, je tam tedy olikrát, kolik je položek a funguje to :)

Chyba musela být jinde, kdybys nám dal ukázku, pokud bude problém přetrvávat, můžeme to vyřešit.

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