Всегда ли плохая идея использовать встроенный CSS для свойства бывшего в употреблении? - PullRequest
4 голосов
/ 28 мая 2010

У меня есть таблица с 10 столбцами. Я хочу контролировать ширину каждого столбца. Каждый столбец уникален, сейчас я создаю внешний стиль CSS для каждого столбца:

div#my-page table#members th.name-col
{ width: 40px; }

Я знаю, что лучше избегать встроенного стиля. Я одобряю использование внешнего CSS для всего, что связано с внешним видом: шрифты, цвета, изображения. Но действительно ли лучше использовать внешний CSS в этом случае?

Не требует дополнительных затрат на обслуживание.
Это легче производить.

Минусы, которые я могу придумать:
Если у вас есть отдельные дизайнеры и команда разработчиков - использование встроенных стилей заставит дизайнеров модифицировать контент-файл (aspx в моем случае). может использовать большую пропускную способность.

Что-нибудь еще, что я пропустил?

ВАЖНО: Я спрашиваю о только одном конкретном случае, когда используемый стиль будет когда-либо применяться только к одному элементу и не является частью глобальной темы, например, ширина один конкретный столбец.

Ответы [ 2 ]

2 голосов
/ 28 мая 2010

Есть много причин, по которым style="" это плохо. Я считаю это ошибкой везде, где я сталкиваюсь с этим в моей кодовой базе. Вот несколько причин:

  1. style= имеет более высокий приоритет, чем другие селекторы CSS, что затрудняет внесение изменений в таблицу стилей; таблица стилей должна работать усерднее, чтобы переопределить их.
  2. style= правила трудно найти в коде, когда нужно внести глобальные изменения.
  3. Вы загружаете этот код CSS при каждом просмотре страницы.
  4. Если у вас есть несколько таблиц стилей для одной и той же кодовой базы HTML, ваш стиль = правила не являются частью таблицы стилей и поэтому не могут быть изменены.

Однако, если вы генерируете контент и вам сложно описать этот контент в статическом файле CSS, вам также может понадобиться сгенерировать CSS, чтобы соответствовать этому контенту. Часто проще просто создать style= правила, несмотря на недостатки. Если, однако, ваш сгенерированный контент может быть легко описан в файле CSS, потому что сгенерированная структура не часто меняется, или потому что вы можете легко генерировать HTML И файл CSS одновременно, то, вероятно, лучше не использовать style=.

Некоторые предложения по альтернативам style=, которые могут быть уместны:

  1. Вместо встроенных стилей используйте имена классов. Хорошо работает, если в вашей таблице много столбцов, которые имеют одинаковые свойства и которые, как вы ожидаете, всегда будут иметь одинаковые свойства. Тогда ваша таблица стилей может оставаться фиксированной, пока ваш HTML-код является изменчивым, поскольку CSS ссылается только на классы. Вероятно, именно такой подход я бы использовал.
  2. Используйте JQuery или какую-либо другую библиотеку javascript для программного оформления ваших объектов после загрузки страницы.
1 голос
/ 28 мая 2010

Легче производить - не совсем верный аргумент - людям нравится разбивать огромные порции кода на более мелкие порции - то же самое с кодом и разметкой.

Тем не менее: + Нет дополнительного соединения HTTP (если вы все равно уже загружаете файл .css) - Каждый раз, когда страница отправляется, этот CSS отправляется с => больше полосы пропускания - Дизайнеры должны изменить CSS в коде приложения (плохая практика)

Как правило, вы не должны - если это не очень хорошо продуманная настройка производительности, как Google делает .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...