Autor Zpráva
martin20a
Profil
Dobrý den mám menu a chci ze po najetí myší dostal odkaz jinou barvu pozadí, ale problém je v tom, že v IE správně se změní pozadí po celé šířce divu, ale v mozille nebo chrome jen ta část, která je pod textem respektive v mozille je považován za odkaz je ta šířka textu + padding ikdyž je nastavená šířka. Udělal jsem takový zlehčený příklad ale se stejným principem a tady máte zdroj:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title>1</title>
  </head>
  <style>
  ul {width: 300px;}
  li {display:block; margin: 10px 0 10px 0; width: 300px; list-style-type: none; text-align: center;}
  li a {background: green;
        height: 40px;
        line-height: 40px;
        padding: 10px;
        width: 300px;}
  li a:hover {background: red;}
  </style> 
  <body>
<ul>
<li><a href="">položka číslo 1</a></li>
<li><a href="">položka 2</a></li>
<li><a href="">a poslední položka číslo 3</a></li>
</ul>
  </body>
</html>


a pokud se na to podívate v mozille a pak v IE, tak si můžete všimnout, že ačkoliv je tam daná šířka seznamu, tak stejne ten odkaz nemá to pozadí po celé šířce v mozille (nebo chrome).
Jeste jsem se s timto problemem nesetkal, tak prosím o radu, zkoušel jsem i "width: 100%" nebo "min-width", ale nepomohlo to, diky za rady.
panther
Profil
martin20a:
je to tím, že odkaz je řádkový. A řádkovým elementům nelze nastavovat rozměry.

Řešením je udělat odkaz blokový - buď pomocí display, nebo třeba floatu. Pak mu můžeš rozměry nastavit.
martin20a
Profil
panther:
pomocí display
Díky moc za radu, jsem si to neuvědomil, že to musím nastavit i u "ul li a" ;)
Bubák
Profil
martin20a:
jsem si to neuvědomil, že to musím nastavit i u "ul li a"
1. CSS vlastnost display se nedědí
2. položky odkazu <li> jsou v podstatě blokové, přesněji list-item, který může mít odrážku

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: