Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [css] Struktura strony. Przejście ztabelek na divy podejście 2
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
starach
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  3. <title>Centrum Projektowe</title>
  4. </head>
  5. <style type="text/css">
  6. body { font:x-small Verdana, Arial, Helvetica, sans-serif; background-color:#CCCCCC; color:#333333; padding:15px; }
  7. div#main { width:780px; background-color:#999999; display:block; margin:0 auto; }
  8. div#main div.left_frame { width:150px; background-color:#00CC00; display:inline; }
  9. div#main div.right_frame { width:630px; background-color:#99FF00; display:inline; }
  10. <div id="main">
  11. <div class="left_frame"> </div>
  12. <div class="right_frame"> </div>
  13. </div>
  14. </body>
  15. </html>

Co należy zrobić żeby wyświetlały się te dwa divy obok siebie, i miały szerokość taką jak ustalona właściwością width: ?
Wiem że mógłbym skorzystać z float:left i right ale przeczytałem gdzieś że nie należy stosować tego typu techniki. Moim drugim problemem jest to że jeśli użyję float na elementach wewnątrz div'a owy div zwinie mi się do góry tak jakby nic w nim nie było.
Proszę o radę i podpowiedź.
chlebik
Domyslam sie, ze chcesz po prostu miec 2 DIVy obok siebie. Mysle, ze jesli masz ustalona z gory szerokosc w pikselach to mozna sie pokusic i na sztywno rozmiescic DIVy na stronie gdzie nadrzednym kontenerem jest po prostu znacznik BODY. Chyba, ze caly layout bedzie sie dalej zmienial i takie rozwiazanie nie jest odpowiednie. Oto kod (ramki dodalem by bylo widac co i gdzie jest):



  1. !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3.  
  4.  
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
  6.  
  7. <title>Centrum Projektowe</title>
  8.  
  9. </head>
  10.  
  11. <style type="text/css">
  12. body {background-color:#CCCCCC; color:#333333; padding:15px; }
  13.  
  14. .left_frame { width:150px; background-color:#00CC00; position: absolute;
  15. top: 5%; left: 0; right: auto; border: 2px dotted #yellow;}
  16. .right_frame { width:630px; background-color:#99FF00; position: absolute;
  17. top: 5%; right: 0; left: auto; border: 2px dotted #yellow;}
  18.  
  19.  
  20.  
  21. <div class="left_frame">to jest lewy DIV </div>
  22. <div class="right_frame">to jest prawy DIV </div>
  23.  
  24.  
  25. </body>
  26.  
  27. </html>



Ps. Gdzie wyczytales o tym "float" questionmark.gif
starach
Ee ale ja chce to mieć po środku a nie po bokach.
Pozycjonowanie za pomocą atrybutu position odpada ( chyba )
poza tym myślałem że podacie mi jakieś Vadeemecum pozycjonowania.
Za pomocą jakich atrybutów należy to robić aby uzyskać dany efekt.

Nie pamiętam na jakiej stronie ale gdzieś przeczytałem że może skończyć się to dziwnymi efektami na stronie. Niestety autor nie określił o co dokładnie mu chodziło a owy tekst czytałem ponad pół roku temu.
chlebik
http://forumweb.e-vip.pl/viewtopic.php?t=15012


Pod tym linkiem znajdziesz wylozone pare rzeczy - czesto jest on na tym forum przywolywany.


Natomiast co do Twojego problemu - rzecz jest prosta - albo pozycjonujesz DIVy za pomoca "position: " albo konstruujesz kolejne kontenery i umiejetnie operujac "padding" i "margin" doprowadzasz do porzadanego stanu (najlepiej zrobic to po prostu w BODY lub jednym kontenerze nadrzednym). Jesli mam kontynuowac swoja wersje to zastosuj po prostu (przy sztywnych wielkosciach DIVow i powiedzmy 180px marginesie z kazdej ze stron):


  1. <style type="text/css">
  2. body {background-color:#CCCCCC; color:#333333; padding:15px; }
  3. .left_frame { width:150px; background-color:#00CC00; position: absolute;
  4. top: 5%; left: 180px; right: auto; border: 2px dotted #yellow;}
  5. .right_frame { width:630px; background-color:#99FF00; position: absolute;
  6. top: 5%; right: 180px; left: 303px; border: 2px dotted #yellow;}
  7.  
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.