MozillaPL.org - polskie centrum Mozilli

Główne menu:

Dlaczego FF łamie NBSP?

Dyskusje na temat standardów WWW i zgłoszenia stron niedziałających poprawnie w przeglądarkach z rodziny Mozilli (w tym Mozilla Firefox)

Moderator: Pomocy?!

Dlaczego FF łamie NBSP?

Postautor: ptecza » 07 lutego 2007, 12:50

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.2; pl; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9

Witam,

mam zagnieżdzoną tabelkę dynamicznie generowaną przez aplikację
CGI (SqWebmail). W tabelce jest komórka z obrazkiem (ikonka folderu),
radiobuttonem (do wybierania folderu), linkiem (wejście do folderu)
i tekstem (ile nieprzeczytanych wiadomości). Wszystkie te elementy są
oddzielone od siebie NBSP jak widać poniżej:

<td align="left" valign="top"><img src="[...]" width="30" height="22" alt="Folder" title="Folder" />&nbsp;<input type="radio" name="DELETE" value="INBOX" />&nbsp;<a class="folderlink" href="[...]">OTRZYMANE</a>&nbsp;<font class="folderlistunread" style="color: #800000" size="-1">(nieprzeczytanych:&nbsp;1)</font></td>

Ponieważ szerokość wszystkich elementów nie mieści się w komórce
(obok i wokół są inne tabelki), to FF łamie linię po radiobuttonie dla
folderu OTRZYMANE. Czy nie powinien jednak "rozepchnąć" tej
komórki tak, żeby wszystkie elementy zmieściły się w jednej linii?
Tak właśnie robi Opera i MS IE, a ja chciałbym, żeby FF też tak robił :)

Poniżej zamieszczam linki do obrazków z widokiem strony w różnych
przeglądarkach oraz źródła strony i szablonu CSS:

Widok strony w FF 1.5.0.9
Widok strony w Operze 9.10
Widok strony w MS IE 7.0
Kod HTML strony
Szablon CSS

Czy to błąd FF? Jeśli nie, to w jaki sposób mogę usunąć problem?

Pozdrawiam,

P.
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22

Postautor: ptak82 » 09 lutego 2007, 00:47

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.1) Gecko/20061204 (4A2A9631-1FAE-6E52-C1C4-4DA8C78DE034) Firefox/2.0.0.1

Na pewno nie jest to błąd Firefoksa. Jeśli użyłbyś jednakowych jednostek do definiowania odległości poszczególnych elementów tabeli, myślę, że wszystko było by ok. Zdecyduj się na px, albo na %.

Poza tym ilość zagnieżdżeń tabel w tabeli jest dość olbrzymia.
Ptaszor,
Pomóż tworzyć polskie MDC. Szukamy osoby chętne do pomocy w tłumaczeniu dokumentacji Mozilli.
ptak82
 
Posty: 36
Z nami od: 23 stycznia 2005, 08:24
Lokalizacja: Opolskie

Postautor: ptecza » 09 lutego 2007, 09:51

Przeglądarka: Opera/9.10 (Windows NT 5.2; U; pl)

ptak82 pisze:Na pewno nie jest to błąd Firefoksa. Jeśli użyłbyś jednakowych jednostek do definiowania odległości poszczególnych elementów tabeli, myślę, że wszystko było by ok. Zdecyduj się na px, albo na %.

Poza tym ilość zagnieżdżeń tabel w tabeli jest dość olbrzymia.


Dzięki za odpowiedź! Tabel jest rzeczywiście sporo, ale jak widać na
dołączonych obrazkach konkurenci FF radzą sobie z nimi świetnie.
Nie przeszkadza im również to, że używam zarówno px jak i %.

Niektóre tabele mógłbym rzeczywiście zastąpić DIVami w statycznym
szablonie, z którego korzysta Sqwebmail. Nie mam jednak większego
wpływu na dynamiczny kod generwowany przez aplikację, który jest
"wklejany" do szablonu. Niestety zawiera on sporo zagnieżdżonych tabel,
bo Sqwebmail był pisany w czasach, gdy do pozycjonowania elementów
na stronie używało się tabel. Zmiana tego na DIV+CSS jest potrzebna,
ale będzie bardzo czasochłonna.

Nie chciałbym zgłaszać tego problemu jako błędu FF, bo wciąż nie mam
pewności czy to rzeczywiście jest błąd przeglądarki. Nie rozumiem tylko
dlaczego FF łamie elementy, skoro łączę je niełamliwą spacją? Jeśli główna
tabela (klasa main-box) jest szersza niż teraz, np. ma 800px zamiast
720px, to FF już nie łamie elementów.
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22

Postautor: ptak82 » 09 lutego 2007, 10:34

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.1) Gecko/20061204 (7481C19F-B0A8-B672-F9D9-ABA8ABDC23AA) Firefox/2.0.0.1

ptecza pisze:Dzięki za odpowiedź! Tabel jest rzeczywiście sporo, ale jak widać na
dołączonych obrazkach konkurenci FF


Fx -> nie FF :)

ptecza pisze:Nie chciałbym zgłaszać tego problemu jako błędu FF, bo wciąż nie mam
pewności czy to rzeczywiście jest błąd przeglądarki. Nie rozumiem tylko
dlaczego FF łamie elementy, skoro łączę je niełamliwą spacją? Jeśli główna
tabela (klasa main-box) jest szersza niż teraz, np. ma 800px zamiast
720px, to FF już nie łamie elementów.


Ale sam sobie odpowiadasz w swoim pytaniu. Jeśli masz tabele 720 px a wnętrze jest szersze to przełamie Ci się bo się nie ma gdzie zmieścić. Przy szerszej tabeli nie przełamie bo się mieści.
Ptaszor,
Pomóż tworzyć polskie MDC. Szukamy osoby chętne do pomocy w tłumaczeniu dokumentacji Mozilli.
ptak82
 
Posty: 36
Z nami od: 23 stycznia 2005, 08:24
Lokalizacja: Opolskie

Postautor: carlos » 09 lutego 2007, 11:07

Przeglądarka: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.1) Gecko/20070119 Firefox/2.0.0.1

Dokładnie, w FF nie napis się nie mieści. Mógłbyś na przykład zmniejszyć czcionkę na 10px:
Obrazek

Czemu Opera i IE tak nie mają? Jeśli zmierzysz szerokość tabeli w Firefoksie ma ona dokładnie 720px - tyle, ile zadeklarowana.
W IE i Operze jest szersza. Trzeba by poczekać na komentarz speca od CSS ale wydaje mi się, że zachowanie Firefoksa jest poprawne, a przynajmniej ja bym takiego oczekiwał.

Przy okazji, Konqueror wyświetla tak jak Firefox (tabela 720px, napis poniżej).

Pozdrawiam.
Karol Kwiatkowski
C.A.R.L.O.S.: Cybernetic Android Responsible for Logical Observation and Sabotage
carlos
 
Posty: 288
Z nami od: 24 listopada 2004, 04:29
Lokalizacja: LV-426

Postautor: ptecza » 09 lutego 2007, 11:27

Przeglądarka: Opera/9.10 (Windows NT 5.2; U; pl)

ptak82 pisze:
ptecza pisze:Dzięki za odpowiedź! Tabel jest rzeczywiście sporo, ale jak widać na
dołączonych obrazkach konkurenci FF


Fx -> nie FF :)


Hm. Czyba obie wersje są niepoprawne i prawidłowo powinno być
po prostu F? ;)

ptak82 pisze:
ptecza pisze:Nie chciałbym zgłaszać tego problemu jako błędu FF, bo wciąż nie mam
pewności czy to rzeczywiście jest błąd przeglądarki. Nie rozumiem tylko
dlaczego FF łamie elementy, skoro łączę je niełamliwą spacją? Jeśli główna
tabela (klasa main-box) jest szersza niż teraz, np. ma 800px zamiast
720px, to FF już nie łamie elementów.


Ale sam sobie odpowiadasz w swoim pytaniu. Jeśli masz tabele 720 px a wnętrze jest szersze to przełamie Ci się bo się nie ma gdzie zmieścić. Przy szerszej tabeli nie przełamie bo się mieści.


Sytuacja jest rzeczywiście dwuznaczna, bo z jednej strony ustalam jakąś
stałą szerokość elementu zewnętrznego, a z drugiej mówię, że nie chcę
łamać elementów wewnętrznych nawet wtedy, gdy są szersze niż element
zewnętrzny. Wydawało mi się jednak, że przeglądarki dosyć liberalnie
podchodzą do takich sytuacji.

Ja, jako projektant strony chciałbym, żeby zewnętrzny element miał
zadaną stałą szerokość wtedy, gdy jego elementy wewnętrzne nie są
szersze oraz żeby został on "rozciągnięty", gdy elementy w środku się
nie mieszczą. Nie zawsze przecież wiemy jaka będzie szerokość
wewnętrznych elementów.
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22

Postautor: ptak82 » 09 lutego 2007, 11:30

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.1) Gecko/20061204 (41751E6A-0DBB-389D-1B71-147B40130558) Firefox/2.0.0.1

Masz problemy z dziedziczeniem w CSSie:

Jak zrobiłem:

Kod: Zaznacz cały
a {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 90%;
   text-decoration: none;
}


pomogło. Tak samo możesz jak napisano powyżej zmniejszyć czcionkę w body, ale wtedy odniesie się to do całego dokumentu. A tu tylko do odnośników.
Ptaszor,
Pomóż tworzyć polskie MDC. Szukamy osoby chętne do pomocy w tłumaczeniu dokumentacji Mozilli.
ptak82
 
Posty: 36
Z nami od: 23 stycznia 2005, 08:24
Lokalizacja: Opolskie

Postautor: ptecza » 09 lutego 2007, 11:35

Przeglądarka: Opera/9.10 (Windows NT 5.2; U; pl)

carlos pisze:Dokładnie, w FF nie napis się nie mieści. Mógłbyś na przykład zmniejszyć czcionkę na 10px:


Dzięki za radę! Obawiam się jednak, że nasz Helpdesk i grono
użytkowników ze słabszym wzrokiem nie wybaczyłoby mi tego ;)

Może po prostu zwiększyć szerokość strony, np. do 800px? Tylko, że nie
wiem, ilu użytkowników wciąż używa rozdzielczości 800x600, a ta zmiana
spowodowałaby, że będą musieli intensywnie używać poziomego paska
do przewijania...

carlos pisze:Przy okazji, Konqueror wyświetla tak jak Firefox (tabela 720px, napis poniżej).


Ups! Kolejna przeglądarka, która wyświetla nie tak, jak chcę ;)

Pozdrawiam,

P.
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22

Postautor: carlos » 09 lutego 2007, 11:54

Przeglądarka: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.8.1.1) Gecko/20070119 Firefox/2.0.0.1

ptecza pisze:
carlos pisze:Dokładnie, w FF nie napis się nie mieści. Mógłbyś na przykład zmniejszyć czcionkę na 10px:


Dzięki za radę! Obawiam się jednak, że nasz Helpdesk i grono
użytkowników ze słabszym wzrokiem nie wybaczyłoby mi tego ;)

Odpada więc :)

ptecza pisze:Może po prostu zwiększyć szerokość strony, np. do 800px? Tylko, że nie
wiem, ilu użytkowników wciąż używa rozdzielczości 800x600, a ta zmiana
spowodowałaby, że będą musieli intensywnie używać poziomego paska
do przewijania...

To może zastąpić "(nieprzeczytanych: 1)" na "(1)" jak w programach pocztowych? Wydaje mi się, że będzie wiadomo o co chodzi.

Pozdrawiam.
Karol Kwiatkowski
C.A.R.L.O.S.: Cybernetic Android Responsible for Logical Observation and Sabotage
carlos
 
Posty: 288
Z nami od: 24 listopada 2004, 04:29
Lokalizacja: LV-426

Postautor: ptecza » 09 lutego 2007, 11:55

Przeglądarka: Opera/9.10 (Windows NT 5.2; U; pl)

ptak82 pisze:Masz problemy z dziedziczeniem w CSSie:


Hm. Zmniejszenie rozmiaru czcionki dla linków rozwiąże problem
z dziedziczeniem? ;)

ptak82 pisze:Jak zrobiłem:

Kod: Zaznacz cały
a {
   font-family: Verdana, Arial, Helvetica, sans-serif;
   font-size: 90%;
   text-decoration: none;
}


pomogło.


A u mnie nie :(

Poza tym to rozwiązanie raczej nie wchodzi w grę, ponieważ:

1. Chciałbym zachować rozmiar czcionek, które są dosyć duże i czytelne
nawet dla starszych osób,
2. Jeśli liczba nieprzeczytanych wiadomości w folderze będzie duża,
np. 100, to nawet mniejsza czcionka dla linków nie zapobiegnie złamaniu linii.

Wychodzi więc na to, że jest tylko jedno akceptowalne rozwiązanie
problemu -- zwiększenie szerokości strony. Można by jeszcze umieszczać
elementy w osobnych komórkach tabeli, ale to wymaga przerabiania
Sqwebmaila, więc odpada.
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22

Postautor: ptecza » 09 lutego 2007, 12:00

Przeglądarka: Opera/9.10 (Windows NT 5.2; U; pl)

carlos pisze:
ptecza pisze:Może po prostu zwiększyć szerokość strony, np. do 800px? Tylko, że nie
wiem, ilu użytkowników wciąż używa rozdzielczości 800x600, a ta zmiana
spowodowałaby, że będą musieli intensywnie używać poziomego paska
do przewijania...

To może zastąpić "(nieprzeczytanych: 1)" na "(1)" jak w programach pocztowych? Wydaje mi się, że będzie wiadomo o co chodzi.

Pozdrawiam.


Dzięki za pomysł! Muszę się nad nim zastanowić. Problem polega też na
tym, że wszelkie zmiany interfejsu, do którego przyzwyczaili się już
użytkownicy grożą rozpętaniem IV wojny światowej ;)
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22

Postautor: ptak82 » 09 lutego 2007, 12:14

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.1) Gecko/20061204 (41751E6A-0DBB-389D-1B71-147B40130558) Firefox/2.0.0.1

No to jeśli możesz to zmień rozmiar strony. Ja robię 770px, jest to bezpieczna szerokość dla rozdzielczości 800x600.
Ptaszor,
Pomóż tworzyć polskie MDC. Szukamy osoby chętne do pomocy w tłumaczeniu dokumentacji Mozilli.
ptak82
 
Posty: 36
Z nami od: 23 stycznia 2005, 08:24
Lokalizacja: Opolskie

Postautor: ptecza » 09 lutego 2007, 12:32

Przeglądarka: Opera/9.10 (Windows NT 5.2; U; pl)

ptak82 pisze:No to jeśli możesz to zmień rozmiar strony. Ja robię 770px, jest to bezpieczna szerokość dla rozdzielczości 800x600.


Robiłem testy i dopiero przy 800px Firefox nie złamał mi linii, gdy w folderze
OTRZYMANE była jednocyfrowa liczba nieprzeczytanych wiadomości.
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22

Postautor: ptak82 » 09 lutego 2007, 12:36

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.1) Gecko/20061204 (39B6E5A6-1D21-6CCE-63C9-D57ECC9E016B) Firefox/2.0.0.1

ptecza pisze:
ptak82 pisze:No to jeśli możesz to zmień rozmiar strony. Ja robię 770px, jest to bezpieczna szerokość dla rozdzielczości 800x600.


Robiłem testy i dopiero przy 800px Firefox nie złamał mi linii, gdy w folderze
OTRZYMANE była jednocyfrowa liczba nieprzeczytanych wiadomości.


Ok, ale jeśli dasz 800px i będziesz miał rozdzielczość 800x600 to Ci się pojawią paski przewijania. A to niezbyt ładnie wygląda, jak całość nie mieści Ci się na ekranie.
Ptaszor,
Pomóż tworzyć polskie MDC. Szukamy osoby chętne do pomocy w tłumaczeniu dokumentacji Mozilli.
ptak82
 
Posty: 36
Z nami od: 23 stycznia 2005, 08:24
Lokalizacja: Opolskie

Postautor: ptecza » 09 lutego 2007, 12:57

Przeglądarka: Opera/9.10 (Windows NT 5.2; U; pl)

ptak82 pisze:
ptecza pisze:
ptak82 pisze:No to jeśli możesz to zmień rozmiar strony. Ja robię 770px, jest to bezpieczna szerokość dla rozdzielczości 800x600.


Robiłem testy i dopiero przy 800px Firefox nie złamał mi linii, gdy w folderze
OTRZYMANE była jednocyfrowa liczba nieprzeczytanych wiadomości.


Ok, ale jeśli dasz 800px i będziesz miał rozdzielczość 800x600 to Ci się pojawią paski przewijania. A to niezbyt ładnie wygląda, jak całość nie mieści Ci się na ekranie.


Tak, wiem o tym. Ale nawet gdybym dał 770px, to przy długiej stronie,
która nie mieści się w całości w pionie pojawi się pasek pionowy.
Wtedy strona może się już nie zmieścić w całości w poziomie i pojawi się
pasek poziomy...

Niestety nie wiem jakich rozdzielczości używają użytkownicy. Nie zdziwiłbym się
jednak, gdyby byli wśród nich tacy, którzy mają 800x600. Tak samo nie
dziwi mnie już, że niektórzy nasi użytkownicy wciąż używają Windowsa 98,
bo... im działa :)

BTW, jest jakiś sposób sprawdzenia rozdzielczości użytkowników? Oczywiście bez
robienia ankietki :)
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22

Postautor: ptak82 » 09 lutego 2007, 13:08

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.1) Gecko/20061204 (39B6E5A6-1D21-6CCE-63C9-D57ECC9E016B) Firefox/2.0.0.1

To chyba najlepsze źródło na określenie, kto co używa: http://www.ranking.pl/Newsletter/pl/2007-02-01/#_link3

Co do szerokości to właśnie dlatego 770px, aby uwzględniło pasek pionowy, przy takiej szerokości na pewno nie pojawi się poziomy.
Ptaszor,
Pomóż tworzyć polskie MDC. Szukamy osoby chętne do pomocy w tłumaczeniu dokumentacji Mozilli.
ptak82
 
Posty: 36
Z nami od: 23 stycznia 2005, 08:24
Lokalizacja: Opolskie

Postautor: ptecza » 09 lutego 2007, 14:15

Przeglądarka: Opera/9.10 (Windows NT 5.2; U; pl)

ptak82 pisze:To chyba najlepsze źródło na określenie, kto co używa: http://www.ranking.pl/Newsletter/pl/2007-02-01/#_link3


Dziękuję za link! Czyli użytkownicy z rozdzielczością 800x600 naprawdę
istnieją i nie jest ich wcale tak mało ;)
ptecza
 
Posty: 9
Z nami od: 07 lutego 2007, 10:22


Wróć do Standardy WWW i źle działające strony

Kto jest online

Zarejestrowani użytkownicy: Baidu [Spider], Bing [Bot], Google [Bot]

cron
Przejdź do powiązanej strony

Nawigacja:

Stopka: