ďťż

[HTML] (Nie)zwykły problem z div'ami.

       

Podstrony


telcocafe

Sorry, jeżeli już był taki temat. Otóż mam sobie projekt mojej przyszłej (kolejnej) strony. Stwierdziłem, że idąc z duchem czasu trzeba w końcu zapomnieć o tabelach do tworzenia stron www i zająłem się znacznikami <div>. I tu już są problemy. Zazwyczaj robiłem strone pod IE, a później przystosowywałem je pod inne takie jak FF, Opera, Natescape, Lynx'a... Ale cóż widzę. Nigdzie nie ma zastosowanego atrybutu, który by odsuwał div'y od lewej i górnej krawędzi, a tak jest. Patrzcie:

ADRES

Otwórzcie w różnych przeglądarkach. W IE, nie ma żadnych błędów, a w reszcie jest ten z tymi marginesami i OPRÓCZ tego jest jeszcze problem z główną zawartością strony. Otóż jest ona o około 2px przesunięta w przeglądarkach alternatywnych do IE. (Przynajmniej w FF i Operze).

Macie jakieś propozycje, jak to naprawić?




Sorry, jeżeli już był taki temat. Otóż mam sobie projekt mojej przyszłej (kolejnej) strony. Stwierdziłem, że idąc z duchem czasu trzeba w końcu zapomnieć o tabelach do tworzenia stron www i zająłem się znacznikami <div>. I tu już są problemy. Zazwyczaj robiłem strone pod IE, a później przystosowywałem je pod inne takie jak FF, Opera, Natescape, Lynx'a... Ale cóż widzę. Nigdzie nie ma zastosowanego atrybutu, który by odsuwał div'y od lewej i górnej krawędzi, a tak jest. Patrzcie:

ADRES

Otwórzcie w różnych przeglądarkach. W IE, nie ma żadnych błędów, a w reszcie jest ten z tymi marginesami i OPRÓCZ tego jest jeszcze problem z główną zawartością strony. Otóż jest ona o około 2px przesunięta w przeglądarkach alternatywnych do IE. (Przynajmniej w FF i Operze).

Macie jakieś propozycje, jak to naprawić?


IMO wystarczy ustawić w stylu margin: 0;


Nie można. Div'y mają position: absolute; i marginy nadają im miejsce na stronie w którym mają się znajdować. Wszystkie div'y znalazłyby się w jednym miejscu, a nie o taki efekt nam chodzi.




Nie rozumiem :|
Jak marginy moga nadawac miejsce, czy polozenie?
nie chodzi mi o left czy top, tylko o margin-left czy margin-top;


Nie rozumiem :|
Jak marginy moga nadawac miejsce, czy polozenie?
nie chodzi mi o left czy top, tylko o margin-left czy margin-top;

A więc sytuacja się troszeczkę wyjaśniła. Strona ma teraz dokładnie ustawione miejsce, ale nadal nie wiem co z tymi wystającymi dwoma pixelami... Patrzcie tutaj. Tym razem w przrglądarkach alternatywnych jest dobrze, a w IE, jest ramka wysunięta o 2px.

Kto pomoże?

Może to dlatego, że IE jakoś tak sumuje zawartość, padding, i border bloku i to jest według niego zawartość.


Normalnie. Patrz na ten css:
div.logo { position: absolute; margin: 0px 0px 0px 0px; width: 800px; z-index: 1; } div.navigation { position: absolute; margin: 165px 0px 0px 0px; width: 780px; height: 20px; z-index: 2; padding: 10px; text-align: center; }

Najpierw dla <div class="logo"> ustaliłem położenie na samej górze przy samym lewym boku, a później dla <div class="navigation"> utaliłem położenie 165px niżej niż logo.
To źle, bo położenie ustala się parametrami left i top a nie margin.

seak1: jak coś dodajesz czy zmieniasz, to edytuj posty anie nabijasz jeden po drugim.
Użytkownik .:dR@kE:. edytował ten post 19 luty 2006, 12:19
jak najbardziej sie z tobą zgadzam .:DR@kE:.. powinienes ustawic divy przy pomocy top bottom left right są to znaczniki okreslające pozycje elementu na stronie czyli w twoim wypadku powinienes dac w 1 przypadku top:0px w drugim top: 165px a w body wrzucic margina 0 i po klopocie
Użytkownik Przemek77 edytował ten post 19 luty 2006, 12:23
1. po grzyba odzywają się osoby, które nie mają pojęcia ?
2. @.:DR@kE:. margines jak sama nazwa wskazuje też ustala położenie :) jeśli dasz 2 divy obok siebie i 2giemu margin-left:100px; + floaty to będą obok siebie ?
3. @seak1 divy nie majac position:absolute (domyslnie), a margin:0 / auto daje to że div jest na środku jeśli chodzi o poziom

4. wywal tego absoluta ! po co Ci on ? powiem, Ci, że nic ciekawego on CI nie da, w takiej ilości elementów


1. po grzyba odzywają się osoby, które nie mają pojęcia ? No właśnie :|

2. @.:DR@kE:. margines jak sama nazwa wskazuje też ustala położenie :) jeśli dasz 2 divy obok siebie i 2giemu margin-left:100px; + floaty to będą obok siebie ? Nazwa wskazuje, że ustala margines a ni położenie. Od położenia jest position, left, top, itp.

tak, ale margines wpływa na położenie


tak, ale margines wpływa na położenie Wpływa, ale nie jest głównym parametrem do ustalania położenia. Poza tym jeśli chodzi o margin, to parametr ten jest nieco inaczej interpretowany przez różne przeglądarki.


Wpływa, ale nie jest głównym parametrem do ustalania położenia. Poza tym jeśli chodzi o margin, to parametr ten jest nieco inaczej interpretowany przez różne przeglądarki.


i tu się mylisz ;-) ja zawsze używam marginesów :) -> http://tido.beldzio....es/css/main.css :)


To, że Ty używasz, nie znaczy że tak jest dobrze.


ale też nie oznacza, że jest źle, że się nie da i że margines nie wpływa na położenie Widzę, że mnie nie rozumiesz. Nie chodzi o to, że margines nie wpływa czy coś, ale że nie jest głównym parametrem do ustalania położenia. Do tego celu wymyslono parametr position, left, top itp.


Widzę, że mnie nie rozumiesz. Nie chodzi o to, że margines nie wpływa czy coś, ale że nie jest głównym parametrem do ustalania położenia. Do tego celu wymyslono parametr position, left, top itp.


no tak, ale marginesy również można do tego wykorzystać i imho w wielu sytuacjach lepiej się sprawdzają


Na pewno nie lepiej, bo nie do tego zostały stworzone. Margin służy do ustalenia odstepów danego elementu od innych a nie stricto do ustalania położenia danego elementu.


chyba robiąc stronę zależy Ci na spójności elementów czyli konkretnym położeniem elementów względem siebie
position: relative;


position: relative;


i sądzisz, że jedynie tym zapewnisz spójną budowę i tak samo wyświetlającą się stronę pod wszelakimi przeglądarkami ? Nie, przede wszystkim trzeba wiedzieć co się robi. Nie napisałem, że zrobie position: relative i stronka sama mi się ułoży idealnie dla wszystkich i we wszystkich przeglądarkach.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.