Почему бы не использовать встроенный CSS, если весь HTML + CSS генерируется во время выполнения javascript, и ни одному разработчику не нужно будет работать с CSS и HTML? - PullRequest
1 голос
/ 30 августа 2011

Единственные причины, по которым я вижу в интернете не использовать inline-css, - это разделение html и css & management, но если в моем случае это не проблема, мне все равно, я буду использовать.

Еще один профессионал, который я могу сказать, таков: представьте, что вы хотите загрузить виджет, созданный другим пользователем, вам нужно будет загрузить только 1 файл, JavaScript, а не CSS.

Но это можетесть другие проблемы?спасибо

Ответы [ 3 ]

6 голосов
/ 30 августа 2011

Если вы прочитаете свой вопрос еще раз, вы ответите на него сами. Есть причина для «разделения» html и CSS. Потому что в какой-то момент вы захотите изменить внешний вид того, что вы кодировали. В такие моменты очень полезно иметь отдельный CSS-файл, поэтому вы вносите изменения только в одном месте, а не во всем приложении.

EDIT

Другая полезность разделения CSS - это кеширование. Большинство современных браузеров кэшируют файлы CSS. Это означает, что меньше обращений к серверу и меньше времени отклика. Я не уверен, что то же самое относится и к JavaScript, потому что файлы JavaScript будут кэшироваться, но клиентский браузер должен будет выполнять код каждый раз при загрузке.

1 голос
/ 30 августа 2011

Я думаю, что это хороший вопрос, который стоит изучить.Я не думаю, что есть аргумент, основанный на производительности или стандартах, для того, чтобы не использовать встроенный CSS - он работает отлично - единственный (хотя и значительный) аргумент для разделенного CSS - это удобство обслуживания / читаемость.И поэтому, если вы генерируете CSS из JavaScript, генерация его встроенным так же, как и любой другой способ.

Фактически, API DOM в целом предоставляют гораздо более простые методы для назначения стилей непосредственно элементам (https://developer.mozilla.org/en/DOM/element.style), чем для создания новых таблиц стилей.Поэтому почти все библиотеки JavaScript, такие как jQuery, когда им приходится манипулировать стилями, делают это путем добавления встроенных стилей к элементу.

Сказав это, я никогда прежде не видел ситуации, когда разметка и стилизациядля всей страницы был создан с помощью JavaScript.Я ожидаю, что это будет довольно неэффективно.Я вижу, что если у вас есть веб-приложение, в котором весь контент загружается через Ajax (очень хорошее решение), то вы можете написать немало разметки с помощью JavaScript, но все же было бы лучше / эффективнее загрузитьбольшая часть окружающей разметки для вашего контента при начальной загрузке страницы, а затем использовать JavaScript для замены контента внутри существующих элементов.

В любом случае, я бы порекомендовал вам сохранить большую часть вашего CSS ввнешняя таблица стилей с соответствующими классами уже определена, так что все, что делает ваш JavaScript - это создает элементы с правильным классом.Это будет иметь преимущество в производительности, а также будет означать, что вся информация о вашем стиле расположена в одном месте и отдельно от вашего JavaScript, что облегчит поддержку вашего кода.

0 голосов
/ 05 сентября 2011

Можно использовать встроенный CSS.(в данном конкретном случае)

...