MozillaPL.org - polskie centrum Mozilli

Główne menu:

[XHTML] Pionowy pasek przewijania - da się wymusić?

Jak tworzyć strony WWW zgodnie ze standardami

Moderator: Pomocy?!

[XHTML] Pionowy pasek przewijania - da się wymusić?

Postautor: trejder » 26 września 2007, 09:25

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7

Witam,

Zanim przejdę do konkretów, krótko opiszę problem. Bo może okaże się, że szukam rozwiązania nie tam, gdzie powinienem.

Na swojej stronce mam teksty formatowane do obu marginesów (justify). Aby nie powstawały mi gigantyczne dziury wymyśliłem sobie (może głupio), żeby pole edycyjne, w którym wpisuję tekst, który się ma pojawić (<textarea>) miało rozmiary MNIEJ WIĘCEJ zbliżone do szerokości tekstu. Tak, abym MNIEJ WIĘCEJ już podczas pisania wiedział, że zbliżam się do marginesu i jeśli w edytorze mi się przełamie zdanie do nowej linijki to PRAWDOPODOBNIE na stronie również tak będzie.

Idealnie tego nie ma szans chyba załatwić. Bo szerokość tekstu wyświetlanego na stronie jest podawana w pikselach (stylem CSS), a szerokość tekstu w edytorze - w znakach (ROWS=""). Przeliczenie idealne niemożliwe, bo czcionka zmiennej szerokości znaków, rozdzielczość ekranu, i te pe i te de. Ale chciałem mieć to chociaż w przybliżeniu.

Wykombinowałem, że TEXTAREA o szerokości 74 znaków MNIEJ WIĘCEJ odpowiada szerokości tekstu na stronie. Ustawiłem więc:

Kod: Zaznacz cały
<textarea name="message" cols="74" rows="14">


I gra. Porównuję zawartość pola edycyjnego z tekstem wyświetlanym na stronie - cycuś - tekst przełamuje się w tych samych miejscach.

Frytki zaczynają się, gdy albo wysokość pola jest za mała:

Kod: Zaznacz cały
<textarea name="message" cols="74" rows="9">


albo tekstu jest zbyt dużo i pojawia się... PIONOWY PASEK PRZEWIJANIA.

Nie wiem czemu, ale moim zdaniem Firefox owo cols="74" traktuje trochę z przymrużeniem oka. Bo jeśli ustawiłem taką właśnie szerokość w znakach, a następnie stylem (style="width: 560px") zwiększyłem szerokość o kilkanaście pikseli (właśnie po to, by zrobić miejsce na ów pionowy pasek przewijania, który czasem się pojawia, a czasem nie) to Firefox zupełnie olał sobie cols="74" i wstawił w polu edycyjnym tekst tak, że niektóre linijki mają po 76, 78 lub nawet 79 znaków.

No i całość szlag trafia. Bo w zależności od tego, czy jest dużo tekstu (i pasek przewijania), czy mało (brak paska) tekst jest łamany albo tak, jak na stronie, albo zupełnie inaczej. Cała idea o dupę roztrzaść.

W IE ten problem NIE WYSTĘPUJE, bo IE wyświetla pionowy pasek przewijania ZAWSZE. Jeśli tekstu jest mniej to jest on po prostu nieaktywny.

Po tym długim wstępie konkretnie pytanie:

Czy da się jakoś WYMUSIĆ pojawianie pionowego paska przewijania - tak jak w IE - żeby pojawiał się zawsze, a w przypadku braku dostatecznej ilości tekstu, żeby po prostu był nieaktywny.

Albo z innej strony - co zrobić, żeby Firefox jednak łaskawie uznawał cols="74" i jeśli "tfurca" strony WWW chce, żeby w linijce pojawiły się maksymalnie 74 znaki, to żeby pojawiały się tam 74 znaki, a nie 76, 78, 79 lub inne widzi-mi-się przeglądarki.
trejder
 
Posty: 197
Z nami od: 20 stycznia 2005, 15:31
Lokalizacja: Katowice

Postautor: rumsztyk » 26 września 2007, 11:16

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7

nie wiem na ile to co napiszę będzie eleganckie a na ile funkcjonalne

dla textarea możesz w css dodać

overflow: scroll;
włączysz paski przewijania zawsze i wszędzie czy Ci się to podoba?
lub
overflow: hidden;
wyłączysz paski przewijania zawsze i wszędzie czy to będzie funkcjonalne?
(poruszanie po tekście w textarea będzie wówczas możliwe za pomocą strzałek - rolka myszy nie działa)

użytkownik hyzioxp84 pewnie sobie z tym poradzi
użytkownik Jadwiga P. może się zagubić?

PS.
justowanie na stronach nie jest idealne dlatego, że nie ma obecnie możliwości dzielenia i przenoszenia wyrazów jak np. w wordzie
każdy wyjustowany <p> przełamany raz czy dwa beerką na pewno rozstrzeli wyrazy.
Rzadko justuję jeżeli nad tekstem ma panować ktoś inny niż ja sam.

czy ktoś ma better idea?
jestem ciekaw...
rumsztyk
 

Postautor: trejder » 26 września 2007, 16:11

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7

rumsztyk pisze: dla textarea możesz w css dodać overflow: scroll;


Wybawco! :) O to mi chodziło! Temat rozwiązany i EoT :)

P.S.: Ja jestem natomiast totalnym fanem justyfikacji, bo mnie "poszczerbione końce: przy prawym marginesie (gdy jest text-align: left) po prostu dobijają. Zaś na dziury (przy justify) w większości przypadków da się poradzić remodelując treść - a to z kolei wyzwanie językowe. Dlatego zdecydowałem się na takie, a nie inne rozwiązanie. Ale masz rację 100% - w tym przypadku ja jestem jedyną osobą, która ma kontrolę nad wprowadzanym tekstem. Gdybym robił coś, co będzie obsługiwała inna osoba to najprawdopodobniej bym ne zdecydował się na justyfikację.
trejder
 
Posty: 197
Z nami od: 20 stycznia 2005, 15:31
Lokalizacja: Katowice


Wróć do Tworzenie stron WWW

Kto jest online

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

Przejdź do powiązanej strony

Nawigacja:

Stopka: