А вы совершаете эти 10 CSS-ошибок?
Работа с CSS может казаться нескончаемой борьбой. Браузеры всегда меняют способ чтения кода, и кажется, что есть множество мелких CSS штучек. Хотя это и невероятно мощный язык, он легко может использоваться неправильно, и обрести интересный проект влачить инвалидное существование. Давайте набираться ума!
1. Игнорирование совместимости с разными браузерами.
Это, видимо, самая основная проблема при веб-разработке, когда вам необходимо добиться, чтобы ваш сайт выглядел одинаково, каким бы браузером его не открывал пользователь. Этот факт часто травит душу: есть разница между тем как обрабатывает код Internet Explorer, собирая страницу, и например, Firefox.
Для веб-разработчика просто работать в любимом браузере и не заботиться о других распространённых браузерах, потому что в большинстве случаев разница не видна. Хотя есть проверенные и точные методы как предотвратить различия в отображении сайта браузерами, лучший способ всё таки использовать снимки Browsershots. Сервис Browsershots предоставляет аккуратные снимки экрана открsnbz вашего сайта разными браузерами на разных платформах, позволяя вам посмотреть и предотвратить возможный пугающий вид вашего сайта в каком то браузере.
2. Не принимают в расчёт маленький размер браузера.
В основном у вебразработчиков широкие мониторы – и мы горды этим – но какая-то часть посетителей вашего сайта может не разделять ваше настроение. Можно посмотреть статистику какими браузерами открывали сайт и подивиться разбросу (Google Analytics предоставляет такую возможность подивиться). Однако, есть огромная разница в том, как выглядит дизайн на разрешении 1024×768 пикселей и 800×600. Даже красивейшее оформление пожет подиспортиться и стать уродливым.
Расчёт и на меньшие размеры означает, что все посетители будут счастливы и найдут то, что ищут у вас.
3. Отвержение фреймворков (Frameworks - каркасы).
Если вы разрабатываете CSS-макеты из кусков, возможно вы задавались вопросом, почему так. Под солнцем нет ничего нового, также и в случае с CSS. Существует множество CSS фреймворков, как Blueprint framework и 960 CSS Framework. Они сделаны, чтобы помочь вам строить правильно макеты. Эти шаблоны имеют кроссбраузерную совместимость и строго тестировались. Действительно, пока вы не создаёте чего-то радикально нового, просто используйте CSS фреймворки.
Зачем изобретать колесо?
4. Не используем Универсальные классы?
Конечно проще не загадывать вперёд, когда мы создаём сайты. Но часто мы обзываем наши CSS-классы по разному в разных разработках, в то время как куда более проще создать простой класс, который мы сможем потом использовать, не залезая в дальний ящик. И тогда мы будем уверены, что дизайн не будет оставаться таким каким мы задумали.
Вы можете использовать Универсальный класс, например:
.right{float:right}
Чтобы вещи выравнивались правильно. Тогда вы задаёте стиль блока DIV ID, например:
<div id="block_text" class="right"></div>
Я обычно использую по крайней мере 3 универсальных класса, когда составляю макет:
.clear{clear:both} .right {float: right} .left{float:left}
5. Валидный (грамотный) HTML
Спорю, что вы не знали о том, что проверка вашего HTML кода может также влиять на ваш CSS, не так ли? Первое и главное: вы не можете проверить ваш CSS на валидность, пока не проверили HTML. Второе, много случаев, когдо проблемы именно в HTML, а не в CSS. Не закрыли DIV здесь, не прописали правильно название CSS класса… всё что угодно может быть.
6. Проверка CSS на валидность (корректность).
Раньше я постоянно тревожил друга a friend , чтобы он помог с проблемами CSS, которые портили мои макеты. Он всегда спрашивал меня “Этот CSS корректен? если нет, то какие проблемы?” Скоро я приучил себя проверять код validate the CSS перед тем, как просить Томаса помочь, и обычно проверка показывала мне проблемы. Если ваш CSS код проходит проверку на валидность, скорее всего он будет совместим с браузерами и не испортит внешний вид сайта.
7. Гигантские фоновые картинки
Очень частоа молодые дизайнеры вставляют большие картинки фоном в свои макеты. Например, 3,000px X 5,000px , чтобы охватить все возможные размеры браузеров . Вместо этого можно использовать повторяющуюся маленькую картинку с некоторой магией CSS. Разница велика: вместо загрузки 200 Кб картинки, загружаться будет картинка весом несколько байтов и множиться с помощью CSS.
8. CSS для всего
Когда люди только узнают о CSS-технологии, они очень рады и хотят повсюду её применять, даже там, где это неоправданно лишне.
Как вебразработчики мы хотим использовать технологию для чего-то лучшего и сложного, в то время как дело решается гораздо проще обычными средствами. Например, иногда проще использовать таблицу а не блоки div? которые замучаешься выравнивать как надо. Нам следует помнить, что мы используем CSS чтобы ускорить затраты по времени на вёрстку . Когда это замедляет нас, наверное мы переборщили.
9. Встроенный (Inline) CSS
Особый грех для вебразработчиков, и встречается чаще, чем вы думали. Если вы создаёте дизайн, вы бы хотели всегда держать отдельно ваши CSS и HTML. Но так приходится каждый раз лезть в стили и менять код и там, потом менять HTML шаблон.
Вместо этого используйте (в случае отладки, или теста):
<a href="somewhere.html" style="float: right; color: rgb(51, 51, 51);">link</a>
Разделить стили и дизайн, создав класс:
<a href="somewhere.html" class="link_style">link</a>
10. Избыток CSS файлов.
Вы когда нибудь видели дизайн с 12 разными CSS файлами вызываемыми в макете? Это кошмар длялюбого, кто захочет вносить изменения в них. А также это замедляет загрузку, так как браузер тратит время на запрос каждого файла в отдельности. Лучше использовать простой CSS - один или два файла. Время на подгрузку 12 файлов и одного - разные значительно. Никому не захочется открывать все 12 файлов и искать нужный стиль!
almix
Разработчик Loco, автор статей по веб-разработке на Yii, CodeIgniter, MODx и прочих инструментах. Создатель Team Sense.
Вы можете почитать все статьи от almix'а.
- 0 Twitter Bootstrap Carousel Crossfade (09.09.2013)
- 0 Inline-block vs float (22.08.2013)
- 0 Список li в две колонки (CSS) (13.03.2013)
- Выдвигающаяся из значка форма поиска на сайте (27.11.2017)
- Выравниваем div внутри другого div по центру (27.11.2017)
- Пробелы между пунктами меню (16.11.2017)
- Как убрать placeholder при клике по input (04.11.2017)
- Выравнивание изображения по центру в Bootstrap (11.12.2016)
- Замена текста при наведении на него мышью. События onmouseover и onmouseout (25.03.2016)
- Прилипание блока к верху сайта при его прокручивании (17.02.2016)
- Как сделать какую-либо область на сайте кликабельной ссылкой? (11.08.2015)
- Красивое выравнивание характеристик на странице товара с отступами, отмеченными точками (11.07.2015)
- Сделать слайдер на Owl Carousel c текстом справа (03.02.2015)
- Скролл-эффекты CSS3 и JQuery при прокрутке страницы (13.01.2015)
- Отзывчивый или Адаптивный веб-дизайн (Responsive Web Design) (05.01.2013)
- Как сделать, чтобы в теге <pre> текст переносился по строкам (wrap text in pre tag)? (15.10.2012)
- Разные стили для внутренних и внешних ссылок (07.04.2012)
- Значок рубля для сайта (25.03.2012)
- Свои стили css для области редактора CKEditor (05.03.2012)
- Yii: Красим нечётные и чётные строки в CListView разными цветами с помощью css (23.02.2012)
- CSS Font-Size: em / px / pt / percent (17.01.2012)
- Делаем тень к тексту на CSS. Обводка текста с помощью CSS (14.12.2012)
- Делаем градиент к тексту, используя CSS (23.10.2011)
- CSS-cвойство z-index: подробный обзор (23.10.2011)
- CSS: свойство visibility: hidden и visibility: visible (23.10.2011)
2 комментариев