Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS]Ustawienie div'ów
Forum PHP.pl > Forum > Przedszkole
Kpt_Blood
Witam wszystkich serdecznie.
Mam problem z ustawieniem div'ów na stronie gdyż jednocześnie chcę, żeby jeden z nich rozciągał się automatycznie.

Oto kod :

Kod
   div
   {
       text-align: left;
   }
  
   .main
   {
       margin: 0 auto;
       width: 900px;
   }
  
   .top
   {
       width: 900px;
       height: 242px;
       background: url('images/top.png');
   }
  
   .middle
   {
       width: 900px;
       height: 354px;
       background: url('images/middle.png');
  
   }
  
   .bottom
   {
       width: 900px;
       height: 104px;
       background: url('images/bottom.png');
   }
  


No a to kod w pliku index.html:


[code]
         <div class="main">
           <div class="top"></div>
          
           <div class="middle">
    
           </div>
          
           <div class="bottom"></div>
       </div>


Chodzi mi o to że chcę, aby div "middle" rozciągał się na stronie w zależności od ilości treści, z tym, chciałbym aby jego parametr height wynosił minimalnie 350px; nie chcę overflow:auto bo nie lubię paska przewijania. Chę natomiast, żeby ten div się rozciągał.
Dodam jeszcze ze tło(obrazek) diva middle mam w rozmiarze height: 354px; ale mam też w razie co węższe, które ma 6px; i które mogłoby sie powtarzać w miare rozciągniecia diva. Jednak nie bardzo mogę sobie z tym poradzić, nie wiem, też, który obrazek byłby stosowniejszy. Próbowałem już na rózne sposoby i albo się sypał układ strony albo treśc wychodziła poza diva "middle" a on się nie rozciągał.
Bardzo proszę o pomoc i góry dziękuję.
kazag
http://www.w3schools.com/CSS/pr_dim_min-height.asp

pzdr.
WojtasSP320
Dodam tylko, że min/max-height/width nie obsluguje IE (na pewno 6 nie pamiętam jak wyższe).

A tak. Żeby webmasterom nie było za prosto.

Ja bym spróbował tak:

Daj divowi middle id np: id="middle"

a w head zrób:

Kod
<script type="text/javascript">
function min-height()
{
   minimalna_wysokość = xx;
   mid = document.getElementById('middle').style.width;
   if (mid < minimalna_wysokość) {document.getElementById('middle').style.width = minimalna_wysokość;}
}
</script>


a potem gdzieś wywołaj min-height();

powinno działać, ale nie sprawdzałem...
Kpt_Blood
No jakby to mogło być:/ rzeczywiście IE6 nie obsługuję tego, więc odpada, ale dzieki.
Wojtas Twoje rozwiązanie nie chce działać:( chociaż wydaję się sensowne.
Hm a da się ustawić dwa równoległe divy koło siebie? Nię używająć position i ustawiania przy pomocy left, top itd. oraz nie używając flloat: left, right itd?
Chyba że ma ktoś jeszcze jakiś pomysł na to, aby ten div się rozciągał?
WojtasSP320
Znalazłem coś takiego:

Kod
<html>

<body>
<div id="top" style="width: 900px; height: 100px; border: 1px solid #000000; margin: 5px;"></div>

<div id="middle" style="width: 900px; border: 1px solid #000000; margin: 5px; min-height: 300px; height: auto !important; height: 300px;"></div>

<div id="top" style="width: 900px; height: 100px; border: 1px solid #000000; margin: 5px;"></div>

</body>
</html>


Działa w IE6, O9.5 i FF3 na 100%
roobik
Witam!
Odświeżę temat, gdyż przy całkowitej zmianie layout'u ("przesiadka" z tabel na div'y) nieco się przyblokowałem.
Chcę ustawić trzy div'y obok siebie.


Uploaded with ImageShack.us
Próbowałem ustawić wszystko na absolute - nic. Próbowałem też z-index - nic... Pomóżcie pliss....
krzysztof_kf
Cytat(roobik @ 1.09.2010, 21:21:49 ) *
Witam!
Odświeżę temat, gdyż przy całkowitej zmianie layout'u ("przesiadka" z tabel na div'y) nieco się przyblokowałem.
Chcę ustawić trzy div'y obok siebie.


Uploaded with ImageShack.us
Próbowałem ustawić wszystko na absolute - nic. Próbowałem też z-index - nic... Pomóżcie pliss....



Stwórz trzy selektory o szerokości jakiej chcesz dodaj do nich atrybut float: left;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.