![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 623 Pomógł: 11 Dołączył: 1.01.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym mieć następujący układ strony:
1. Na środku div z treścią o szerokości 750px 2. Po bokach dwa divy, których szerokość będzie ustalana automatycznie. Próbowałem zrobić coś takiego: Kod <div id="tlo_lewe" style="width:auto/2"> </div> <div id="strona" style="width:750px; background-color:orange;">jhk </div> <div id="tlo_prawe" style="width:auto/2"> </div> ale nie bardzo mi wyszło... -------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
może tak? -------------------- :)
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 623 Pomógł: 11 Dołączył: 1.01.2009 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ale, żeby wszystkie divy były w jednej linii daję
Kod display:inline ale teraz środkowy div ma szerokość zależną od tekstu, który się w nim znajduje. ![]() -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
co to znaczy w jednej lini??, daj to wszystkie divy w jednego diva to bedziesz miał na jednej wysokości
-------------------- :)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 9.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Może coś takiego:
Kod <div id="tlo_lewe_i_prawe">
<div id="strona" style="width:750px; background-color:orange; margin: 0px auto;">jhk </div> </div> |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 26 Pomógł: 2 Dołączył: 29.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Kod <div id="kontener" style="margin: 0 auto;overflow: hidden>
<div id="tlo_lewe" style="float: left"> </div> <div id="strona" style="width:750px; background-color:orange;float:left">jhk </div> <div id="tlo_prawe" style="float:left"> </div> </div> |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie da się za pomocą divów uzyskać dokładnie takiego efektu jakiego byś chciał (przynajmniej bez problemów). Mógłbyś taki efekt uzyskać stosując jedynie tabele.
Layout na tabelce mógłby wyglądać tak: Kod <table style="width: 100%;"> <tr> <td>left</td> <td style="width: 750px;">center</td> <td>right</td> </tr> </table> Natomiast używając layoutu na divach mógłbyś jedynie zrobić takie coś: Kod <div style="width: 80%; float: left;"> <div style="width: 75%; float: right;"> center </div> <div style="width: 25%; float: left;"> <!-- poniewaz (20% * 100%) / 80% = 25% --> left </div> </div> <div style="width: 20%; float: right;"> right </div> Albo zamiast jednostek względnych użyć tylko i wyłącznie jednostek bezwzględnych (np. px). Jest w css takie coś jak display: table, table-cell, table-row, ale niestety tego nie obsługuje ta "wspaniała" przeglądarka IE, bo wtedy mógłbyś no problemo użyć divów, a efekt mieć taki jak na layoucie z tabelką. Owszem, możesz spróbować expressions, aby zasymulować w IE zachowanie elementów display table-*, jak chce Ci się bawić, to proszę, jednak używając expressions, trzeba wiedzieć co się robi, bo szybko można sobie popsuć "wydajność" strony. Pozdrawiam -------------------- serwiswww.pl
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
tu masz na sztywno szerokość środka na 750px, ustaw sobie też na sztywno szerokość lewego diva - domyślnie na 200px
zmienia się szerokość prawego diva Ten post edytował zegarek84 16.02.2009, 23:47:31 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
tu masz na sztywno szerokość środka na 750px, ustaw sobie też na sztywno szerokość lewego diva - domyślnie na 200px zmienia się szerokość prawego diva Twój przykład napewno nie będzie działał pod IE6, nie wiem czy również pod IE7. Nie muszę nawet sprawdzać... Ale, żeby wszystkie divy były w jednej linii daję Kod display:inline ale teraz środkowy div ma szerokość zależną od tekstu, który się w nim znajduje. ![]() Gdy elementowi zewnętrznemu nadasz display: inline, każdy element blokowy, który będzie wewnątrz tego elementu, będzie sprawiał bardzo wiele problemów. -------------------- serwiswww.pl
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 8.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zrób jednego diva z szerokością całej tabelki nadaj mu position- absolute i display:table
póżniej zrób diva lewego, prawego i środkowego z display: table-cell(możesz określić szerokość wszystkich albo tylko którego chcesz) i wywołaj: Kod <div głowny>
<div lewy></div> <div srodek></div> <diw prawy></div> </div> |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Twój przykład napewno nie będzie działał pod IE6, nie wiem czy również pod IE7. Nie muszę nawet sprawdzać... teraz jak siedzę na linuxie to nie sprawdzę ;p - ale jak robiłem symulację fixed pod IE na CSS to robiłem to na divach w absolute ;p -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Symulację position: fixed na IE6 nie zrobi się inaczej niż przez użycie właśnie position: absolute + JS (lub jest też druga metoda, bez użycia JS), tu miałem raczej na myśli, że elementom nadawałeś jednocześnie top, right, bottom i left, co wg specyfikacji powinno odpowiednio rozciągnąć element, a to właśnie nie działa pod IE6 napewno (i jak wspomniałem, nie wiem czy też na IE7 ruszy).
Ten post edytował likemandrake 16.02.2009, 23:32:07 -------------------- serwiswww.pl
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
wystarczyło dodać tylko height:100%
![]() EDIT - ale sprawdź teraz ;p - rozciągnięte jest całe ![]() ![]() Ten post edytował zegarek84 16.02.2009, 23:49:29 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
No przecież napisałem w nawiasie, że symulację fixed można również napisać bez JS, czyli przy użyciu samego CSS...
wystarczyło dodać tylko height:100% ![]() Długo będziemy działać w trybie quirks mode? Włącz tryb zgodny ze standardami, to nie będzie to już tylko height: 100% ![]() Kod #right { left: 950px; right: 0; background-color: grey; } Ta reguła nie może działać dobrze w IE6, m.in. o nią mi chodzi ![]() -------------------- serwiswww.pl
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
zerknij na regułę div{} ^^
-------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
No reguła o której mówisz, dla przeglądarek zgodnych ze standardami rozciągnie element na całą wysokość przy użyciu właściwości top i bottom, a dla pozostałych rozwiąże to właściwość height, ale nadal pozostaje problem left i right
![]() Przy okazji polecam stronę http://kurs.browsehappy.pl/Bugi/HomePage ![]() ![]() Ten post edytował likemandrake 17.02.2009, 00:24:03 -------------------- serwiswww.pl
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
musiałbym się pobawić na stricte pod IE - a na swoim laptopie nie mam IE ;p - w każdym bądź razie bez rygorów działa to też na IE ^^
-------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 5.07.2025 - 04:01 |