• Регистриция
Этап применения умений и навыков.
Плохой специалист винит не себя, а инструменты, которыми он пользуется. Поэтому убедитесь в том, что ваше прог...
Этап финальной доводки.
Именно внимание к деталям отличает хорошую работу от великолепной. Вот несколько советов как «добавить изюм...
Фиксированный размер шрифта на Ваших веб-страничках
Вы когда нибудь задумывались о том, как выглядят ваши веб-странички на других компьютерах? Наверняка задумыв...
Этап финальной доводки.
Именно внимание к деталям отличает хорошую работу от великолепной. Вот несколько советов как «добавить изюм...
Секреты индексации сайта. Сайт может и должен работать. Пример №2
Звонит скептически настроенный знакомый и рассказывает "ужасную" историю. Сфера деятельности - бытовая элект...
При создании дизайна для Сети вам нужно принять к сведению, что контент будет меняться. О том, чтобы тратить в...
Плохой специалист винит не себя, а инструменты, которыми он пользуется. Поэтому убедитесь в том, что ваше прог...
Памятка по CSS

CSS Crib Sheet

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

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

Данный документ переведен на французский, немецкий, испанский, итальянский, венгерский, финский, русский, японский и китайский языки.
Что-то не так? Проверьте код валидатором!
При отладке своего кода вы сэкономите уйму времени и нервов, если в первую очередь проверите его валидатором. Чаще всего проблемы с компоновкой страницы вызваны неверным XHTML или CSS.
Создавайте и тестируйте свой CSS-код сначала в современных "продвинутых" браузерах, и лишь затем - в остальных, но не наоборот
Если вы тестируете сайт в некачественном браузере, ваш код начинает зависеть от неправильного отображения этим браузером. Когда настанет время проверить сайт в браузерах, верно поддерживающих стандарты, вы наверняка огорчитесь увиденным. Таким образом, начните с передовых браузеров, а потом добавляйте к коду трюки для менее удачных. Таким образом ваш код с самого начала будет соответствовать стандартам, и вам не придётся слишком много "колдовать" для поддержки других браузеров. Сегодня самыми передовыми браузерами являются Mozilla, Safari, или Opera.
Удостоверьтесь, что желаемый эффект действительно существует.
Существуют расширения CSS, специфичные для конкретных браузеров, но не входящие в официальную спецификацию каскадных таблиц. Если вы пытаетесь применить свойство filter или отформатировать внешний вид полосы прокрутки, знайте - вы используете специфичный код, работающий только в IE. Если валидатор вдруг пишет вам, что ваш код не соответствует спецификации, скорей всего это из-за того, что в нем присутствует такое специфические расширение, и оно не будет работать в других браузерах.
Применяя плавающие блоки, убедитесь в том, что они не мешают соседям
"Плавающие блоки" коварны, и они не всегда ведут себя так, как ожидается. Если вдруг получилось так, что плавающий блок вылезает за пределы содержащего его элемента, или же он ведет себя не так, как вы хотите - удостоверьтесь в корректности того, чего вы хотите добиться. Обратитесь за подробностями к руководству Эрика Мейера.
Поля (margins) всегда "сворачиваются". Пользуйтесь вместо них отступами (padding) или границами
Если у вас вдруг появляется пустое пространство там, где оно вам не нужно, или наоборот - нету свободного пространства там, где оно вам нужно, это скорей всего происходит из-за полей (margins), которые имеют привычку "сворачиваться". Andy Budd в своей статье описывает этот глюк и дает советы, как его избежать.
Старайтесь не задавать элементу одновременно отступ/границу И фиксированную ширину
IE5 неправильно реализует блочную модель CSS, из-за чего ваша страница может превратиться в кашу. Существует несколько уловок обойти этот глюк, но лучше всего вообще с ним не связываться: задавайте нужный отступ в родительском элементе, а фиксированную ширину - в дочернем.
Как избежать мелькания чистого HTML в IE
Если вы используете внешнюю таблицу стилей, подключая ее с помощью директивы @import, то рано или поздно вы заметите, что IE успевает "сверкнуть" на экране неформатированным HTML прежде, чем применит к нему стили. Эту проблему можно решить следующим образом.
Не используйте min-width в IE
Он не поддерживает это свойство. Но он рассматривает width как min-width в некоторой степени, поэтому с помощью небольшого фильтра для IE, вы можете получить точно эффект min-width в IE.
Если что-то не так, уменьшите ширину
Иногда из-за погрешностей округления сложение вида 50% + 50% даёт в итоге что-нибудь типа 100.1%. Это приводит к тому, что заботливо созданная вами вёрстка "расползается" в некоторых браузерах. Лечится просто: уменьшайте ширину с 50% до 49% или даже 49,9%.
IE показывает все не так, как надо?
Возможно, вы напоролись на знаменитый "Peekaboo bug", особенно если баг проявляется при наведении курсора на ссылку. Смотрите решение в статье "Позиция - это наше всё!"
Будьте осторожны, задавая стили для "якорей"
Если в своем коде вы используете классические якоря (), то скоро заметите, что они тоже реагируют на псевдо-классы :hover и :active. Избежать этого можно, применив к якорям id, или же применяя для них слегка извращенный синтаксис типа :link:hover, :link:active
Помните о порядке описания ссылок.
Задавая псевдоклассы для ссылок, делайте это всегда вот в таком порядке: Link, Visited, Hover, Active (запомните этот порядок с помощью слов "LoVe/HAte"). Любые другие комбинации не работают так, как надо. Если требуется использовать также и псевдокласс :focus, то порядок описания будет таким: Link, Visited, Hover, Focus, Active (LVHFA для запоминания чего Мэтт Холи придумал фразу "Lord Vader's Handle Formerly Anakin")
Помните о правиле "TRouBLEd" для границ.
Значения для границ, полей (margins) и отступов (padding) сокращённо описываются в таком порядке: по часовой стрелке в направлении Top, Right, Bottom, Left (верхнее, правое, нижнее, левое). Таким образом, запись margin: 0 1px 3px 5px; означает, что верхней границы нет, левая равна пяти пикселям ну и так далее.
Явно указывайте единицы измерения у ненулевых значений
Спецификация CSS требует указывать единицы измерения для всех величин, связанных с размерами, отступами или шрифтами (единственное исключение - line-height, как это ни странно). Поведение отдельных браузеров в ситуациях, когда единицы измерения не указаны, может быть совершенно неожиданным. Что касается ноля, то ноль есть ноль независимо от того, измерять ли его пунктами, пикселями или чем-то ещё. Единицы измерения для него не нужны. Пример: padding: 0 2px 0 1em;
Тестируйте различные размеры шрифта
"Продвинутые" браузеры типа Mozilla и Opera позволяют менять размер шрифта вне зависимости от единиц, в которых он задан. У некоторых пользователей непременно шрифты будут настроены так, что их размер в браузере окажется меньше или больше вашего. Пытайтесь оптимизировать ваш код под максимально возможный диапазон размеров шрифта.
Не забывайте о прописных и строчных буквах
Некоторые броузеры строго относятся к регистру букв. Если вы назвали свой класс "homePage", старайтесь и в стилевых таблицах использовать в точности такое же имя, так как в строгих броузерах (таких как Mozilla) имя "homepage" не эквивалентно "homePage".
Тестируйте, включив стили в код страницы; публикуйте в Сети, убрав стили во внешний файл.
Работая со стилями, размещёнными в HTML-коде страницы, вы не столкнетесь с возможными ошибками при тестировании, связанными с кэшированием. Это особенно важно при работе с некоторыми браузерами на Mac-платформе. Но не забудьте перед переносом сайта в сеть вынести все стили во внешний файл и подключить его через @import или .
Работая над ошибками позиционирования, добавьте блокам чёткие границы
Универсальное правило типа div {border: solid 1px #f00;} может сослужить огромную службу при поиске ошибок позиционирования. Но добавив границы для отдельных элементов, вы сможете точно определить места, где блоки залазят друг на друга или же где появляется лишнее пустое пространство, что не всегда легко обнаружить.
Не используйте одинарных кавычек в описаниях путей для изображений
Задавая путь к фоновому изображению, откажитесь от навязчивого желания заключить его в кавычки. В них нет необходимости, кроме того, IE5 для Mac на этих кавычках просто заклинит.
Не подключайте пустые внешние файлы стилей в надежде заполнить их "когда-нибудь в будущем"
IE5 для Mac заклинит на пустом файле и скорость загрузки страницы возрастёт. Вместо этого поместите в файл хотя бы одно стилевое правило (или даже просто комментарий) - и MacIE снова вернется к жизни.

Кроме того, есть некоторые аспекты теории, которые не относятся напрямую к функциональности вёрстки, но, тем не менее, их следует соблюдать при разработке:
Упорядочьте свой CSS файл
Сопровождайте каждую группу стилевых правил своим комментарием, группируйте сходные по смыслу селекторы, определите для себя правила наименования селекторов и следуйте им неукоснительно, визуально "отбивайте" селекторы пробелом (рекомендуем использовать именно пробел, а не табуляцию - это условие кроссплатформенности) и соблюдайте порядок свойств.
Именуйте классы и идентификаторы, исходя из их назначения, а не внешнего вида
Создав класс .smallblue и решив впоследствии поменять в нём текст на большой и красный, вы тем самым перечеркнёте смысл его названия. Вместо этого используйте классы типов .copyright и .pullquote. (опираясь на функциональное назначение класса)
Полагайтесь на CSS-фильтры лишь как на самое последнее средство
CSS-хаки и фильтры позволяют выборочно применять стили (или не применять - и такое бывает) к различным элементам. Избегайте применения их по любому поводу, пытайтесь найти более кроссбраузерные решения. Это порой здорово сохраняет нервы и время. На всякий случай вот огромный список CSS-фильтров.
Совмещайте селекторы
Чем легче CSS-файл, тем меньше требуется времени на его загрузку. По возможности группируйте селекторы, полагайтесь на наследование свойств, и уменьшайте объем текста, используя короткую запись свойств.
Применяя методы замены изображений, не забывайте о доступности
Классический метод замены изображения "FIR" создает проблемы при чтении страниц голосовыми браузерам, и в случаях, когда пользователь отключил загрузку изображений. Однако этому методу есть альтернативы.

 

Популярное

  • PHP. Пишем счетчик просмотров для каждой страницы сайта на php
    На некоторых сайтах часто можно увидеть следующую надпись внизу страницы или под статьями: "Всего просмотров xxx. Сегодня xx". На первый взгляд ничего примечательного...
    Пишем 'гостевую книгу' с нуля на php
    Почти на каждом более-менее популярном сайте есть форум или гостевая книга, эти элементы нужны для постоянного общения автора сайта с его пользователями. Но многие...
    Окна сообщений
    Хотя всплывающие окна это и очень эффективный метод получения новых подписчиков, есть один еще более успешный. Сочетая его с хорошим стимулом, вы в буквальном смыс...
    Собственная статистика поисковых слов (Яндекс, Рамблер, Google,...) на PHP
    В этой статья я бы хотел поделиться с вами своей новой разработкой – анализатором поисковых запросов с популярных поисковых систем, посмотреть, что это такое, и ка...
    Гостевая книга на PHP.
    В этой статье рассказывается о том, как создать гостевую книгу, описывается её структура и реализация. За пределами статьи остаются дизайн, вёрстка, оформление и т....
  • Организация CSS-файлов: Совет 1 - Флаги
    CSS Organization Tip 1: FlagsВам приходилось писать и работать с большими CSS-файлами? Мучались с бесконечным скроллингом вверх-вниз в поисках нужной части кода? CSS-файлы, с котор...
    Частые ошибки в веб-дизайне.
    Разметка текста – одна из самых важных характеристик дизайна. В большей части проектов текст доминирует, так что хорошо подобранные шрифты могут стать ключом к ра...
    Компот и мухи веб-разработки
    Русский интернет (уже наконец) вовсю осваивает “дизайн через CSS”, но многие все равно не понимают, почему именно надо дизайнить так, а не по-старому, через таблицы. Р...
    Создаем веб-дизайн на тему комиксов, Photoshop и HTML+CSS
    Давайте начнем! Для быстроты изложения я опущу объяснение основ (вроде того, как создать слой-маску или отредактировать обработчики или векторную фигуру). Вам нужн...
    HTML 4 не является языком оформления веб-страниц.
    Он является языком логической разметки страниц. Раньше, создавая HTML-документ, вы думали о том, что этот заголовок будет сделан жирной верданой золотистого цвета и о...
  • Немного о PHP.
    Интернет уже давно прочно вошел в нашу жизнь. Это смелое утверждение можно доказывать или опровергать много раз, но так или иначе все меняется, а с этим спорить никт...
    Основы написания PHP программ
    Как и в любом языке программирования в PHP есть свои правила, константы, зарезервированные слова и операторы, с помощью которых выполняются различные манипуляции с ...
    История РНР
    Начинать нужно всегда с самого простого, и сейчас я попробую познакомить Вас с программированием на скриптовом языке РНР. РНР (читается как пи-эйч-пи) появился на св...
    Особенности РНР
    Как и у всякого языка программирования, у РНР есть свой синтаксис. Он очень похож на синтаксис языка С или Perl. Программисты, пишущие на этих языках, смогут освоить РН...
    Введение в PHP
    PHP - это скриптовый язык программирования, который исполняет весь свой код на стороне сервера, а клиенту выдается только результат работы скрипта. Изначально PHP рас...

Теги

Календарь

< Ноябрь 2011 >
П В С Ч П С В
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 30        

Наши фото

Укажите свое мастерство









 

Обрати внимание

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

На заметку

Твой сайт
Изготовление сайта - штука тяжёлая и занимает кучу времени. Так что длительность прогулок под Луной с любимой девушкой, а для кого и с любимым бойфрендом, придется с...
JavaScript: очистка формы
Для очистки формы существует специальная кнопка Reset, при нажатии на которую данные формы возвращаются в исходное значение. Если ввести свои данные в форму, а затем ...