Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS] Zmiana układu strony
Forum PHP.pl > Forum > Przedszkole
Tares
Edytując poniższy szablon:
http://www.freecsstemplates.org/preview/glazed

próbuję osiągnąć następujący efekt: Div z treścią (#content w pliku css) ma się rozciągać (nie ma mieć ustalonej szerokości w px) na podstronach, na których nie występuje pierwszy sidebar ( ten zawierający Recent post i comments). Na stronach, na których pierwszy siderbar nie występuje div z treścią (#content) ma się rozszerzać o szerokość pierwszego sidebara.

Próbowałem w pliku css zmienić szerokość diva #content na płynną, ale powoduje to zepchnięcie obu siderbarów na dół, div rozszerza się za bardzo.
Damonsson
W samym CSS jest to chyba niemożliwe. Ale głowy sobie nie dam uciąć tongue.gif

edit: Straciłbym głowę wink.gif

Spróbuj tak:
  1. <div>
  2. <div id="right"> Usuń mnie :) </div>
  3. <div id="left"> Lewa tresc, lalala lalalaal lalal alalalal lalal lalala lalala lalal lla lalallla lal lal al alal alla
  4. </div>
  5. </div>

  1. #left {
  2. background: #f00;
  3. overflow: hidden;
  4. }
  5. #right {
  6. background: #0f0;
  7. float: right;
  8. width: 300px;
  9. }
Tares
Niestety próbowałem użyć overflow: hidden, jednak struktura pliku html, który edytuję, jest nieco bardziej skomplikowana niż dwa divy i nadal spycha sidebary na dół.
Może wstawię kod, bo pewnie nie każdemu chcę się ściągać cały szablon i patrzeć co tam jest.


Style odpowiedzialne za oba siderbary i content:
  1. /* Sidebar One */
  2. #content {
  3. float: left;
  4. width: 430px;
  5. height: 800px;
  6. min-height: 800px;
  7. padding: 0 0 0 20px;
  8. }
  9. #sidebar1 {
  10. float: left;
  11. width: 250px;
  12. padding: 0 0 0 20px;
  13. }
  14.  
  15. /* Sidebar Two */
  16.  
  17. #sidebar2 {
  18. float: right;
  19. width: 180px;
  20. padding: 0 20px 0 0;
  21. }


Kod html:
  1. <div id="wrapper">
  2. <div id="header">
  3. </div>
  4. <div id="page">
  5. <div id="bgtop"></div>
  6. <div id="bgbottom">
  7. <div id="content">
  8. <div class="post">
  9. </div>
  10. </div>
  11.  
  12. <div id="sidebar1" class="sidebar">
  13. </div>
  14. <div id="sidebar2" class="sidebar">
  15. </div>
  16. <div style="clear: both;">&nbsp;</div>
  17. </div>
  18. </div>
  19.  
  20. <div id="footer">
  21.  
  22. </div>
  23.  
  24. </div>

Damonsson
Chyba kpisz wink.gif

Podpowiedź nr 1: Nadaj <div> [temu który obejmuje tylko left(content) i right(sidebar)] taką szerokość jaką ma content i sidebar1 łącznie.

Podpowiedź nr 2: Nie zapomnij o paddingach.

Podpowiedź nr 3: Nie zapomnij w ogóle utworzyć tego DIVa

Podpowiedź nr 4: Nie zapomnij zamienić miejscami sidebar z content

A tu screen na zachętę: http://oi56.tinypic.com/21jmvs9.jpg smile.gif
Tares
Cytat
Podpowiedź nr 4: Nie zapomnij zamienić miejscami sidebar z content


Chyba nie bardzo rozumiem podpowiedź nr 4.
Na sposób z utworzeniem sidebara obejmującego content i sidebar 1 wpadłem już wcześniej, ale sukces jest połowiczny.

Sytuacja wygląda tak:

Utworzyłem tego diva i nadałem mu odpowiednią szerokość. Cel został częściowo osiągnięty. Po usunięciu tego pierwszego siderbara content rozszerza się o jego szerokość. Jednakże, gdy wklejam go ponownie (tego siderbara) to spada on na dół. Chciałbym, żeby po ponownym wklejeniu tego sidebara szerokość content po prostu dopasowała się do sytuacji ( w której sidebar 1 jest (zmniejsza szerokość) lub go nie ma (zwiększa szerokość).

Mimo wszystko dzięki za odpowiedź Damonsson smile.gif
Damonsson
  1. <div id="wrapper">
  2. <div id="header">
  3. </div>
  4. <div id="page">
  5. <div id="bgtop"></div>
  6. <div id="bgbottom">
  7.  
  8. <div id="obejmuję dwa divy">
  9. <div id="sidebar1" class="sidebar">
  10. </div>
  11.  
  12. <div id="content">
  13. <div class="post">
  14. </div>
  15. </div>
  16. </div>
  17.  
  18. <div id="sidebar2" class="sidebar">
  19. </div>
  20. <div style="clear: both;"> </div>
  21. </div>
  22. </div>
  23.  
  24. <div id="footer">
  25.  
  26. </div>
  27.  
  28. </div>


To znaczy, zamień miejscami.

Pokaż on-line to co zrobiłeś, bo nie bardzo wierzę, że w ogóle coś zrobiłeś smile.gif
Tares
http://********.pl/glazed2/index.html
Damonsson
Dodaj ten sidebar1
Tares
Dodałem zamieniając miejscami z content.
Damonsson
  1. #sidebar1 {
  2. float: right;
  3. padding: 0 0 0 20px;
  4. width: 250px;
  5. }

  1. #content {
  2. height: 800px;
  3. min-height: 800px;
  4. overflow: hidden;
  5. padding: 0 0 0 20px;
  6. }

Podmień smile.gif
Tares
Ok, teraz wszystko działa jak należy. thumbsupsmileyanim.gif
+ 1
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.