Niepotrzebny margines - CSS+IE


(Dragon1992) #1

(Witos) #2

Wiesz co, sory ze nie chce mi sie analizowac terez tego kodu, ale podpowiem ci, moze to pomoże, że stosowanie właściwości margin dla DIV’ow często powoduje problemy, sam się o tym przekonałem. Powód? IE inaczej interpretuje taki układ, podczas gdy dla np. firefoxa takie cos

width: 200px; margin: 10px;

oznacza w przypadku diva warstwę o szerokości 200px, a wokol niej jeszcze 10px marginesu, to IE interpretuje to jako warstwe, ktora razem z marginesami ma 200px -> czyli tak naprawde 180px szerokosci + marginesy 10px po lewej i prawej Tak więc lepiej dac ogolnie dla div’ów margin: 0; i ustawiac je odpowiednio za pomoca pozycjonowania, tak zeby te marginesy powstały “siłą rzeczy” :slight_smile: Podpowiedz druga: nie wszystkie przeglądarki interpretuja poprawnie zapis typu:

left: -10px;

(to chyba tez winowajca IE, ale juz nie pamietam) w takim wypadku musisz użyć

right: 10px;

Ale ogolnie zawsze kiedy się da (szczególnie przy pozycjonowaniu absolutnym) to ustalaj wzgledem left i top;

I nawet jesli mialo by byc left: 0; top: 0; to warto to napisac bo na Operze czy FF moze to czasem wygladac normalnie i bez tego a na IE często okazuje się że bez tego warstwa ustawia się w jakiś dziwny sposób (znowu różnice w rozumowaniu)


(mario@) #3

Do kodu źródłowego strony dopisujesz (w sekcji

)

gdzie plik “style_ie.css” będzie zawierał nowe parametry (style) dla wszystkich elementów, których wygląd, położenie różni się w IE od np. FF. W przypadku gdy IE znajdzie jakiś styl określony w pliku “style_ie.css” to go użyje, jeżeli go tam nie będzie wczyta sobie te ustawienia z ogólnego pliku “style.css”, czyli w Twoim przypadku z jednego z plików:


(system) #4

Zacznij od dopisania doctype na stronie, jest to podstawa. Potem zerujesz wszystkie margin/padding przez dopisanie w css na początku

* { margin: 0; padding: 0; }

(Dragon1992) #5

Przede wszystkim chciałbym serdecznie podziękować za pomoc.

Winowajcą okazały się właśnie marginesy, którymi IE miał problemy.

Wystaczyło je tylko wyzerować, i porozmieszczać elementy właściwościami pozycjonującymi.

Jeszcze raz dziękuję.

Myślę, że temat można zamknąć.