Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zmienna szerokość komórki w tabeli, Problem
ArekKrol
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.08.2007

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


Witam. Nie wiem jak to nazwać dlatego ciężko mi poszukać odpowiedzi na forum. Chodzi mi o to aby strona zawsze była wyświetlana w całym oknie przeglądarki, przy czym:
mam dwie kolumny (lewą i prawą) ze stałymi rozmiarami, chcę aby środkowa była ruchoma ... ale miała minimalną szerokość np. 400px. Chodzi o to że przy oglądaniu stronki na rozdzielczości 800x600 lub 1024x768 strona będzie na całym oknie ... tylko środkowa część strony/tabeli będzie się rozsuwać lub zsuwać w zależności od potrzeb. A dopiero przy rozdzielczości mniejszej niż 800x600 pojawią się poziome paski przewijania. Wiecie jak to nazwać? Albo jeszcze lepiej - jak to zrobić? Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
drPayton
post
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


  1. <table id="Kontener" style="width:100%;background:yellow;">
  2. <tr>
  3. <td id="lewaKolumna" style="height:50px;width:200px;background:red;"></td>
  4. <td id="srodkowaKolumna" style="background:green;"></td>
  5. <td id="prawaKolumna" style="width:200px;background:blue;"></td>
  6. </tr>

Jeżeli komuś uda się to zrobić na DIV'ach (tak by działało i pod FF i pod badzIEwiem), niech się pochwali.
Co do minimalnej szerokości - nie ma chyba nic takiego w html/css co działałoby i pod FF i pod IE, javascriptem da się to zrobić prosto...
Go to the top of the page
+Quote Post
Cezar708
post
Post #3





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


  1. <div style='width: 100%'>
  2. <div id='lewa' style='float: left; width: 400px; background: rgb(255,0,0) 1px;'>
  3. lewa
  4. </div>
  5. <div id='srodek' style='float: left; background: rgb(0,255,0) 1px;'>
  6. srodek
  7. </div>
  8. <div id='prawa' style='float: right; width: 400px; background: rgb(0,0,255) 1px;'>
  9. prawa
  10. </div>
  11. </div>


oczywiście kolorki żebyś widział jak to wygląda w praktyce. Problem się pojawi przy rozdziałce niskiej (strona się rozejdzie) sprawdź sobie

EDIT: nie testowałem na innych przeglądarkach więc nie wiem

Ten post edytował Cezar708 2.08.2007, 15:22:20
Go to the top of the page
+Quote Post
drPayton
post
Post #4





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Uhm, ale środek nie zajmuje całej szerokości, co będzie problemem np w przypadku obramowania... Dlatego napisałem na tabelach

Ten post edytował drPayton 2.08.2007, 15:27:15
Go to the top of the page
+Quote Post
Cezar708
post
Post #5





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


@drPayton... ano też można:

  1. <div style='width: 100%'>
  2. <div id='lewa' style='float: left; width: 400px; background: rgb(255,0,0) 1px;'>
  3. lewa
  4. </div>
  5. <div id='prawa' style='float: right; width: 400px; background: rgb(0,0,255) 1px;'>
  6. prawa
  7. </div>
  8. <div id='srodek' style='margin-right:400px; margin-left:400px; background: rgb(0,255,0) 1px;'>
  9. srodek
  10. </div>
  11. </div>


(zwróć uwagę na kolejność DIVów)
Go to the top of the page
+Quote Post
drPayton
post
Post #6





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


A teraz zobacz co się stanie, kiedy zmniejszysz okno przeglądarki (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Czyli nadal źle... ;-)

Ten post edytował drPayton 2.08.2007, 15:58:42
Go to the top of the page
+Quote Post
ArekKrol
post
Post #7





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 2.08.2007

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


drPayton, mówisz, że w javie da się to zrobić. Możesz podpowiedzieć jak?

Przepraszam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował ArekKrol 2.08.2007, 19:23:19
Go to the top of the page
+Quote Post
drPayton
post
Post #8





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


@ArekKrol: Proponuje kopiuj-wklej nicka, wtedy błędu nie będzie :roll2:
Załóżmy,że jednak na div'ie robimy, i ten div (środkowy) ma id="srodek", a minimalna szerokość to 400px:
  1. <script type="text/javascript">
  2. function pilnuj_szerokosci()
  3. {
  4. if(document.getElementById("srodek").style.width < 400)
  5. document.getElementById("srodek").style.width = 400;
  6. }

I ta funkcja musi być wywoływana na zakończenie ładowania strony. I weź przykład (jeśli divy) z pierwszego tu posta @Cezar708

Ten post edytował drPayton 2.08.2007, 18:02:49
Go to the top of the page
+Quote Post
Cezar708
post
Post #9





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat(drPayton @ 2.08.2007, 14:58:01 ) *
A teraz zobacz co się stanie, kiedy zmniejszysz okno przeglądarki (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Czyli nadal źle... ;-)


no nie da rady, jeśli nie zrobisz takiej kontroli w JS co do szerokości to jeśli szerokość okna będzie za mała (czyli w moim przypadku mniejsza niż 400+400=800px) i zakładając że w środkowej kolumnie nic nie ma to strona się rozjedzie...

ja zamiast kontroli środkowej kolumny zrobiłbym w javaScript kontrolę rozdzielczości całego ekranu i na podstawie tego określiłbym szerokość wszystkich DIVów, w szczególności tego div - rodzica (co w moim przypadku ma szerokość 100%).
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 12:23