Я чувствую, что есть аспект, который не был затронут здесь: различие между отредактированными фрагментами HTML и сгенерированными фрагментами HTML.
Для редактирования человеком, вероятно, лучше и проще поддерживать наличие стилей в файле.
Однако
Как только вы начнете генерировать элементы HTML, с помощью серверных сценариев или с каким-либо JavaScript, обязательно сделайте все стили необходимые для базовой функциональности встроенными!
Например, вы написали какую-то библиотеку JavaScript, которая генерирует всплывающие подсказки. Теперь вы будете вставлять DIV на свою страницу, для этого потребуются некоторые стили. Например, position: absolute
и, первоначально, display:none
. Вы можете испытать желание дать этим элементам класс .popup
и потребовать, чтобы этот класс имел правильные определения в каком-то файле CSS. В конце концов, стили должны быть указаны в файле CSS, верно?
Вы сделаете свою библиотеку JavaScript очень раздражающей для повторного использования, потому что вы больше не можете просто копировать и вызывать один .js
файл и покончить с этим. Вместо этого вам нужно будет скопировать файл .js
, но также убедиться, что все стили, требуемые сценарием, определены в вашем файле CSS, и вы должны искать их, и убедиться, что их имена не конфликт с классами, которые у вас уже есть.
Для максимальной простоты использования просто выберите нужные стили непосредственно на элементе при его создании. Для стилей, предназначенных исключительно для эстетических целей, таких как background-color
, font-size
и т. Д., Вы все равно можете прикрепить класс, чтобы дать потребителю вашего сценария простой способ изменить внешний вид элементов сценария, но не это не нужно!