GUI (Gnome, KDE, Gtk...), Osobiste, szkoła etc., Technologie W3C (XHTML, CSS...)

pre-wrap

22 czerwca, 2007 o 12:32:43 Dodaj komentarz Poziom: 0 Permalink

Właściwość pre-wrap (dla Gecko -moz-pre-wrap) byłaby dość użyteczna do wyświetlania kodu. Czy ktoś zna jak można dodać hacka dla mozilli tak, aby wszystko się w dodatku walidowało (komentarze warunkowe nie są tak głupie na jakie wyglądają :) )? Najchętniej bez użycia JS (z pomocą raczej sobie poradziłbym sam :) )...

Komentarze do wpisu

Możesz śledzić odpowiedzi poprzez kanał RSS. Możesz dodać komentarz lub zostawić ślad (trackback) ze swojego bloga.

#

coldpeer

Nie prościej:

pre { word-wrap: break-word; }

?

22 czerwca 2007, 13:23:01

#

Uzytkownik

Walidator CSS twierdzi że: „Property word-wrap doesn’t exist : break-word”.

22 czerwca 2007, 13:46:48

#

Riddle

Word-wrap: break-word zostało wymyślone przez MS, ale że jest całkiem rozsądne zostało dodane chyba do drafta CSS3.

Co do -moz-pre-wrap <- na co Ci walidacja w CSS? Jeśli bardzo nie chcesz, to możesz dodać to JavaScriptem, ale dla mnie to jest zupełnie bez sensu.

23 czerwca 2007, 02:32:57

#

Uzytkownik

> Word-wrap: break-word zostało wymyślone przez MS, ale że jest
> całkiem rozsądne zostało dodane chyba do drafta CSS3.

Nie wiem „czy to najnowszy draft”(Draft z 6 marca):http://www.w3.org/TR/css3-text/#word-break ale break-word tam nie ma…

> Co do -moz-pre-wrap <- na co Ci walidacja w CSS? Jeśli bardzo
> nie chcesz, to możesz dodać to JavaScriptem, ale dla mnie to
> jest zupełnie bez sensu.

dodałem
code { white-space: pre-wrap; white-space: -moz-pre-wrap; }

Mam nadzieje, że będzie działało…

23 czerwca 2007, 09:24:42

#

RR

Witam!
Zadziała na FF od wersji 3.5 (/Gecko 1.9.1)
Tj.:
pre {
white-space:pre-wrap !important;
white-space:-moz-pre-wrap !important;
white-space:-pre-wrap;
}

Inaczej nie chce...
Oczywiście można zastosować do klasy "code"

Totalny wraper:

pre {
_white-space: pre; /* IE hack to re-specify in addition to word-wrap */
white-space:-pre-wrap; /* Opera 4-6 */
white-space:pre-wrap; /* CSS 2.1 */
white-space: pre-line; /* CSS 3 (and 2.1 as well, actually) */
white-space:-moz-pre-wrap !important; /* Mozilla, since 1999 */
white-space:-o-pre-wrap; /* Opera 7 */
white-space:-hp-pre-wrap; /* HP printers */
line-break:strict;
text-wrap:unrestricted;
word-wrap:break-word; /* IE7+ */
word-break:break-strict;
overflow:auto;
}

Oczywiście to przykład i nie należy "wrzucać jak leci".
Niestety dalej jest problem z FF poniżej wersji 3.5

Innym rozwiązaniem, jest wraper napisany w php. Można łamać po dowolnej ilości znaków itp.. lekturka ogólnie dostępna. Nie przynudzam dużej.

Pozdrawiam
RR

24 czerwca 2009, 22:35:50

Dodaj komentarz

Textile Lite włączony ( szczegółowy opis znaczników ):