Я думаю, что это хороший вопрос, который стоит изучить.Я не думаю, что есть аргумент, основанный на производительности или стандартах, для того, чтобы не использовать встроенный CSS - он работает отлично - единственный (хотя и значительный) аргумент для разделенного CSS - это удобство обслуживания / читаемость.И поэтому, если вы генерируете CSS из JavaScript, генерация его встроенным так же, как и любой другой способ.
Фактически, API DOM в целом предоставляют гораздо более простые методы для назначения стилей непосредственно элементам (https://developer.mozilla.org/en/DOM/element.style), чем для создания новых таблиц стилей.Поэтому почти все библиотеки JavaScript, такие как jQuery, когда им приходится манипулировать стилями, делают это путем добавления встроенных стилей к элементу.
Сказав это, я никогда прежде не видел ситуации, когда разметка и стилизациядля всей страницы был создан с помощью JavaScript.Я ожидаю, что это будет довольно неэффективно.Я вижу, что если у вас есть веб-приложение, в котором весь контент загружается через Ajax (очень хорошее решение), то вы можете написать немало разметки с помощью JavaScript, но все же было бы лучше / эффективнее загрузитьбольшая часть окружающей разметки для вашего контента при начальной загрузке страницы, а затем использовать JavaScript для замены контента внутри существующих элементов.
В любом случае, я бы порекомендовал вам сохранить большую часть вашего CSS ввнешняя таблица стилей с соответствующими классами уже определена, так что все, что делает ваш JavaScript - это создает элементы с правильным классом.Это будет иметь преимущество в производительности, а также будет означать, что вся информация о вашем стиле расположена в одном месте и отдельно от вашего JavaScript, что облегчит поддержку вашего кода.