Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][CSS]Problem z padding'iem
Forum PHP.pl > Forum > Przedszkole
Gallareton
Witam. Otóż problem polega na tym, że Opera i Mozilla, oraz IE inaczej interpretują padding w ramce. Jeśli ma ona ustalone wymiary to Opera i Mozilla rozciągają ją dodatkowo o wszystkie marginesy (załóżmy, że wymiary to 100x100... jeśli prawy margines wewnętrzny wynosi 20px to wymiary rozciągają się w poziomie o te 20px), podczas gdy IE tego nie robi. Co można zrobić, aby efekt był taki sam we wszystkich przeglądarkach?
Lion_87
Może zrobić wyjątek dla IE?
Gallareton
Jak to zrobić używając TYLKO HTML i CSS?
Lion_87
no np
  1. <!--[if IE 6]>
  2. ...
  3. <![endif]-->
Gallareton
A jak wygląda ta sama instrukcja dla Opery i Mozilli?
erix
Zrób najpierw dla Opery/Fx, dopiero potem poprawiaj błędy IE.

Podejrzewam, że zrobiłeś na odwrót; hacki na przeglądarki (czyt: nie-IE) są stosowane bardzo rzadko.
piotrooo89
chyba Twoje posty biorą się z niewiedzy więc polecam: google -> komentarze warunkowe
kantek
Jak możesz pokaż fragment html i odpowiedni css dla niego.

Daj też sobie na tym elemencie ramkę (np. border:1px solid red;) czy na pewno nie są takie same??

Pewnie masz problem z ie6 bo z 7 to chyba nie.

Pozdrawiam
Gallareton
Generalnie ze względu na to, że Opera ma czasem dziwne problemy robiłem stronę pod IE, i to na Operze i Mozilli pojawił się ten problem.

  1. <td>
  2. <div id="l3">
  3. Treść...
  4. </td>

to jest kawałek kodu html
  1. #l3 {
  2. background-image: url("images/lewy3.jpg");
  3. background-repeat: y;
  4. width: 241px;
  5. height: 41px;
  6. padding: 0px 35px 0px 35px;
  7. text-align: center;
  8. color: white;
  9. }

A to jest kod css mu odpowiadający. Problem polega na tym, że aby Opera i Mozilla wyświetlały to poprawnie, muszę zmniejszyć width o 70px, podczas gdy w IE zrobi się dziura, bo obrazek tła nie będzie w całości... Rozumiem, że błąd ten wynika z różnicy w interpretacji CSS przez te przeglądarki, ale nie wiem jak użyć w tym wypadku komentarza warunkowego
  1. <!--[if IE 6]>
potreb
Bo ustawiłeś paddingi na 35px = 70px po obu stronach, wklej wewnętrzny div i wtedy dla niego ustawiaj marginy lub paddingi.

Zreszta id wg schemantyki xhtml nie może zaczynać sie od liczby, nie ma też zamknięcia div. O ile diva masz w tabeli dla komórki ustaw padding.
Gallareton
A no tak div'a nie zamknąłem. Trochę tak dziwnie, ale skoro nie ma innego wyjścia to zrobię w środku kolejnego div'a i jemu ustawię padding, dzięki.

Czy mi się zdaje, czy ten div NIE zaczyna się od liczby? Ach... to jest L3, a nie 13 smile.gif

  1. <td>
  2. <div id="l3">
  3. <span id="ltresc">
  4. Treść...
  5. </span>
  6. </div>
  7. </td>

  1. #l3 {
  2. background-image: url("images/lewy3.jpg");
  3. background-repeat: y;
  4. width: 241px;
  5. height: 41px;
  6. text-align: center;
  7. color: white;
  8. }
  9. #ltresc {
  10. padding: 0px 35px 0px 35px;
  11. }

Rozwiązanie dość trywialne, ale ważne, że działa smile.gif
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.