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.