Каковы наилучшие сценарии использования CSS-фреймворка? Когда лучше «свернуть свой» CSS с нуля, чем использовать фреймворки?
Каковы наилучшие сценарии использования CSS-фреймворка? Когда лучше «свернуть свой» CSS с нуля, чем использовать фреймворки?
Ответы:
Фреймворки CSS немного сложны, потому что для меня они не являются фреймворками. Это просто предопределенные классы. Но это не ваш вопрос.
CSS-фреймворки отлично подходят для макетов и каркасов. Я не рекомендовал бы использовать их на живом сайте, потому что они добавляют бессмысленные классы к вашей разметке. «.span3» ничего не говорит мне о контенте, только дизайн.
Тем не менее, у blueprint есть несколько классных инструментов, которые помогут вам объединить классы фреймворка и ваши семантические классы, как только вы закончите.
Я всегда использую свой собственный CSS.
Просто избегайте их, они только раздражают.
Особенно этот.
* { margin:0; padding:0; }
Моя самая большая жалоба заключается в том, что если вы наследуете / поддерживаете сайт, использующий перезагрузку и / или структуру, вы должны изучить эту структуру, прежде чем сможете изменить сайт.
Когда я добавляю тег h1, я ожидаю определенных вещей. При большинстве сбрасываний удаляются все отступы, поля, блоки и т. Д., Поэтому тег h1 больше не работает так, как должен по умолчанию. Поэтому я должен вернуться и добавить все, что было в первую очередь.
Вообще (по моему опыту) это люди, которые не понимают CSS, которые используют перезагрузку и фреймворки, и это вызывает больше работы для людей, которые делают.
* {margin:0; padding:0;}
является наиболее важным сбросом CSS из всех. Он удаляет margin-top/maring-bottom
под всеми тегами, даже p
теги, так что после вы не увидите огромное пространство между каждой строкой. Даже этот сайт, вероятно, использует, p {margin:0;}
иначе браузер будет жить огромное пространство между каждой строкой. Мне интересно, как вы можете сказать, что они раздражают.
Я также рекомендую использовать reset.css от Эрика Мейера, но я думаю, что CSS-фреймворки могут быть полезны для верстки. Blueprint, YUI grid и 960-grid могут помочь вам в создании очень сложных макетов без написания CSS.
Хотя были упомянуты недостатки, то же самое можно сказать и о создании веб-сайта на основе CMS, а не накатывании пользовательского кода, например, но они все же могут быть полезны, и для многих сайтов полученные преимущества перевешивают любые посторонние CSS или проблемы с производительностью.
Если вы на самом деле реализуете собственный дизайн, вы собираетесь написать собственный CSS (если кто-то другой не написал именно тот дизайн, который вам нужен).
Предполагая, что вы пишете свой собственный CSS, «фреймворки» могут быть полезны, когда у вас есть стили, которые:
Для действительно простых стилей лучше использовать классы, чтобы указать, что что- то (например class="navigation"
), а затем определить его внешний вид, применяя правила стилей к этому классу в вашей таблице стилей.
Но для более сложных стилей, которые не обязательно привязаны к какому-либо одному элементу (например, стили, связанные с компоновкой, тип, который фреймворки присваивают именам .span3
), нет ничего плохого в том, чтобы поместить их в класс и применить этот класс в CSS. Вы можете использовать оба подхода вместе.
На больших и более сложных сайтах, где элементы могут комбинироваться непредсказуемым образом, подход, подобный фреймворку, действительно может помочь в управлении вашим кодом.
Я бы сказал, что вы могли бы также написать свою «рамку». Я поместил «каркас» в кавычки, потому что CSS на самом деле не такой уж большой язык. Вы можете прочитать CSS: The Definitive Guide (Eric Meyer) за день, а затем прочитать весь код, например, Blueprint (CSS-фреймворк) и в значительной степени понять, что происходит. Возможно, вам придется немного изучить обходные пути IE, но мы говорим, по крайней мере, на порядок меньше сложности, чем, например, jQuery здесь.
Я использую план, для CSS.
CSS, как все говорят выше, действительно прост.
Однако на самом деле вы должны рассмотреть платформу.
С CSS движок рендеринга добавляет сложности.
Геккон против WebKit против Presto против Trident ... кто хочет делать все эти вещи?
Что дает вам «фреймворк», так это возможность писать макеты, которые, скорее всего, будут работать во всех браузерах, так что вам не придется искать в Google «WTF-am-I-do = -this-crap» IE 7 quirksmode исправить, или что-то похожее смешно.
Frameworks сделает 90% макета, который вы хотите, и затем вы всегда сможете добавить свои собственные стили позже.
Поэтому, чтобы ответить на вопрос, я бы сказал, выберите любой каркас и посмотрите, работает ли он для вас. Это просто возможно. Тогда вы золотые и можете вернуться к тому, что вы действительно хотели сделать. Если нет, то расширьте его, используя css, и измените то, что не сработало. Таким образом вы сохраняете преимущества кросс-браузера, но все же можете настраивать их.
В качестве небольшого преимущества, если вы выберете один и будете использовать его все время, а затем заболеете или получите повышение по службе и должны будете обучать своего преемника, вы можете сказать:
«Да, я использовал фреймворк ABC. Документы здесь. Код здесь. Обучение окончено. Удачи».
Когда это решает все ваши потребности . (Это основано на идее пошива .)
Из единственной книги по фреймворкам? http://www.oreilly.com/web-platform/free/book-of-html-css-frameworks.csp . (Только ссылки, потому что это бесплатно и актуально здесь.)