![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Mam typowy trzykolumnowy uklad strony oparty na plywaniu (float). Ponizej zamiescilem uproszczony kod strony i arkusza styli.
W srodkowej czesci mam obrazek. Chce aby ten obrazek byl oplywany przez nastepujacy po nim tekst. Natomiast pod tekstem mam kolejny element "podsumowanie" (class="summary"). Podsumowanie ma sie zawsze znajdowac pod obrazkiem. Moge uzyc clear: left ale wtedy trace opływanie wzgledem lewej kolumny. Moge ustalić wysokość dla tekstu poprzedzajacego podsumowanie, ale w przypadku przepełnienia tekst ten zleje się z trescia podsumowania. Czy jest jakas mozliwosc zrobienia wzglednego clear, albo jakis inny trik, ktory rozwiazalby moj problem? Kod /* <![CDATA[ */ #header { background: yellow; } .wrapper { clear: both; } .wrapper:after { display: block; height: 0; clear: both; visibility: hidden; } #columnLeft { float: left; width: 200px; background: blue; } #columnMiddle { display: block; margin-left: 200px; margin-right: 200px; } #columnRight { float: right; width: 200px; background: blue; } #columnLeftBottom { float: left; width: 50%; } #columnRightBottom { width: 49%; margin-left: 50%; } #footer { clear: both; background: yellow; } .content { padding: 1em; position: relative; z-index: 3; } .content img { float: left; height: 150px; width: 150px; margin-right: 20px; margin-bottom: 20px; background: red; } .content .summary { clear: left; background: green; } /* ]]> */
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Użyj br.
Kod br.clr { clear:both; } -------------------- -------------
------ |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
To nie rozwiązuje mojego problemu poniewaz to powoduje ustawienie Podsumowania pod lewa kolumna.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Masz rację, dla takiego rozwiązania layoutowego chyba ciężko będzie taki efekt uzyskać. Możesz ewentualnie poszukać na
http://www.positioniseverything.net/articles/onetruelayout/ lub zmienić koncepcję. Wszystkim trzem kolumnom ustawić szerokość na sztywno i każdej dać float:left. Wtedy będzie ok. Ale dla ie będziesz musial zrobić osobne regułki (problem z padding i margin). -------------------- -------------
------ |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
ustalanie na sztywno szerokosci kolumn nie wchodzi w rachube poniewaz zamierzam maksymalnie wykorzystac przestrzen. Jedyne rozwiazanie jakie przychodzi mi w tej chwili do glowy to uzycie tabeli. Co prawda tekst nie zawinie się pod obrazkiem ale przynajmniej zachowam pewien uklad
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 258 Pomógł: 16 Dołączył: 21.09.2004 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Zawsze możesz to zrobić w mnie wyrafinowany sposób
![]() -------------------- -------------
------ |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
pseudokod:
Kod <div style="min-height: 300px; _height:300px;"> <img src="images/cos.jpg" style="float: left"> tekst </div> cos pod obrazkiem min-height i height dajesz tyle ile wysokosc obrazka |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@ActivePlayer - Twoje rozwiazanie to wlasnie to o co mi chodzilo z tym ze definiujac styl dla kontenera otaczajacego obrazek i oplywajacy go tekst powinienes sie ograniczyc tylko do nadania wartosci minimalnej. Swoja droga dzieki tobie dowiedzialem sie ze takie cos jest w ogole mozliwe. Ku mojemu wielkiemu zdziwieniu dziala to bez zarzutu zarowno w Firefoxie, Operze jak i w IE.
-- edit -- Poprawka - efekt zostal osiagniety nie dzieki definicji minimalnej wysokosci ale dzieki uzyciu dodatkowego kontenera, ale min-height tez dziala. Co obrazuje ponizszy przyklad. Aha min-height jednak nie dziala pod IE. -- edit -- No no dobra po poczatkowej eufori upewnilem sie jeszcze raz i niestety wyszlo ze pod IE ten sposob w ogole nie dziala, ale chyba znalazlem inne rozwiazanie.
Firefox i Opera obsluguja min-height z kolei IE na przepełnienie kontenera reaguje domyslnie jego powiekszeniem zatem mamy rozwiazanie. Kolejny hack do kolekcji. Ten post edytował bigZbig 13.06.2006, 17:31:09 -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
teraz zobacz ponownie moj kod
![]() _height: czyta tylko IE ![]() ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@ActivePlayer - wybacz - te kreske przed height uznalem za literowke.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 614 Pomógł: 7 Dołączył: 10.11.2003 Skąd: Rzeszów/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Tę kreskę rozumie tylko IE6, IE7 niestety nie.
Są dwa sposoby: komentarze warunkowe albo: CSS
-------------------- Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@gekon Zapis height: auto !important nadpisuje wczesniejsza definicje height: 300px; co sprawia, ze to nie dziala pod IE.
Nie testuje narazie swoich skryptow pod IE7 - czekam do wydania wersji oficjalnej. Tak sobie mysle jednak, ze IE7 powinno juz interpretowac min-height. Przyzwoitosc by tego wymagala. -------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 614 Pomógł: 7 Dołączył: 10.11.2003 Skąd: Rzeszów/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Sorry, pisałem z palca.
Jednak i obsługę !important poprawiono w 7 (która dalej nie obsługuje min-height). Ten post edytował gekon 14.06.2006, 14:21:39 -------------------- Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 740 Pomógł: 15 Dołączył: 23.08.2004 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
@gekon - powiem szczerze - nie chcialo mi sie sprawdzac Twojej ostatniej propozycji. Zgaduje, ze jesli dasz wiecej tekstu przy obrazku (tak ze zajmie on wiecej miejsca niz wynosi wysokosc obrazka), to tekst ten w Firefoxie przykryje element, ktory sie pod nim znajduje.
-------------------- bigZbig (Zbigniew Heintze) | blog.heintze.pl
|
|
|
![]() ![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 8.03.2007 Skąd: Nysa Ostrzeżenie: (0%) ![]() ![]() |
tak sobie przeglądam ten temacik i nasunęła mi się myśl, o której pisał kiedyś riddle na swoim blogu....
niestety IE odmiennie interpretuje min-height i height.... z niedowierzaniem zacząłem sprawdzać i na serio tak jest... ale o IE można pisał dłuugie ballady ![]() ![]() mówiąc odmiennie miałem na myśli 'na odwrót' Ten post edytował lukasz.sekula 26.04.2007, 16:46:50 |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 614 Pomógł: 7 Dołączył: 10.11.2003 Skąd: Rzeszów/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Wyciągam śmieci, ale cóż: http://glazar.info/float.html
-------------------- Pokaż kod = Pokaż CAŁY kod, najlepiej działający na jakimś serwerze.
Fanatycy | glazar.info | semantyka | HTML i XHTML FAQ |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 13:59 |