Не видеть разрывов строк в CSS-коде .load () редактируется через jQuery - PullRequest
2 голосов
/ 19 июля 2010

Я использую jQuery для загрузки () содержимого CSS-файла в div. Но когда содержимое этого файла загружено, все разрывы строк, вкладки и т. Д. Исчезают. Есть ли способ сделать загрузку файла CSS, сохраняя при этом разрывы строк?

Заранее спасибо!

Ответы [ 3 ]

7 голосов
/ 19 июля 2010

Вместо <div> просто используйте элемент <pre> для сохранения форматирования, вы можете .load() в него точно таким же образом.

Поведение HTML по умолчанию - отображать без разрывов строк, лишних пробелов и т. Д. (Кроме ), из спецификации HTML4 :

Для всех элементов HTML, кроме PRE, последовательности пробелов разделяют «слова» (здесь мы используем термин «слово» для обозначения «последовательностей непробельных символов»). При форматировании текста пользовательские агенты должны идентифицировать эти слова и размещать их в соответствии с соглашениями конкретного письменного языка (сценария) и целевого носителя.

0 голосов
/ 19 июля 2010

Вы также можете использовать плагин jQuery для выделения синтаксиса: http://alexgorbatchev.com/SyntaxHighlighter/

0 голосов
/ 19 июля 2010

Я не получаю эту проблему сам:

$('<textarea>').load('./styles/style.css').appendTo('body');

Я вставляю это на страницу:

http://www.balupton.com/sandbox/jquery-sparkle/demo/

И она отображается, как и ожидалось.

Проблемавероятно лежит в конце концов строки.В Интернете используется "\n", в то время как в некоторых версиях Mac используется "\r", а в Windows используется "\r\n".

Или, если вы пытаетесь отобразить его в DIV, , выПридется использовать CSS white-space: pre; для отображения пробелов без преобразования их в BR s.

Редактировать: забыл тире в пробелах.

...