2016-11-13 4 views
0

У меня есть страница index.html и файл style.css.Где css перейти на страницу .html?

У меня есть класс стиля под названием .slider и класс стиля под названием .logo. Должен ли я помещать как .slider, так и .logo на страницу style.css, или я должен поставить .slider в index.html и .logo внутри .css?

Я спрашиваю об этом, потому что я не знаю, должен ли я ставить стили, относящиеся только к одной странице в глобальном стиле style.css, или я должен просто добавить его в строку на странице, к которой он относится?

ответ

1

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

2

Обычно вы вставляете css, который зависит от страницы. Вот как я делаю свою CSS:

Глобальный CSS (отдельный файл (ы)):

<link type="text/css" rel="stylesheet" href="css/style.css" media="all" /> 

ПРИМЕЧАНИЕ: В современном мире веб мы используем кучу плагинов/тем и эти плагины/темы, как правило, развертывают более новые версии, поэтому, когда вы переопределяете эти плагины/темы, обязательно создайте файл css, специфичный для этой темы.

Например,

Bootstrap 3,1

<link href="/css/bootstrap.3.1.css" rel="stylesheet" type="text/css"> 

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

<link href="/css/bootstrap.overrides.css" rel="stylesheet" type="text/css"> 

Page конкретные C (встроенный):

<head> 
<!-- last element in head //--> 
<style type="text/css"> 
     .pageSpecific 
     { 
     color: red; 
     } 

    </style> 
</head> 

Когда я нахожусь в стадии разработки или HTML элемент не требует классификации CSS.

Простой формат стиля (встроенный):

<th style="min-width: 65px;">Column Header</th> 

Вы можете иметь печати конкретные CSS, а также:

<link href="/css/print.css" rel="stylesheet" type="text/css"> 

и внутри этого файла обернуть CSS, как, например:

@media print{ 
<!-- print specific css here//--> 
} 

Имейте в виду, что вы можете использовать css classifcation позже, когда это может показаться специфичным для страницы. Всегда используйте код для повторного использования!

Наконец:

Мне нравится использовать css minifier, когда я кладу файл (ы) в производство.Я делаю то же самое с файлами javascript, используя UglyJs. Существует также LESS css, который вы можете использовать, но на данный момент я придерживаюсь этих простых соглашений или чего-то подобного.

+0

Почему вы используете 'media = all'? Для этого редко бывает никаких оснований. Почему ваш CSS должен быть отправлен на брейк-ридер? Или печатать? Почему бы просто не использовать 'media = screen, tv, projection', так как это действительно полезно для видимого CSS? (Да, я знаю, что 'tv' и' projection' возвращает ошибку проверки - это почти не имеет значения, поскольку валидатор, похоже, забывает киоск-режим, летные ЖК-дисплеи и множество других экранов, которые не прилипают к «экрану») , – junkfoodjunkie

+0

Какова штраф за использование этого вместо '@media screen'? Я хочу, чтобы мой css переносился на мой print css, и в случае необходимости я переопределяю правила '@media print'. Думаю, я мог бы поставить «экран, печать», но опять же, каков штраф? – yardpenalty

+0

Нет штрафа, но обычно довольно много CSS, используемых для экрана, не принадлежит к печати. Обычно используется совершенно отдельный print.css, просто потому, что на обычной веб-странице много контента, который не имеет ничего общего с печатью - например, фоновые изображения, охватывающие страницу, и так далее. Форматирование часто также не особенно подходит для экрана и печатных страниц, а также для других элементов, которые вы можете скрыть или подчеркнуть по-разному. Конечно, это немного зависит от сайта, но в большинстве случаев экран CSS бесполезен в печати, и наоборот. – junkfoodjunkie

2

Стили могут находиться в одном из трех мест.

  1. Инлайн на самом элементе
  2. В HTML страницы
  3. В отдельном файле

Я хотел бы предложить либо положить его в <style> тег в <head> вашего HTML или положить его в отдельном файле, либо будет работать так же хорошо. Очевидно, что наличие стилей в отдельном файле означает, что вы можете повторно использовать эти стили на другой странице, если это необходимо.

-2

У вас НИКОГДА не должно быть встроенного или встроенного CSS. Все должно идти в таблице стилей (из которых вы должны иметь только один для медиа-типа) - почему? Поскольку таблицы стилей кэшируются, а кеш лучше удержать, чем HTML-файлы (которые также могут быть кэшированы, но с динамическим контентом, они часто загружаются гораздо чаще, чем CSS).

Во-вторых, это кошмар для обновления и изменения, если не все в одном файле.

+2

Неправда. Иногда вы выделяете файлы css для одного и того же проекта. Не говоря уже о том, что при создании темы, такой как bootstrap, вы хотите, чтобы все ваши переопределения находились в одном файле css. Очень легко найти, где ваш формат стиля поступает из инструментов разработчика вашего браузера. Inline Я могу согласиться с этим, но не встроенным css. Нет ничего плохого в встроенном CSS.Я не хочу, чтобы каждая загрузка страницы загружалась через css, которую она никогда не будет использовать, даже если стоимость минимальна. – yardpenalty

+0

Во-первых, вы НИКОГДА не используйте дерьмо, как Bootstrap. Это чистый и полный мусор, перегружая как HTML, так и CSS с помощью слишком большого кода. Во-вторых, стоимость добавления CSS в один файл минимальна, и нет смысла их разделять - CSS-файл всего сайта должен быть не более 50 КБ, и это абсолютный максимум, все включено. Кроме того, если вы используете SCSS/SASS или LESS, все, что разделено во время dev, и выполняется после рендеринга, прост. – junkfoodjunkie

+1

Итак, если вы не используете bootstrap, то как вы реагируете на отзывчивость? Я согласен, что bootstrap имеет тонну пуха, но мое время загрузки страницы не страдает, используя его. У меня нет времени писать индивидуальный стиль для моего магазина, и я тоже этого не хочу. Просто любопытно, как вы реагируете на отзывчивость. – yardpenalty

Смежные вопросы