Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Rozszerzalny div zachodzący na inne div-y
rugby
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 1
Dołączył: 21.05.2009

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


Witam!

Chciałbym wstawić div-a z tekstem o zmiennej długości (inner), który przesłaniałby 3 div-y (top, mid i bot) z pewnymi background-image. Oczywiście można ustawić:
  1. #inner { position: absolute; top: 20px; left: 20px; }

natomiast chodzi mi o to, żeby w miarę zwiększania się tekstu w div-ie inner, zwiększała się wysokość mid, natomiast div-y top i bot miały stałą wysokość. Da się to zrobić w czystym CSS?


Szkic:
Kod
+-top-----------------------------------------+
|     +-inner------------------------------+  |
|     |                                    |  |
+-mid-|   text text text text text text    |--+
|     |   text text text text text text    |  |
|     |   text text text text text text    |  |
|     |   text text text text text text    |  |
|     |   text text text text text text    |  |
+-bot-|   text text text text text text    |--+
|     |                                    |  |
|     +------------------------------------+  |
+---------------------------------------------+


HTML:
  1. <div id="outer">
  2. <div id="top"></div>
  3. <div id="mid"></div>
  4. <div id="bot"></div>
  5. <div id="inner">text ...</div>
  6. </div>


--------------------
Juvenia Kraków Rugby Klub
Pobierz Google Chrome!
Go to the top of the page
+Quote Post
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Nie - pozostaje JavaScript


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Da się. tongue.gif

Tylko trzeba zmienić - niestety - kolejność warstw w HTML:

  1. <div id="top">
  2. <div id="bottom">
  3. <div id="mid">
  4. <div id="inner">
  5. </div></div></div></div>

Ustawiasz odpowiednio background bez powtarzania. Ogólna zasada - tło mid jest na całej wysokości, bottom i top zasłaniają je w odpowiednich miejscach. I wtedy nie ma potrzeby korzystania z position: absolute, tylko sobie manipulujesz marginesami.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
rugby
post
Post #4





Grupa: Zarejestrowani
Postów: 61
Pomógł: 1
Dołączył: 21.05.2009

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


Zrobiłem podobnie, wstawiłem inner wewnątrz mid i ustawiłem CSS:
  1. #inner { position: relative; margin: -10px 20px -10px 20px; }

W ten sposób inner zachodzi mi 10px na top i bot.

Ten post edytował rugby 21.05.2009, 16:16:40


--------------------
Juvenia Kraków Rugby Klub
Pobierz Google Chrome!
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Rób paddingami dla rodziców. Z marginesami jest nieraz dziwna sprawa (zależy od przeglądarki) oraz tzw. zapadanie się marginesów.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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 Aktualny czas: 21.08.2025 - 14:20