Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z IE
Forum PHP.pl > Forum > Po stronie przeglądarki > CSS
amatour
Witam!

Mam problem z css: napisany kod działa elegancko ale tylko na Firefoxie. Na IE niestety wszystkie elementy przesuwają się na inne miejsca. Czy da się to ogarnąć tak żeby efekt był taki sam na obu przeglądarkach (najlepiej oczywiście także na Chromie itp.)

Kod
body {
    margin: 0;
    padding: 10px;
}

div#container {
    position: relative;
    min-height: 400px;
    max-width: 1150px;
    min-width: 750px;
    margin: auto;
}

div#first-column,
div#third-column {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 170px;
    margin: 238px 20px 13px 20px;
    padding: 10px 0px 0px 0px;
}

div#first-column {
      left:0;
      height: 210px;
}

div#third-column {
     right: 0;
     height:  260px;
}

div#second-column {
     position: absolute;
     top: 0;
     bottom: 0;
     width: 170px;
     height: 163px;
     margin: 470px 20px 13px 20px;
     padding: 10px 0px 0px 0px;
}

div#content {
    margin: 238px 205px 13px 205px;
    min-height: 392px;
    padding: 5px 15px 5px 15px;
}

div#header {
       [/php] margin: auto;
    position: absolute;
    top: 0;
    border-bottom: none;
    width: 1140px;
    height: 225px;
    margin: 5px;
}

div#footer {
        margin: auto;
    border-top: none;
    height: 20px;
    width: 1150px;
}
marekge
Na jakim doctype pracujesz?
amatour
Nie mam określonego doctype w tych plikach.

Generalnie to na Firefoxie wygląda to tak:


Na IE:



Kombinuję w każdą stronę i nie wychodzi... Jakieś pomysły?
marekge
Doctype powinieneś określić..
Wklej chociaż strukturę dokumentu.
by_ikar
Do tego co próbujesz osiągnąć, wcale nie jest potrzebne pozycjonowanie absolutne. Dodatkowo, IE 6/7 nie interpretuje min-height, i nawet się tym nie powinieneś przejmować, bo odsetek ludzi używających IE 6/7 do innych celów niż pobranie przeglądarki, jest bardzo niewielki.
daniel1302
Najlepiej dodaj marginesy i paddingi i overvlow: hidden na element.

Ja zawsze robie to tak, i zawsze działa biggrin.gif

http://blog.piotrnalepa.pl/2009/06/04/css2...samej-wysokosc/
by_ikar
@daniel1302 tutaj nie chodzi o kolumny tej samej wysokości, bo wystarczy im wtedy nadać odpowiednią wysokość, i nie trzeba paddingu, ani overflow. Problem jest taki, że autor użył min-height, czyli minimalnej wysokości, której IE 6/7 nie interpretuje. Dlatego też jego "boxy" wyglądają jakby nie miałby nadanej żadnej wysokości, bo według IE nie mają. Pozostałe problemy to pozycjonowanie, ustalanie szerokości/wysokości nie uwzględniając margin/padding (tak, to też się zalicza do szerokości/wysokości elementu). I pewnie jeszcze kilka rzeczy do których przyczepić by się można, by się znalazło. Generalnie winny jest min/max height/width którego IE nie rozumie. Możesz pobawić się w fixy, ale to są zbędne zabiegi, IE 6/7 korzysta coraz mniej osób, i dobrze by było nie wspierać tych przeglądarek, tylko rzucić komunikatem żeby zaktualizować lub skorzystać z innej przeglądarki, która już od dawien dawna działa bardziej poprawnie niż IE.
marekge
Cytat(by_ikar @ 6.02.2012, 11:17:48 ) *
Pozostałe problemy to pozycjonowanie, ustalanie szerokości/wysokości nie uwzględniając margin/padding (tak, to też się zalicza do szerokości/wysokości elementu).

Może kolega po prostu uwzględnił znanego wszystkim buga:
http://pl.wikipedia.org/wiki/Internet_Explorer_box_model_bug
Skoro celowo nie określił doctype ;-)
by_ikar
Tak tak, znam ten błąd, ale w tym przypadku to jest głównie min/max width/height wink.gif
amatour
Hmm dzięki za odpowiedzi...

Pomysł mam taki aby zrobić 2 osobne pliki .css:
a) jeden dla przeglądarek IE 8 i starszych
cool.gif drugi dla pozostałych

Mam z tym związane pewne wątpliwości:
Czy jeśli dla wariantu a) ustawie jakby na sztywno wszystkie parametry tj. położenie, wysokość, szerokość to czy nie będzie to problem
np. przy wyświetlaniu na monitorach o innej wielkości itp? Muszę zrobić obsługę tych starszych przeglądarek - nie musi to być rewelacja,
wystarczy że będą poprawnie działały i wyglądały 'podobnie' jak na Firefoxie itp.
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.