Встроенные стили для одноразовых? - PullRequest
9 голосов
/ 23 июня 2010

Вы, ребята, когда-нибудь использовали встроенные стили для одноразовых?

Например, я хотел, чтобы только один определенный список на моем сайте использовал буквы:

<ol style="list-style-type:lower-alpha">

Это действительно так плохо? Или вы бы ударили по идентификатору, а затем закопали его в свой большой мастер-файл CSS, где будет трудно найти его снова?

Ответы [ 11 ]

6 голосов
/ 23 июня 2010

Представление вашей проблемы выявляет еще одну проблему, которая влияет на ваше решение: либо встроите стиль, либо скройте его в большом файле CSS .

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

Определение встроенных правил стилей менее болезненно, чем поддержка большого файла CSS. Проблемы, с которыми вы сталкиваетесь с большим файлом CSS, будут только усугубляться по мере роста проекта.

Вам нужно разбить большой CSS-файл на набор более управляемых CSS-файлов.

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

Набор файлов CSS проще для вас, отдельный файл CSS лучше с точки зрения производительности конечного пользователя.

Устранить эти две противоречивые потребности несложно: разработайте с помощью набора CSS-файлов, и ваш процесс сборки объединит их в один (свернутый!) CSS-файл.

5 голосов
/ 23 июня 2010

Нет, то, что вы сделали, правильно. Встроенные стили предназначены для использования только один раз. Конечно, я нахожу много раз, что это более (ab) используется.

3 голосов
/ 23 июня 2010

Нет ... никогда не делай этого. Везде, где вы думаете, есть один раз, просто за углом скрывается два раза. Тогда три. Тогда четверка.

Потратьте еще 60 секунд, чтобы сделать это правильно - вы и все, кто следит за вами с обслуживанием, будут рады, что вы сделали.

1 голос
/ 19 мая 2017

Я делаю это, но строго только со следующими правилами:

1) Правило встроенного стиля должно иметь ровно одно свойство

<!--// Acceptable --//-->
<ol style="list-style-type:lower-alpha">

<!--// No!!! --//-->
<ol style="list-style-type:lower-alpha; font-weight: bold; ">

2) Любой элемент с правилом встроенного стиля не может содержать любых дочерних элементов, имеющих правило встроенного стиля.

<!--// Acceptable --//-->
<ol style="list-style-type:lower-alpha">
    <li>Item One</li>
    <li>Item Two</li>
</ol>

<!--// No!!! --//-->
<ol style="list-style-type:lower-alpha;">
    <li>Item One</li>
    <li style="font-size: small;">Item Two</li>
</ol>

<!--// Instead (example) --//-->
<ol class="product-details">
    <li class="shortdesc">blah blah</li>
    <li class="longdesc">Blah Blah Blah</li>
</ol>
1 голос
/ 24 июня 2010

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

Аргумент, что «CSS - это то, где я ищу стили», просто означает, что вы ленивы.

Аргумент, что кому-то понадобятся часы, чтобы найти его, если он будет встроенным, а не в CSS, означает, что он не очень хороший веб-разработчик.

Аргумент, который кто-то другой захочетглобально изменить стиль, скажем, "

" позже и пропустить этот экземпляр, на самом деле хорошая причина TO встроить его.Если вы знаете, что хотите, чтобы это был уникальный стиль, то сделайте это, используя специфичность вашего CSS или встроенного кода, но я голосую за последний.
1 голос
/ 23 июня 2010

Я бы поместил его в класс, но определил класс встроенным CSS на странице. Затем, если вам нужно расширить его для использования в другом месте, вы можете просто переместить класс в общий файл CSS.

Кроме того, я согласен с другим ответом, отметив, что Firebug или аналогичный может отследить, откуда берется какой-то конкретный образец стиля, так что получается "откуда это? очевидное больше не является серьезной проблемой в моей книге. Это хорошо делать, когда это тривиально, но не стоит тратить время на другие меры.

1 голос
/ 23 июня 2010

Для меня причина № 1 всегда избегать встроенного моделирования - это предсказуемость в больших проектах, в которых участвуют несколько дизайнеров / разработчиков.

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

Но если вы единственный человек, поддерживающий этот проект ... продолжайте!

1 голос
/ 23 июня 2010

Я бы все равно поместил его в файл как class, если это то, что вы делаете везде.Представьте, что кто-то еще пытался найти этот стиль в главном CSS-файле и часами искал что-то, чего там не было.

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

0 голосов
/ 23 июня 2010

Вы все равно должны поместить его в файл CSS. У меня есть ментальная модель, которая говорит, что стиль = CSS. Если бы его не было в CSS, я бы, честно говоря, запутался.

Кроме того, что если вы снова захотите использовать этот стиль? Я имею в виду, что вы говорите, что это для одного предмета, но кто знает.

Это просто хорошая практика использовать css / классы, и это обычно окупается.

0 голосов
/ 23 июня 2010

Я бы class это. Если сайт однажды будет унаследован кем-то другим, сделайте ему одолжение и оставайтесь последовательными Кроме того, это будет легче изменить, если однажды вы решите, lower-alpha больше не работает для вас.

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