Я должен использовать больше чем один лист CSS?

Я обновляю веб-сайт для добавления некоторых мобильных дружественных страниц.

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

Я довольно плохо знаком с CSS, какова лучшая практика?

16
задан Robert 17 June 2010 в 16:15
поделиться

11 ответов

да, вы должны использовать несколько файлов css, а не один большой файл. Это поможет вам при поддержке сайта, также используйте разные определения (имена классов или id) в разных css, иначе он возьмет тот, который был объявлен позже. Например

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
   <html>
     <head>
        <link href="/stylesheets/stylesheet.css" media="screen" rel="stylesheet" type="text/css" />
        <link href="/stylesheets/lightbox_new.css" media="screen" rel="stylesheet" type="text/css" />
        <link href="/stylesheets/another_css.css" media="screen" rel="stylesheet" type="text/css" />
      </head>

      <body>
         <!-- Your content here -->
      </body>
  </html>
4
ответ дан 30 November 2019 в 16:09
поделиться

Использовать отдельные таблицы стилей для разных носителей легко.

<link href="browser.css" media="screen" rel="stylesheet" type="text/css" />
<link href="mobile.css" media="handheld" rel="stylesheet" type="text/css" />
<link href="print.css" media="print" rel="stylesheet" type="text/css" />

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

Однако есть еще один метод, который удобен, если ваше приложение разработано для мобильных устройств, поскольку оно загружает таблицу стилей ТОЛЬКО при совпадении типа носителя.

<style type="text/css" media="screen">
  @import "screen.css"; /* Note that some (older?) browsers don't support @import, so you may have to download this sheet the traditional way even on mobiles */
</style>
<style type="text/css" media="handheld">
  @import "mobile.css";
</style>
<style type="text/css" media="print">
  @import "print.css";
</style>
4
ответ дан 30 November 2019 в 16:09
поделиться

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

1
ответ дан 30 November 2019 в 16:09
поделиться

Сгруппируйте свой CSS осмысленно и внимательно его обслуживайте.

Например, если у вас есть CSS, который применяется на всем сайте (например, сброс CSS), сделайте его отдельным файлом и включите его для каждой страницы.

Затем для каждого логического компонента вашего сайта создайте отдельный файл CSS и разместите его на страницах, принадлежащих соответствующему логическому компоненту.(Допустим, у вас есть блог и опросы на вашем сайте, если блогу никогда не нужен CSS для опросов, вам не нужно включать его в блог.) Но помните, что это непрактично для небольших сайтов.

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

Имейте в виду, что большее количество листов предполагает большее количество HTTP-запросов, и каждый запрос требует определенного количества времени.

Таким образом, нет явного способа обработки этих вещей, все дело в том, чтобы упростить поддержку вашего CSS и облегчить загрузку для клиента (меньше HTTP-запросов, меньший размер и т. Д.)

1
ответ дан 30 November 2019 в 16:09
поделиться

Я думаю, что лучше использовать 1 для стиля, 1 для ie6, один для ie7. Больше ничего. Внутри style.css организация должна быть автоматической. Использование логических имен классов и комментариев.

Меньше httprequest - это хорошо. Меньше разметки - хорошо. :)

0
ответ дан 30 November 2019 в 16:09
поделиться

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

4
ответ дан 30 November 2019 в 16:09
поделиться

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

1
ответ дан 30 November 2019 в 16:09
поделиться

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

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

17
ответ дан 30 November 2019 в 16:09
поделиться

У вас должен быть набор таблиц CSS для различных задач, иначе все быстро запутается!

1
ответ дан 30 November 2019 в 16:09
поделиться

У меня есть несколько таблиц стилей для всех значительных приложений, над которыми я работал.

  • base.css - применяется всегда.
  • print.css - скрывает меню и другие части экрана, не очень подходящие для печатной страницы. Запускается атрибутом media.
  • ie6.css - применяется вторым, и если и только если это IE6. Я надеюсь когда-нибудь выкинуть это.
  • .css - одна таблица стилей для каждого клиента, который хочет, чтобы на сайте был их логотип/etc.

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

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

10
ответ дан 30 November 2019 в 16:09
поделиться

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

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

0
ответ дан 30 November 2019 в 16:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: