Autor Zpráva
MaximCZ
Profil *
Čau,
mam následující kód na webu.
div#menu {
margin: 0px auto auto auto;
width: 960px;
height: 178px;
background-image: url('../images/menu.png');
border: 1px solid #f99999;
}

ul#menu_polozky {
margin: 100px auto auto auto;
width: 960px;
height: 50px;
border: 1px solid #f99999;
}

  <div id="menu">
  
    <ul id="menu_polozky">
     
      <li><a href="/akce">Akce</a></li>
      
    </ul>
    
  </div>
  

Problém mám s tím, že ul menu_polozky má margin top 100 a ono mi to odsadí i ten div menu, kde chci margin 0, už sem to řešil několikrát tenhle problém, co s tím?? Když tam dám do toho divu nějaký znak, nebo i do css border tak to funguje správně.
Trejpa
Profil
MaximCZ:
Uvedený příklad funguje tak, jak je napsán, nic nestandardního v něm není.

Tipnu si, že ti vadí předávání marginů, ale pro vizualizaci problému jsi tam přidal border a ono to zmizelo. Horní a spodní margin vnitřního bloku se podle pravidel CSS předává vnějšímu bloku. Tomu lze zabránit tak, že má na dané hraně (horní nebo spodní) vnější blok nastaven nenulový padding nebo border, případně si jde pohrát s overflow, floatem, position nebo display.
MaximCZ
Profil *
dal sem tam padding-top: 1px a pomohlo to, ale bohužel to zase o ten jeden pixel natáhlo výšku toho vnějšího divu.... lepší řešení by nebylo? float nebo pozicování se mi taky používat nechce, co s tím display se dá dělat??
Trejpa
Profil
MaximCZ:
Tak nastav vnějšímu bloku overflow jiné, než visible.
MaximCZ
Profil *
Supr, dík.

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: