Autor Zpráva
Martin02
Profil
Dobrý den,
mám na webu dva divy vedle sebe (obsah a vlevo menu) chci, aby obsah měl height: auto; a menu se řídilo podle výšky obsahu (mělo by stejnou výšku jako obsah).
Prosím poraďte jak na to...
předem děkuji za odpovědi
Petr Wudi
Profil
Pokud by ti nevadila úprava HTML tak třeba takto:
#slouceno{
  position:relative;
  padding-left:156px;
}

#menu{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:156px;
}

A HTML kód by byl:
<div id="slouceno">
<div id="menu"></div>
<div id="obsah></div>
</div>
Petr ZZZ
Profil
Martin02:
...a menu se řídilo podle výšky obsahu (mělo by stejnou výšku jako obsah)
Řekl bych, že výška menu by se měla řídit podle počtu položek menu. Chceš-li dva sloupce, jejichž výška se bude řídit podle toho, který z nich zrovna bude vyšší, zajímá tě zřejmě dvousloupcový beztabulkový layout. Řešení je jeden společný obrázek na pozadí obou sloupců, který se opakuje po svislé ose. Protože je obrázek společný, natáhne se vždy podle toho sloupce, který je zrovna vyšší.
Martin02
Profil
Petr Wudi:
Tvůj kód mi nefunguje a to zřejmě proto, že jsem to popletl. Má být obsah vlevo a menu vpravo.

Petr ZZZ:
Ano přesně tak. Potřebuju dva sloupce, jejichž výška se bude řídit podle toho, který z nich zrovna bude vyšší. Ale podle toho odkazu mi to nějak nešlo.
Nicméně mě napadlo: Šlo by to udělat javascriptem. Omlouvám se že dávám javascript do CSS, ale nechci zakládat nové téma..

Zkoušel jsem toto:
  var vyska_obsahu = document.getElementsByClassName('obsah').style.height;
  var vyska_menu = document.getElementsByClassName('menu').style.height;
  
  if(vyska_obsahu > vyska_menu) {
    vyska_menu = vyska_obsahu;
  }
  if(vyska_obsahu < vyska_menu) {
    vyska_obsahu = vyska_menu;
  }

Bohužel.. nefunguje :( Poraďte prosím proč.
Web. stránka zde
matonka007
Profil *
a proč tam děláš if? Stačí rovnou

vyska_obsahu=vyska_menu

ne?
Petr ZZZ
Profil
Martin02:
Ale podle toho odkazu mi to nějak nešlo.
Tak si to prosimtě nastuduj, funguje to. Možná bys mohl zkusit opačný postup: Uložit si tamní příkladovou stránku a do ní doplnit to, co potřebuješ, místo pokusu opravit tvou stránku podle tamního kódu. Jsou tam tři příklady, jeden z nich snad bude odpovídat rozvržení, o které se snažíš.
Chamurappi
Profil
Reaguji na Martina02:
Nicméně mě napadlo: Šlo by to udělat javascriptem.
V lepším případě by šlo používat hlavu a podívat se, jak to řeší weby, které mají stejně velké sloupce, nebo napsat „stejně velké sloupce“ do hledání, řeší se to tu každou chvíli.
Vlákno v kategorii JavaScript nezakládej, tohle je otázka na CSS.
Martin02
Profil
matonka007:
a proč tam děláš if?
Protože chci nějakou minimální výšku divů, která se neřídí podle obsahu, když je obsah menší.
Ale problém to nevyřeší. Tím javascriptem to pořád nejde..

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