• Страница 1 из 2
  • 1
  • 2
  • »
Как заставить все браузеры правильно отрисовывать разметку
IUMag Дата: Суббота, 02.10.2010, 06:39 | Сообщение # 1
IUMag
FUбанда
Награды:40
Репутация:3372
Статус:Оффлайн
Элементы HTML 5, которые используются в нашем примере:
  • header
  • footer
  • nav
  • article
  • hgroup
    Только чтение названий элементов указывает на их назначение. Для этого их и придумали!
    <div> во всех ваших без табличных дизайнах, и начать использовать для заголовков “<header>”, а для футеров “<footer>”.

    <hgroup>. Он определяет группу заголовочных элементов(<h1>- <h6>), таким образом вы, например, можете группировать название поста блога и подзаголовок вместе. Нужно полагать данный элемент не заголовком страницы, а заголовком текущей секции.
    Шаг 1: HTML
    Представим наиболее часто используемый шаблон - 2 колонки с заголовком и футером:

    Такой шаблон обычно сопровождается водопадом элементов <div> (или <table>). Но в HTML 5 можно создавать код страницы вполне естественно.

    Code
    <!DOCTYPE html>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <html>
    <head>
    <title><!-- Ваш заголовок --></title>
    </head>
    <body>
    <header>
    <!-- ... -->
    </header>
    <nav>
    <!-- ... -->
    </nav>
    <div id="main">
    <!-- ... -->
    </div>
    <footer>
    <!-- ... -->
    </footer>
    </body>
    </html>

    И для завершения нужно добавить несколько простых сообщений в элемент “main”:
    Code
    <article>
    <hgroup>
    <h2>Title</h2>
    <h3>Subtitle</h3>
    </hgroup>

    <!-- --->
    </p>
    </article>

    Шаг 2: CSS
    <div> позиционирование элементов выполняется просто — мы знаем, как они обрабатываются каждым браузером, поэтому очень просто написать CSS код для них. Однако, это только частный случай, так как каждый браузер применяет к странице таблицу стилей по умолчанию. Даже если Вы ничего не указали, существует CSS, который работает каждый раз при загрузке страницы в Firefox или IE.

    Например, стиль, который используется для <div> в файле по умолчанию “html.css”, который используется Firefox:

    Code
    html, div, map, dt, isindex, form {
    display: block;
    }

    Но что происходит, когда браузер находит элемент, который не может распознать? Определенного ответа на данный вопрос нет. Такой элемент может остаться без стиля вообще, может использоваться стиль по умолчанию, а может вообще не выводится на экран. Таким образом, нам нужно быть полностью уверенными, что любой из наших новых элементов будет иметь стиль CSS:
    Code
    /* Примечание: Делаем элементы HTML 5 блочными для придания целостности стилю */
    header, nav, article, footer, address {
    display: block;
    }

    Теперь мы можем обращаться с этими элементами как с <div>.
    Проблема

    Теперь давайте взглянем на наш шаблон. Код собран в единое целое и протестирован в нескольких браузерах. Так шаблон выглядит в Safari 4:

    Однако в Internet Explorer 6 вид будет таким:

    Что не так на рисунке? Однозначная установка display: block; в CSS указывает браузеры на наши намерения в отношении элемента.

    К сожалению, IE игнорирует элементы, которые не может распознать, независимо от CSS. Наш контент смещается влево в родительском контейнере, как будто элементов HTML 5 не существует. Каким-то образом нам нужно заставить IE выводить неизвестные элементы и задавать для них соответствующие стили.
    Шаг 3: JavaScript

    К счастью, существует способ заставить IE распознавать новые элементы с помощью простого кода JavaScript.

    Просто используется вызов document.createElement()для каждого нового не распознанного элемента.

    Обычно вызов данного метода используется для вставки элемента непосредственно в ответвление DOM; другими словами, в существующий контейнер внутри тэга <body>. Вы также может использовать его для фиксирования неизвестного элемента. Однако, этот трюк работает при вызове document.createElement() в тэге<head> без ссылок на содержащий элемент!

    Code
    document.createElement("article");
    document.createElement("footer");
    document.createElement("header");
    document.createElement("hgroup");
    document.createElement("nav");

    После добавления JavaScript в наш пример, взглянем на него снова в Internet Explorer:

    Отлично. Internet Explorer 6 теперь изображает код HTML 5 также, как и Safari 4.
    Заключение

    Многие дизайнеры ожидают полноценной поддержки HTML 5 в большинстве браузеров. Мы можем начинать использовать HTML 5 уже сегодня - одна строчка в CSS и одная строчка кода в JavaScript на элемент.


    Пока всем. Увидемся через 2 недели
  • ВэйДлин Дата: Воскресенье, 10.10.2010, 10:28 | Сообщение # 2
    ВэйДлин
    Статус не установлен
    Сообщений:505
    Награды:59
    Репутация:521
    Статус:Оффлайн
    оО Мелко
    James23 Дата: Воскресенье, 10.10.2010, 11:53 | Сообщение # 3
    James23
    Статус не установлен
    Сообщений:350
    Награды:48
    Репутация:291
    Статус:Оффлайн
    только у меня страница криво показывается?
    ШеВ) Дата: Воскресенье, 10.10.2010, 11:55 | Сообщение # 4
    ШеВ)
    Награды:112
    Репутация:2642
    Статус:Оффлайн
    James23, и у меня криво
    Lex@ Дата: Воскресенье, 10.10.2010, 11:56 | Сообщение # 5
    Lex@
    Отпуск окончен, пора работать.
    Сообщений:1237
    Награды:75
    Статус:Оффлайн
    Исправил.
    Julike Дата: Воскресенье, 10.10.2010, 12:09 | Сообщение # 6
    Julike
    Статус не установлен
    Сообщений:3447
    Награды:91
    Репутация:1383
    Статус:Оффлайн
    Щикарно. HTML5 вообще рульная вещь.

    Backend Developer
    PHP, MySQL, MongoDB, Yii, Laravel, Python, JavaScript, HTML, CSS

    МОТОР.KZ: Senior Backend Developer
    Drooke Дата: Воскресенье, 10.10.2010, 13:54 | Сообщение # 7
    Drooke
    Never Back Down
    Сообщений:564
    Награды:102
    Репутация:1920
    Статус:Оффлайн
    Технология движется вперед и работать становится легче и приятней joyful
    -Grigor- Дата: Воскресенье, 10.10.2010, 18:19 | Сообщение # 8
    Статус не установлен
    Статус:
    HTML5 и CSS3 лучше всех,особенно CSS3,с помощью последнего уже можно делать анимацию без js
    212th Дата: Воскресенье, 10.10.2010, 22:37 | Сообщение # 9
    Сообщений:1988
    Награды:65
    Репутация:3534
    Статус:Оффлайн
    Quote (Julike)
    Щикарно. HTML5 вообще рульная вещь.

    Quote (-Grigor-)
    HTML5 и CSS3 лучше всех,особенно CSS3,с помощью последнего уже можно делать анимацию без js

    да, всё стремится к совершенству cool
    [hAcK] Дата: Понедельник, 25.10.2010, 18:16 | Сообщение # 10
    Статус не установлен
    Сообщений:428
    Награды:16
    Статус:Оффлайн
    спасибо за инфу)

    • Страница 1 из 2
    • 1
    • 2
    • »
    Поиск: