ďťż

[css]Powielanie tła Gdy blok jest dłuzszy niż to co w height

       

Podstrony


telcocafe

Otóż mam trzykolumnowy lay i jeżeli to co jest w środkowym bloku jest dłuższe niż height bloków na bokach, to tło obrazkowe tych bocznych bloków już się nie powiela dalej <_<

Można to zobaczyć TU

istotna część css (pełny TU) body { margin: 0; padding: 0; color: Black; margin-top: 0; margin-bottom: 0; font: 11px Arial; text-align: center; background-color: #EEEEEE; } div#all { width: 760px; margin: 10px auto; /* text-align: left; */ min-height:700px; } div#gora{ height: 100px; background: yellow; } div#lewo, div#prawo{ background: url(img/srodek.gif) repeat-y; float: left; width: 150px; font-size: 0px; height: 500px; } div#srodek{ float: left; width: 460px; min-height: 500px; background: #FAFAFA; } div#stopka { clear:both; height: 50px; background: yellow; }

HTML, to co ważne: <div id="all"> <div id="gora">Gora</div> <div id="lewo"> </div> <div id="srodek"> <!--- Tu długi tekst ---> </div> <div id="prawo"></div> <div id="stopka">Stopka</div>

Czy wie ktoś jak rozwiązać problem?
Użytkownik mmatheww edytował ten post 23 maj 2006, 20:21


Link do arkusza CSS nie działa.

Masz wsadzone to tło po bokach jako background-image?

Oczywiście, przecież na listingu jest pokazane : div#lewo, div#prawo{   background: url(img/srodek.gif) repeat-y;   float:  left;   width: 150px;   font-size: 0px;   height: 500px; }


Oczywiście, przecież na listingu jest pokazane...



Ale jak walne więcej w height, a będzie mniej w zawartości, to strasznie długie będą boki.

Mam rozumieć że chcesz jeszcze w te boczne divy coś dodawać, a one mają się poszerzać wraz z swoją zawartością bądź względem zawartości środka. Jeżeli tak to ja zrobiłbym to tak:all |-gora |-center     |-lewo     |-srodek           |-news (...)     |-prawo |-stopka
I wtedy odpowiednio tło wstawić w center ( połaczyć 2xśrodek + odleglosc na news ). Wtedy w lewo i prawo będziesz mówgł wstawić co bądź, tak samo jak i w news, a tło będzie sie odpowiednio powielać. I nie będziesz musiał się bawić w height ani min-height.

Nie wiem czy Cię dobrze zrozumiałem, ale zrobiłem coś takiego:<div id="all"> <div id="gora">Gora</div> <div id="center"> <div id="lewo"></div> <div id="srodek"><!--- newsy ---> </div> </div> <div id="prawo"></div> </div> <div id="stopka">Stopka</div> </div>
i css div#center { background: url(img/srodek.gif) repeat; width: 760px; }ale nie równo mi tło podstawia (PATRZ, po prawej na dole), wiec pewnie nie o to Ci chodziło.

Mógłbyś wyjaśnić to jaśniej i oprzeć o mały przykład w html?
Użytkownik mmatheww edytował ten post 23 maj 2006, 21:18
Ok więc tak, kod:
<div id="all">    <div id="gora">Gora</div>    <div id="center">        <div id="lewo"></div>        <div id="srodek"><!--- newsy ---></div>        <div id="prawo"></div>    </div>    <div id="stopka">Stopka</div> </div>
I przy takim ustawieniu niewykorzystasz bezpośrednio srodek.gif. Musisz zrobić nowy o szerokości lewy+srodek+prawy składający się pokoleji z srodek.gif+białe_tlo+srodek.gif. I dopiero takiego gifa wstawić w center. No poprostu całe tło tak jak jest teraz złozone ma być w 1 szerokim 1px gifie.

ps nie sprawdzałem ale powinno działać :)
Użytkownik reVis edytował ten post 23 maj 2006, 21:26
A, już czaję. Zrobie to jutro, jak coś to dam znać.

Na tabelach byłoby niebo łatwiej, ale cóż, trza iść z duchem czasu:D
Użytkownik mmatheww edytował ten post 23 maj 2006, 21:26
Z góry przepraszam za dwa posty pod sobą, ale nie zostałby temat w innym wypadku dostrzeżony :D

Ciut pokminiłem i już było dobrze, aż zacząłem rozważać kolejne możliwości przedłużania menu i zawartości.

Wystąpił problem w FF. Jeżeli to co po boku jest za długie, to wychodzi poza blok center, a jeżeli zawartość śrdoka jest za długa to nie jest powtażane tło po bokach. Na IE i Operze jest OK.

Długi bok
Długa zawartość
CSS
Stosowny kawałek css:
div#center { background: url(img/podklad.gif) repeat-y; width: 760px; height: 100%; } div#lewo, div#prawo{ float: left; width: 150px; font-size: 0px; min-height: 100%; padding: left; } div#srodek{ float: left; width: 460px; min-height: 100%; background: #FAFAFA; }
Użytkownik mmatheww edytował ten post 24 maj 2006, 08:15
W takiej sytuacji spróbuj powywalać height i min-height z tych środkowych divów (nie wiem po co Ci one). Wtedy tło wogóle niepowinno się kopiować, ze względu na to, że lewo, prawo i srodek mają float: left. Żeby to skorygować dodaj jeszcze <br style="clear: both" /> przed samym końcem center. I powinno być ok.

Wielkie dzięki, reVis! Wszystko działa

Temat do zamknięcia.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.