Разделы сайта
Выбор редакции:
- Стандартные способы и программы для сканирования с принтера мфу на компьютер
- Удаление и создание страниц в текстовом редакторе Microsoft Word
- Правила построения HTML-документов Лодырь rules html
- Как прослушать телефон жены
- Как удалить все в Nokia Lumia
- Samsung Galaxy Tab S2: самый тонкий флагманский планшет в мире Как работает клавиатура
- Лучшие советы: Как удалить системные приложения на Android
- Универсальный балансировочный холдер для IMAX B6
- Как починить дверной звонок Звонок db 915 не срабатывает от кнопки
- Не открывается жесткий диск, просит отформатировать: что делать?
Реклама
Вложенные правила. Правила построения HTML-документов Лодырь rules html |
С удовольствием ознакомился с этими рекомендациями и теперь предлагаю вам перевод. Введение
Это руководство описывает правила для оформления и форматирования HTML и CSS кода. Его цель - повысить качество кода и облегчить совместную работу и поддержку инфраструктуры. Это относится к рабочим версиям файлов использующих HTML , CSS и GSS Разрешается использовать любые инструменты для минификации компиляции или обфускации кода, при условии, что общее качество кода будет сохранено. Общие правила оформленияПротокол Не указывайте протокол при включении ресурсов на страницу.Опускайте название протокола (http: , https: ) в ссылках на картинки или другие медиа-ресурсы, файлы стилей или скрипты, конечно, если эти файлы доступны по обоим протоколам. Не рекомендуется:
Не используйте табуляцию и не смешивайте табуляцию с пробелами. Регистр Всегда пишите в нижнем регистре.Весь код должен быть написан в нижнем регистре: Это относится к названиям элементов, названиям атрибутов, значениям атрибутов (кроме текста/CDATA ), селекторам, свойствам и их значениям (кроме текста). Пробелы в конце строки Убирайте пробелы в конце строки.Пробелы в конце строк не обязательны и усложняют использование diff. Общие мета правилаКодировка Используйте UTF-8 (без BOM).Убедитесь, что ваш редактор использует кодировку UTF-8 без метки порядка байтов (BOM). Указывайте кодировку в HTML шаблонах и документах с помощью . Опускайте кодировку для сss-файлов: для них UTF-8 задана по умолчанию. (Вы можете узнать больше о кодировках, и о том, как их использовать, по этой ссылке: Наборы символов и кодировки в XHTML, HTML CSS (англ.) .) Комментарии По возможности поясняйте свой код, где это необходимо.Используйте комментарии, чтобы пояснить свой код: что он делает, за что отвечает, и почему используется выбранное решение. (Этот пункт не обязателен, потому что нет смысла ожидать, что код всегда будет хорошо задокументирован. Полезность комментирования зависит от сложности проекта и может различаться для HTML и CSS кода.) Задачи Отмечайте задачи для списка дел с помощью TODO .Отмечайте задачи с помощью ключевого слова TODO . не используйте другие часто встречающиеся форматы, такие как @@ . Заключайте контакты (имя пользователя или список адресатов) в круглые скобки: TODO(контакт) . Описывайте задачу после двоеточия, например: TODO: Задача . Рекомендуется:
{# TODO(Ivan Ivanov): Разобраться с центровкой #}
Тест
(Рекомендуется использовать HTML с типом контента text/html . Не используйте XHTML, так как application/xhtml+xml (англ.) , хуже поддерживается браузерами и ограничивает возможность оптимизации.) Валидность HTML По возможности используйте валидный HTML.Используйте валидный HTML код, кроме случаев, когда использование не позволяет достичь размера файла, необходимого для нужного уровня производительности. W3C HTML validator (англ.) чтобы проверить валидность кода. Валидность - это важное и при этом измеряемое качество кода. Написание валидного HTML способствует изучению технических требований и ограничений и обеспечивает правильное использование HTML. Не рекомендуется:
Проверка
Просто проверка
Используйте элементы (Иногда неверно называемые “тегами”) по назначению: заголовки для заголовков, p для абзацев, a для ссылок и т.д. Это облегчает чтение, редактирование и поддержку кода. Альтернатива для мультимедиа Всегда указывайте альтернативное содержимое для мультимедиа.Постарайтесь указать альтернативное содержимое для мультимедиа: например для картинок, видео или анимаций, заданных с помощью canvas . Для картинок это осмысленный альтернативный текст (alt ), а для видео и аудио расшифровки текста и подписи если это возможно. Альтернативное содержимое может помочь людям с с ограниченными возможностями. Например человеку со слабым зрением сложно понять, что на картинке если для нее не задан @alt . Другим людям может быть тяжело понять о чем говорится в видео или аудио записи. (Если для картинки alt избыточен, или она используется только в декоративных целях в местах, где нельзя использовать CSS, используйте пустой альтернативный текст alt="" ) Разделение ответственности Разделяйте структуру, оформление и поведение.Держите структуру (разметка), оформление (стили) и поведение (скрипты) раздельно и постарайтесь свести взаимодействие между ними к минимуму. Убедитесь, что документы и шаблоны содержат только HTML, и что HTML служит только для задания структуры документа. Весь код, отвечающий за оформление, перенесите в файлы стилей, а код отвечающий за поведение - в скрипты. Старайтесь сократить их пересечения к минимуму, включая в шаблоны минимальное количество файлов стилей и скриптов. Отделение структуры от представления и поведения помогает облегчить поддержку кода. Изменение шаблонов и HTML-документов всегда занимает больше времени чем изменение файлов стилей или скриптов. Не рекомендуется: HTML sucks HTML Отстой Я об этом и раньше где-то читал, но теперь точно все ясно:
HTML - полная фигня!!1
Не могу поверить, что для того чтобы изменить оформление,
нужно каждый раз все переделывать заново.
Я читал об этом и раньше, но наконец-то сделал сам: Использую принцип разделения ответственности и не пихаю оформление в HTML Как круто! Ссылки-мнемоники Не используйте ссылки-мнемоники.Единственное исключение из этого правила - служебные символы HTML (например < и & ) а так же вспомогательные и “невидимые” символы (например неразрывный пробел). Необязательные теги Не используйте необязательные теги. (не обязательно)Для уменьшения размера файлов и лучшей читаемости кода можно опускать необязательные теги. В спецификации HTML5 (англ.) есть список необязательных тегов. (Может потребоваться некоторое время для того, чтобы этот подход начал использоваться повсеместно, потому что это сильно отличается от того, чему обычно учат веб-разработчиков. С точки зрения, согласованности, и простоты кода лучше всего опускать все необязательные теги, а не некоторые из них). Не рекомендуется:
Тратим байты - тратим деньги.
Так-то Атрибут "type" Не указывайте атрибут type при подключении стилей и скриптов в документ.Не используйте атрибут type при подключении стилей (кроме вариантов когда используется что-то кроме CSS) и скриптов (кроме вариантов когда это не JavaScript). Указывать атрибут type в данном случае не обязательно потому что HTML5 использует text/css (англ.) и text/javascript (англ.) по умолчанию. Это будет работать даже в старых браузерах. Не рекомендуется:
Независимо от стилей заданных для элемента (CSS позволяет изменить поведение элемента с помощью свойства display ), переносите каждый блочный или табличный элемент на новую строку. Также ставьте отступы для всех элементов вложенных в блочный или табличный элемент. (Если у вас возникнут сложности из-за пробельных символов между списочными элементами, допускается поместить все li элементы в одну строку. Линту [утилита для проверки качества кода прим. пер.] рекомендуется в данном случае выдавать предупреждение вместо ошибки. Рекомендуется:
Рекомендуется:
Кроме случаев, где необходим браузеро-зависимый код, или ошибок валидатора, используйте валидный CSS код. Используйте такие инструменты как W3C CSS Валидатор (англ.) для проверки своего кода. Валидность - это важное и при этом измеряемое качество кода. Написание валидного CSS помогает избавиться от избыточного кода и обеспечивает правильное использование таблиц стилей… Идентификаторы и названия классов Используйте шаблонные или имеющие смысл имена классов и идентификаторы.Вместо использования шифров, или описания внешнего вида элемента, попробуйте в имени класса или идентификатора выразить смысл его создания, или дайте ему шаблонное имя… Шаблонные имена - это просто вариант названия для элементов, у которых нет специального предназначения или которые не отличаются от своих братьев и сестер. Обычно они необходимы в качестве “Помощников.” Использование функциональных или шаблонных имен уменьшает необходимость ненужных изменений в документа или шаблонах. Не рекомендуется:
/* Не рекомендуется: не имеет смысла */
#yee-1901 {}
/* Не рекомендуется: описание внешнего вида */
.button-green {}
.clear {}
Попробуйте сформулировать, что именно должен делать данный элемент, при этом будьте кратки насколько возможно. Такое использование классов и идентификаторов вносит свой вклад в облегчение понимания и увеличение эффективности кода. Селекторы типа Избегайте использование имен классов или идентификаторов с селекторами типа (тега) элемента.Кроме случаев когда это не обходимо (например с классами-помощниками), не используйте названия элементов с именами классов или идентификаторами. Сокращенные формы записи свойств Используйте сокращенные формы записи свойств, где возможно.CSS предлагает множество различных сокращенных (англ.) форм записи (например font ), которые рекомендуется использовать везде где это возможно, даже если задается только одно из значений. Использование сокращенной записи свойств полезно для большей эффективности и лучшего понимания кода. Не рекомендуется:
/* Не рекомендуется */
border-top-style: none;
font-family: palatino, georgia, serif;
font-size: 100%;
line-height: 1.6;
padding-bottom: 2em;
padding-left: 1em;
padding-right: 1em;
padding-top: 0;
Не указывайте единицы измерения для нулевых значений если на это нет причины. 0 в целой части дроби Не ставьте “0” в целой части дробных чисел.Не ставьте 0 в целой части в значениях между -1 и 1. Кавычки в ссылках Не используйте кавычки в ссылкахНе используйте кавычки ("" , "" ) с url() . Шестнадцатеричные названия цветов Используйте трехсимвольную шестнадцатеричную запись где это возможно.Трехсимвольная шестнадцатиричная запись для цветов короче и занимает меньше места. Префиксы Предваряйте селекторы уникальными для текущего приложения префиксами. (не обязательно)В больших проектах, а так же в коде, который будет использоваться для других проектов или в других сайтах, используйте префиксы (в качестве пространств имен) для идентификаторов и имен классов. Используйте короткие уникальные названия с последующим дефисом. Использование пространств имен позволяет предотвратить конфликты имен и может облегчить обслуживание сайта. Например при поиске и замене. Разделители в классах и идентификаторах Разделяйте слова в идентификаторах и именах классов с помощью дефиса.Не используйте ничего, кроме дефиса, для соединения слов и сокращений в селекторах, чтобы повысить удобство чтения и легкость понимания кода. Не рекомендуется:
/* Не рекомендуется: слова “demo” и “image” не разделены */
.demoimage {}
/* Не рекомендуется: используется подчеркивание вместо дефиса */
.error_status {}
Кажется заманчивым бороться с различиями в работе разных браузеров с помощью CSS-фильтров, хаков или прочих обходных путей. Все эти подходы могут быть рассмотрены лишь в качестве последнего средства, если вы хотите получить эффективную и легко поддерживаемую кодовую базу. Проще говоря, допущение хаков и определения браузера повредит проекту в долгосрочной перспективе, так как это означает, что проект идет по пути наименьшего сопротивления. Что облегчает использование хаков и позволяет использовать их все чаще и чаще, что в результате приведет к слишком частому их использованию. Правила форматирования CSSУпорядочивание объявлений Сортируйте объявления по алфавиту.Задавайте объявления в алфавитном порядке, чтобы получить согласованный код, с которым легко работать. При сортировке игнорируйте браузерные префиксы. При этом, если для одного свойства используются несколько браузерных префиксов, они также должны быть отсортированы (например -moz должен быть перед --webkit ) Отступы в блоках. Всегда ставьте отступы для содержимого блоков.Всегда ставьте отступы для любого блочного содержимого (англ.) , Например для правил внутри правил или объявлений, чтобы отобразить иерархию и облегчить понимание кода. После объявлений Ставьте точку с запятой после каждого объявления.После каждого объявления ставьте точку с запятой для согласованности кода и облегчения добавления новых свойств. После названий свойств Используйте пробелы после двоеточий в объявлениях.Всегда используйте один пробел после двоеточия (но не до) в объявлениях, для порядка в коде. Отделение селектора и объявления Отделяйте селекторы и объявления переносом строки.Начинайте каждый селектор или объявление с новой строки. Разделение правил Разделяйте правила переносом строки.Всегда ставьте перенос строки между правилами. Мета правила CSSГруппировка правил Группируйте правила и обозначайте группы комментарием. (не обязательно)По возможности объединяйте правила в группы. Обозначайте группы комментариями и разделяйте переносом строки. ЗаключениеБудьте последовательныЕсли вы редактируете код, потратьте несколько минут, чтобы разобраться в том, как он написан. Если математические операторы обособлены пробелами, делайте то же самое. Если комментарии окружены скобочками или черточками, сделайте то же со своими комментариями. Идея этого руководства в том, чтобы создать общий словарь, который позволил бы разработчикам сконцентрироваться на том что они хотят выразить, а не на том, как . Мы предлагаем единые правила оформления позволяющие писать код в одном стиле, но стиль кода, уже используемый в проекте, также важен. Если ваш код будет сильно отличаться от существующего, это может сбить читающего с ритма и затруднить чтение. Постарайтесь этого избежать. Примечание от переводчика Хочется еще отметить, что Google ориентируется в первую очередь на большие высоконагруженные проекты, где каждый байт дорог, поэтому стоит учитывать, что если они рекомендуют начинать каждый селектор с новой строки, или использовать пробелы вместо табов, то это в первую очередь подразумевает, что код будет обязательно минифицирован и сжат до использования на сайте.Спасибо всем кто дочитал до этого места. Статья не совсем актуальна
Страница с правилами сайта в - это системная статическая страница. Она обрабатываются движком и генерируется точно также, как и обычная стат.страница. Только удалить её невозможно - не предусмотрено разработчиком движка. Даже, если сами правила сайта выключены для показа при регистрации, то - страница с правилами сайта всегда доступна по адресу http://мой_сайт/rules.html Первый-же поисковик, который там её найдёт - начнёт блевать и плеваться на текст и название. Оно и не мудрено. Ведь на всех сайтах DLE - одно и тоже. Когда страница с правилами сайта попадает в карту сайта, то она расценивается поисковиком как «мусорная» и не берётся в поисковый индекс, поскольку правила сайта, практически везде - одинаковы. Поэтому, страница с правилами сайта в DLE, по-умолчанию - запрещена (закрыта) от поисковой индексации в файле (строка Disallow: /rules.html ). Уникальность «Правил сайта»Лично моё мнение, про страницу с правилами сайта и про её уникальность - это атавизм, отвлекающий внимание пользователя во время регистрации. Правила сайта - это рудиментарный отросток, ненужность которого с успехом доказали организаторы социальных сетей. Нет, ну кто-то видел на фейсбуке или в твиттере какие-нибудь грозные или особые правила при регистрации? Или, может быть - на Вконтакте и в Одноклассниках они есть? То-то-же! А какой-то сайтец, с посещалкой в 1000 уников - Ни для кого не секрет, что блокировка страниц и каталогов от поисковой индексации - не панацея. Так или иначе, любая страница сайта рано или поздно будет «пережёвана» поисковиком. Например, взять тот-же Яндекс. Его поисковые роботы выкачают из сайта абсолютно всё, что только найдут и лишь потом - начнут сортировать и думать - выдавать страницы в поиск или нет. Это, совершенно очевидно, несмотря на умилительные заверения Яндекса, что он и его роботы лишнего материала из сайта не качают. Мол, если веб-страница закрыта от индексации, то Яндекс сохраняет только её адрес с пометкой , или (кто как закроет). Чем ныкаться и блокировать «мусорную» страницу с правилами сайта от поисковой индексации, гораздо лучше переделать её под какую-либо другую полезную вещь и открыть к ней доступ поисковикам - пусть успокоятся. Или, хотя бы просто написать свои поведения на сайте и, опять-же таки - допустить к странице поисковиков. Открываем правила сайта для поисковиковДелаем смелый шаг и открываем поисковикам доступ к странице с правилами сайта. Для этого, в своём файле находим строку Disallow: /rules.html и удаляем её нафик. Дело сделано! Теперь, любой поисковый робот сможет официально залезть в открытые «Правила сайта» и конечно-же - сказать «Фe-e!» и «Бe-e!». Чтобы этого не произошло, переделываем страницу «Правила сайта» - вставляем свой уникальный текст на любую тему, картинки и меняем наименование (тайтл) страницы. Редактирование страницы «Правила на сайте»Редактирование страницы с правилами сайта доступно в админпанели движка DLE, в разделе «Список всех разделов» - «Правила на сайте». Редактирование страницы «Правила на сайте» выполняется, как для любой другой статической страницы - в штатном режиме работы визуального текстового редактора. Здесь проблемы могут быть только с написанием уникального текста да подбором уникальных картинок. Чуть выше, есть специальное окошко для введения заголовка (тайтла) для обновляемой страницы. Но, такое новшество появилось в , начиная с версии 10.2. Чтобы переименовать страницу с правилами сайта (для CMS DLE 10.1 и ниже) Непосредственно переименование самой страницы «Правила на сайте» производится в файле adminpanel.lng, который находится в папке language/Russian/adminpanel.lng. Файл adminpanel.lng - это системный файл движка DLE. Для его редактирования, заходим на свой сервер (иначе - никак). Открываем файл adminpanel.lng. Чистим кэш движка и браузера . После правки и сохранения файла adminlogs.lng нужно обязательно почистить кэш движка и кэш браузера, чтобы заставить движок по-новой сгенерировать страницу с новым наименованием, а браузер - её скачать. Если это не помогает и продолжает отображаться старое название - нужно зайти в админпанель движка, отредактировать и пересохранить страницу «Правила на сайте» каким-нить незначительным знаком. Например - поставить точку в тексте (потом можно будет все исправить назад). Подобные издевательства и зверства обязательно прочистят движку и серверу мозги и заставят их сгенерировать и отобразить новое название. Мысли вслух. Такое ощущение что уважаемый celsoft читает этот блог. Немногим позже, после этой публикации, в админпанели движка версии CMS DLE 10.2 появилась возможность сделать переименование страницы с правилами сайта нормальным цивилизованным способом, без утомительного ковыряния в системных файлах скрипта. Огромное спасибо разработчикам CMS DLE за их труды и внимание к проблемам простого люда. Как написать правильный CSS-код? Без знания основ невозможно движение вперёд. Причём эти основы должны быть у вас натренированы до подсознательно уровня. Вы должны знать все правила написания чистого понятного кода наизусть и всюду их применять. Начните прямо с текущего или, в крайнем случае, следующего своего проекта. Это будет вашей CSS-библией
CSS-reset - это некий фрагмент кода, который пишется вначале нашего файла стилей, в котором обнуляются все значения, и задаются все основные параметры для всех стилей, которые нам, скорее всего пришлось бы прописывать для каждого конкретного id/class. Это позволяет укоротить код впоследствии, а также избежать различий в отображении браузерами. Вот пример CSS-Reset, взятый со страницы http://meyerweb.com/eric/tools/css/reset/index.html /* v1.0 | 20080212 */ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; } body { line-height: 1; } ol, ul { list-style: none; } blockquote, q { quotes: none; } blockquote:before, blockquote:after, q:before, q:after { content: ""; content: none; } /* remember to define focus styles! */:focus { outline: 0; } /* remember to highlight inserts somehow! */ ins { text-decoration: none; } del { text-decoration: line-through; } /* tables still need "cellspacing="0"" in the markup */ table { border-collapse: collapse; border-spacing: 0; } 2) Используйте сокращенияК примеру, чтобы писать длинное Border-top: 5px; border-right: 10px; border-bottom: 15px; border-left: 20px; мы можем записать коротко: Border: 5px 10px 15px 20px; то есть по часовой стрелке начиная сверху. В основном сокращают border, margin, padding, font и background. подробней об этом вы можете посмотреть Если кода цвета состоит из 3х повторяющихся цифр, то можно записать просто три этих цифры. Используйте комментарии везде, где следует — они очень помогают упорядочить код, делая его более понятным для себя и для того, кто будет с ним работать Выглядит это примерно так: /* Ваш комментарий здесь */ Комментируйте: а) Заголовок страницы стилей — пишите кто автор кода и когда он был написан б) Отмечайте разделы стилей — это упорядочит весь код по разделам. в) Комментируйте проблемные места. Например те, где страница может иметь отличия в разных бразуерах.например: Input /* IE6 Problem */ г) Пишите маленькие комментарии тем, с кем работаете — например, когда нужно что-то доработать. 4) Добавляйте Легенду ЦветовНа маленьких css-файлах не сложно отслеживать все цвета сайта. /* /* светлый синий: #4595be /* тёмный синий: #367595 /* красный для ссылок: #9F1212 ********************************/ 5) Помним, что такое Position:realtive и Position:absoluteВ этих понятиях путается большинство начинающих верстальщиков, но есть правило, которое позволяет избежать путаницы. Position:absolute позиционирует объект относительно страницы — и неважно, где он расположен в HTML-потоке. По умолчанию это значение 0 слева и 0 сверху. Обычно этот вариант не используется - ибо неудобен и ограничен в опциях. А вот что вам пригодиться - если задать родителю («обёртке») нашего элемента Position:realtive, то Position:absolute будет выравниваться уже Относительно верхнего левого угла родителя . Так что можете проставлять это свойство по-необходимости. Наглядно на картинке: 6) Избегайте использование хаковПорой такие браузеры, как IE6 и IE7 просто вынуждают нас использовать хаки. Хаки - сразу ошибка для валидатора. Так что выносите из в специальные css-файлы для каждого браузера. На это не так часто обращают внимание, но это помогает избежать проблем в различных браузерах. Идея следующая: вместо использования padding’а у родителя, мы используем margin для дочерних-элементов. Так, вместо #main-content { padding-left: 10px } #main-content { } #main-content #left-column { margin-left: 10px } Ничего неправильно в использовании padding’а, но опыт показывает, что лучше всё же margin 8) Используйте float’ыЕсли вы ходите приписать элементу float, то его родителю пишите overflow:hidden Ul { overflow: hidden; } ul li { float: left; } Без этого свойства элемент может обтекаться некрасиво — также проблемы могут возникнуть при задании margin’ов или border’ов. Если вы хотите, чтобы элемент не обтекался - указываем clear:both ниже обтекаемого элемента. Часто это используют вместо overflow: hidden; 9) Добавляем display:inline для float-элементовДовольно известная проблема в IE6 с удваиванием margin’ов у float-элементов. То есть если нам нужно 20px, то приходится писать 10px, ибо этот отступ удваивается. Хотя IE6 уже приказывает долго жить, и многие дизайнеры не тратят время на то, чтобы оптимизировать сайт под него, всё же небольшой кусочек кода сделает отображение в нём приятней. Итак, ставим Display: inline /* IE6 Problem */ для элемента, к которому применён float 10) Делаем спрайтами жизнь комфортнееКартинки-спрайты - очень удобная вещь. Они дают представление обо всей графике страницы, и снижают время загрузки. Если знаете английский, то вот 11) Структура файлов сайта должна быть понятнойПотратьте время на то, чтобы сделать структуру сайта понятной. Раскидайте всё по полочкам. Здесь «Website Name»
- имя сайта, с которым мы работаем. Эта папка содержит HTML-файлы для сайта, плюс папки assets
и styles
.
Эта схема приблизительна, и можно её отображать по-разному. Мысль в том, что она помогает вам рабоать быстрее и делает сайт понятнее и аккуратнее. 12) Разверните стилиНеобязательный совет - Название классов и id стилей лучше писать, соблюдая древовидность, чтобы всё было понятно и наглядно. 13) Используйте пиксели а не относительные величиныВсё довольно просто - пиксели меньше нагружают код, так как документу не придётся высчитывать проценты относительных величин. Проблема относительных величин — в передаче этой относительности. body { font-size: 62.5% } значит font-size: 1em, то есть 10px. Если #blog-content нужен 14px, прописываем: #blog-content { font-size: 1.4em; } Теперь если H3 тег внутри #blog-content нужен нам 20px, то его можно было бы задать так: #blog-content { font-size: 1.4em; } #blog-content h3 { font-size: 2.0em } Всё бы хорошо, но у нас действует относительность. И эти 2.0em применяются к 1.4em Так что используйте фиксированные величины . 14) Ограничивайте псевдо-классы якорными тегамиНовые браузеры не имеют данной проблемы, всё упирается в ряд старых браузеров во главе с IE6. #header ul li:hover { background-color: #900 } не работает в IE6 Эта проблема устраняеться с jQuery 15) Избегайте проблем с селекторамиИспользуйте селекторы где это возможо Например, используйте вместо #main-content.main-header #main-content h1 Будьте осторожны с группировкой селекторов Ведь тут могут неправильно сыграть относительные величины, если вы их используете Если на это примере всё в порядке, Main-content div,.main-content p { color: #000; } То на этом — будьте внимательны с относительными величинами. Main-content div,.main-content p { line-height: 1.3em; } И напоследокЧтобы написать успешный код, избегайте постоянного оборачивания одного в другое и тд. Удачно тренироваться) » » Sharing is caring! Attribute of What does
RULES=ALL indicates that all the internal borders should be visible. RULES=ALL is usually used in conjunction with FRAME=VOID so that there are outer borders but no inner borders.
COLS indicates that there should be borders between the columns but not between rows.
RULES=ROWS indicates that there should be borders between rows but not between columns.
RULES=GROUPS allows you to put borders between groups of table cells. There are two ways cells can be grouped: by row and by column. Let"s go over each of them. Note that currently Netscape does not recognize RULES . Grouping By RowTo group by row use the , , tags. indicates the header rows of the table, indicates the main body of the table, and indicates the bottom rows. So, for example, this code creates a table with three groups. Borders appear just between groups:
Here"s how that table renders:
To group by column use the tag and its SPAN attribute. takes a little getting used to because it doesn"t actually go around any table cells. It goes at the top of the table code where it sets rules about the table columns including which are grouped together. to indicates how many columns are in each group. If you leave SPAN out then it is assumed the group has just one column. So, for example, the following code says that the first column is in a group by itself and the three after that are together in a group. Notice that requires an end tag. Borders will go only between the groups. Популярное:
НовоеКак востановить менструальный цикл после родов:
|