Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML/CSS] Obrazki z float wyjeżdżają poza warstwę
l0ud
post 10.03.2008, 19:29:04
Post #1





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Witam, aktualnie 'migruję' z tabelek na warstwy i kolejno pojawiają się problemy z tym związane. wstydnis.gif Oto kolejny z nich: gdy nadam akapitowi/obrazkowi float:left zostaje on jakby pozycjonowany bez względu na inne obiekty. Gdy umieszczę go w jakiejś warstwie, po prostu wyjeżdża poza nią, a nie rozciąga jak wg. mnie powinien robić.

Kod html:

  1. <div class="contents">
  2. <h1>Testowa podstrona</h1>
  3. <div class="contents_row"><p style="float:left"><a href="javascript:display(29,800,600);"><img src="./photos/th29.jpg" alt="Lilie wodne.jpg" title="Lilie wodne.jpg" class="instant ishadow40" style="border-width:1px;" /></a></p>
  4. test test</div>
  5. <div class="contents_row"><p style="text-align:right"><a href="#page_area" title="Do góry strony">:: Na górę ::</a></p>
  6. </div>
  7. </div>


Wraz z CSS:

Kod
DIV.contents {
     border-width: 1px;
     border-style: solid;
     border-color: #B6830A;
     background-color: #FFFDF5;
}

H1 {
     background-color: #FFE58B;
     background-image: url('images/contents_h_background.jpg');
     margin: 0px;
     padding: 0px;
     padding-left: 5px;
     padding-right: 5px;
     line-height: 26px;
     vertical-align: middle;
     font-family: Verdana, Arial, Helvetica, sans-serif;
     font-size: 10pt;
     font-weight: normal;
     color: black;
     text-decoration: none;
}

DIV.contents_row {
     border-top-style: solid;
     border-top-color: #F8DA98;
     border-top-width: 1px;
     padding-left: 4px;
     padding-right: 4px;
     padding-top: 4px;
     padding-bottom: 4px;
     font-family: Verdana, Arial, Helvetica, sans-serif;
     font-size: 11px;
     font-weight: normal;
     color: black;
}


Dają taki piękny efekt:



Przy tabelkach tak się nie działo dry.gif Pewnie nie rozumiem do końca działania atrybutu float...

Proszę o odpowiedź i pozdrawiam smile.gif


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
nitek
post 10.03.2008, 20:04:43
Post #2





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


witam,

wydaje mi się, że odpowiedź jest tutaj: http://kurs.browsehappy.pl/CSS/Float, a dokładniej w tym fragmencie:
Cytat
Najważniejsze cechy obiektów z float:
* tekst i elementy z display:inline zawsze je opływają,
* są wyjęte z normalnego biegu dokumentu — nie muszą być na ekranie w takiej kolejności, w jakiej są w dokumencie oraz mogą wystawać poza dolną krawędź obiektu, w którym się znajdują,
* tworzą swój własny bieg dokumentu, przez co kilka elementów z float nigdy nie będzie się nakładało (w przeciwieństwie do pozycjonowania absolutnego), tylko ułożą się obok siebie.


a potem pomocne będzie dla Ciebie to:
Cytat
Ponieważ obiekty z float są wyjęte z normalnego biegu dokumentu, mogą rozciągać się nad kilkoma innymi — np. ilustracja może rozciągać się z boku kilku akapitów.
Aby uniknąć tego efektu należy jakiemuś elementowi za elementem z float nadać właściwość clear — powoduje ona ponowne „złączenie” float z biegiem dokumentu.


Ogólnie polecam lekture całego artykułu - jak dla mnie autor elegancko wszystko opisał.
pozdrawiam


--------------------
Go to the top of the page
+Quote Post
l0ud
post 10.03.2008, 20:24:04
Post #3





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Niestety, ale atrybut clear:both w contents_row co prawda rozwiązuje sprawę tutaj, ale gdy w warstwie contents tylko jeden contents_row nie zadziała sad.gif Co zrobić w takim wypadku? Bo chyba dodatkowego elementu specjalnie po to nie będę umieszczał?


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
nitek
post 10.03.2008, 20:28:11
Post #4





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


możesz spróbować w następnym elemencie po wykorzystaniu float dać
Kod
<br style='clear:both'>
- taka mała, ale chyba powszechnie stosowana sztuczka winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
l0ud
post 10.03.2008, 20:31:15
Post #5





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Owszem, działa, ale jak pisałem powyżej - dodawanie nowego elementu mnie po prostu nie satysfakcjonuje sad.gif Przecież chyba nie po to są style, żeby to dodatkowo komplikować...?


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
dr_bonzo
post 10.03.2008, 20:35:26
Post #6





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Mozesz dodac styl do nastepnego elementu, lub uzyc-niedzialajacego-w-IE :after


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
l0ud
post 10.03.2008, 20:45:07
Post #7





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Cytat
Mozesz dodac styl do nastepnego elementu


Problem w tym, że następnego elementu w warstwie contents już nie ma :/

No nic, w tym wypadku po prostu zastosuję ten trick co podał nitek, ew. w trochę innej postaci. Całe szczęście, że warstwy contents z jednym contents_row mam tylko w PA...

Dzięki za pomoc


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
woj_tas
post 10.03.2008, 21:23:48
Post #8





Grupa: Zarejestrowani
Postów: 230
Pomógł: 36
Dołączył: 31.03.2006
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Dodaj
  1. overflow:hidden;
dla .contents_row


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 18:00