Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [CSS] Pozioma linia
aeaeae
post 16.05.2011, 16:27:53
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 23
Dołączył: 5.03.2011

Ostrzeżenie: (0%)
-----


Może pytanie wydaje się banalne, ale męczę się nad tym już jakiś czas. Jak zrobić w IE (ja mam akurat IE6, ale myślę, że w późniejszych wersjach jest podobny problem) poziomą linię (niech będzie, że na całą szerokość) o wysokości dokładnie 1px. Próbowałem hr i div, ale zawsze wychodzi wysokość 2px mimo, że daję height:1. Zorientowałem się, że w IE blok nie może mieć mniejszej wysokości niż jedna linia czcionki dlatego daję font-size:0.

Naprawdę nie rozumiem czemu jest z tym aż taki kłopot. Nie chcę przecież nic innego jak dać na stronie element blokowy (obojętnie już jaki), który będzie miał jakiś tam mój kolor i wysokość 1. Tylko tyle.

HTML
  1. costam
  2. <div class="line"></div>
  3. costam


CSS
  1. *{margin:0;padding:0}
  2. .line{height:1;font-size:0;background-color:#FF0000}
Go to the top of the page
+Quote Post
Daiquiri
post 16.05.2011, 16:50:53
Post #2





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Nie mam na chwilę obecną dostępu do IE, ale
  1. hr {
  2. border: 0; margin: 0; padding: 0;
  3. height: 1px; border-top: 1px solid #FF0000;
  4. }
powinno chyba zadziałać.

Dlaczego ustawiasz height na 1?
Go to the top of the page
+Quote Post
aeaeae
post 16.05.2011, 17:14:31
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 23
Dołączył: 5.03.2011

Ostrzeżenie: (0%)
-----


Dzięki. Chyba zrobię po prostu tak, że dam div (nad tym miejscem, w którym planowałem linię) z border-bottom: 1px solid #FF0000. Lepsze by było rozwiązanie z hr, bo blok powyżej mógłbym modelować z większą swobodą (np. margin w takim wypadku odpada - muszę zagnieździć kolejnego div), ale mimo zerowania marginesów i obramowania hr w IE wciąż ma jakieś pozostałości po kilka px u góry i dołu (gdy zaznaczam kursorem w przeglądarce).

Może ktoś inny ma jeszcze jakąś propozycję?

"Dlaczego ustawiasz height na 1?"
Chcę mieć po prostu linie oddzielające tekst. Jakiś margines sobie dołożę potem, ale linia ma mieć właśnie 1px i tu jest problem, bo gdy już będę chciał wszystko dokładnie ułożyć, to w Firefoxie i IE będzie to inaczej wyglądało ze względu właśnie na ten dziwny dodatek do hr w IE.

Ten post edytował aeaeae 16.05.2011, 17:28:24
Go to the top of the page
+Quote Post
Daiquiri
post 16.05.2011, 17:37:08
Post #4





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Bardziej ciekawił mnie 1 zamiast 1px.
Go to the top of the page
+Quote Post
aeaeae
post 16.05.2011, 18:02:22
Post #5





Grupa: Zarejestrowani
Postów: 117
Pomógł: 23
Dołączył: 5.03.2011

Ostrzeżenie: (0%)
-----


Aaa, o to Ci chodziło. Z głupoty. tongue.gif
Mimo wszystko skopiowałem Twoje rozwiązanie (z "px") i hr w ie(6) wciąż ma po 7px dodatkowych u góry i dołu ...

Teraz moja linia wygląda tak:
  1. <div style="height:1px;border-top:1px solid #000000;font-size:0px"></div>


Zostaje tylko sprawa tego, że jedna przeglądarka zalicza border do height a druga nie (chyba tongue.gif), więc różnica wyniesie pomiędzy nimi 1px (tyle to przeżyję). No i dochodzi sprawa poprawności - wolałbym mieć hr tam gdzie myślę o linii i tam gdzie jej używam, a nie div.

Ten post edytował aeaeae 16.05.2011, 18:08:14
Go to the top of the page
+Quote Post
Daiquiri
post 16.05.2011, 18:26:32
Post #6





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Nawet display: block, dla hr nie pomaga na ie6? Ona chyba wyświetla hr jako element inline, a reszta przeglądarek jako block, ale głowy nie dam.

Tak też nie pomaga na tę 10letnią przeglądarkę?
  1. hr {
  2. line-height:0px;
  3. font-size:0;
  4. border:0px;
  5. height: 0px;
  6. border-top:1px solid #FF0000;
  7. }
Go to the top of the page
+Quote Post
aeaeae
post 16.05.2011, 18:57:22
Post #7





Grupa: Zarejestrowani
Postów: 117
Pomógł: 23
Dołączył: 5.03.2011

Ostrzeżenie: (0%)
-----


Jest niewzruszona. tongue.gif (na display:block też)
Właśnie sprawdziłem na IE7 pod Vistą. Tam też identyczny problem.

Czy mógłby ktoś sprawdzić dla nowszych IE?

Z tego, co czytam teraz na necie, to tragedia jest z kompatybilnością hr. Każda przeglądarka zupełnie inaczej to wyświetla: niektóre np. budują hr z border, podczas gdy inne inaczej. OMG, ja chcę prostą stronę napisać (przynajmniej pod względem html/css), a tu takie zabawy, no nie ... co_jest.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2025 - 03:35