HTML

Кувалдин Артем
Разработчик интерфейсов

Сначала был текст...

Возможностей текста не хватает

Мой верный друг! Мой враг коварный!
Мой царь! Мой раб! Родной язык!
Мои стихи – как дым алтарный!
Как вызов яростный – мой крик!

Ты дал мечте безумной крылья,
Мечту ты путами обвил.
Меня спасал в часы бессилья
И сокрушал избытком сил.


    _,'|             _.-''``-...___..--';)
   /_ \'.      __..-' ,      ,--...--'''
  <\    .`--'''       `     /'
   `-';'               ;   ; ;
__...--''     ___...--_..'  .;.'
(,__....----'''       (,..--''

Но людям все мало...

  • Мы хотим видеть его структуру:
    • заголовки
    • списки
    • таблицы
  • Мы хотим сопровождать его:
    • ссылками
    • картинками
    • картинками с котиками (^._.^)
  • Мы хотим легко находить его среди миллионов других текстов

Языки разметки

Они позволяют нам дополнять простой текст метаданными – «информацией о данных» или «данными о тексте» в нашем случае.

Формула

x = (-b ± √(b^2 - 4ac)) / 2a

MathML

<math xmlns="https://www.w3.org/1998/Math/MathML">
    <mi>x</mi><mo>=</mo>
    <mfrac>
        <mrow>
            <mo>−</mo><mi>b</mi><mo>±</mo>
            <msqrt>
                <msup>
                    <mi>b</mi><mn>2</mn>
                </msup>
                <mo>−</mo><mn>4</mn><mi>a</mi><mi>c</mi>
            </msqrt>
        </mrow>
        <mrow>
            <mn>2</mn><mi>a</mi>
        </mrow>
    </mfrac>
</math>

MathML

<math xmlns="https://www.w3.org/1998/Math/MathML">
    <mi>x</mi><mo>=</mo>
    <mfrac>
        <mrow>
            <mo>−</mo><mi>b</mi><mo>±</mo>
            <msqrt>
                <msup>
                    <mi>b</mi><mn>2</mn>
                </msup>
                <mo>−</mo><mn>4</mn><mi>a</mi><mi>c</mi>
            </msqrt>
        </mrow>
        <mrow>
            <mn>2</mn><mi>a</mi>
        </mrow>
    </mfrac>
</math>
x = b ± b 2 4 a c 2 a

SVG

<svg width="300" height="300" xmlns="https://www.w3.org/2000/svg">
    <rect x="0" y="0" width="200" height="200" fill="#268bd2"/>
    <circle cx="180" cy="180" r="100" fill="#8bc34a"/>
</svg>

HTML

– (HyperText Markup Language) язык разметки документов, предназначенных для обмена ими в Интернете.

HTML

<!doctype html>
<html>
    <head>
        
        
        CERN
    </head>
    <body>
        

Список покупок

  • Молоко
  • Хлеб
  • Яблоки
  • Audi TT
</body> </html>

Список покупок

  • Молоко
  • Хлеб
  • Яблоки
  • Audi TT

1989 год

Гипертекст

1991 годпервое описание HTML
1993 годHTML internet Draft
1995 годHTML 2.0

1997 год

(World Wide Web Consortium)

Миссия W3C

«Полностью раскрыть потенциал Всемирной паутины путём создания протоколов и принципов, гарантирующих долгосрочное развитие Сети»
1997 годHTML 3.0
1998 годHTML 4.0
2000 годXHTML 1.0
2001 годXHTML 1.1

"Война браузеров"

"IE остался один"

2004 год

WHATWG (Web Hypertext Application Technology Working Group)

2008 — 2014

  • <audio>, <video> и много новых элeментов...
  • Новые виды полей ввода в формах: date/time, email, url, tel, ...
  • Новые API, важные для мобильных устройств: Geolocation API, Notification API

2016 год


Html 5.1

W3C сегодня

Рабочая группа (Working Group, WG):

  • Компании ≥ 80%
  • Эксперты
  • Сотрудники W3C

Мифы W3C

  1. W3C спускает сверху стандарты
  2. Обсуждения проходят за закрытыми дверями

MAIL, NEWS, BLOGS, PODCASTS, AND TUTORIALS

Этапы спецификации

  1. Редакторский черновик (Editor's Draft)
  2. Публичный черновик (First Public Working Draft)
  3. Рабочий черновик (Working Draft)
  4. Рекомендованный кандидат (Candidate Recommendation)
  5. Предложенная рекомендация (Proposed Recommendation)
  6. Рекомендация(Recommendation)

Анатомия HTML

HTML element

<a href="http://home.web.cern.ch">CERN</a>

Открывающий тэг

<a href="http://home.web.cern.ch">CERN</a>

Закрывающий тэг

<a href="http://home.web.cern.ch">CERN</a>

Атрибуты

<a href="http://home.web.cern.ch">CERN</a>

Содержимое

<a href="http://home.web.cern.ch">CERN</a>

Виды тэгов

Void elements – не имеют содержимого и закрывающего тэга.

Котики

Виды элементов

  • Raw text elements – в качестве содержимого могут иметь только текст.

    HTML Лекция
  • Normal elements – в качестве содержимого могут иметь как текст, так и другие элементы.

    CERN is a European research organization that operates the largest particle physics laboratory in the world.

Документ

<!DOCTYPE html>
<html>
    <head>
        
        CERN
    </head>
    <body>
        

CERN is a European research organization that operates the largest particle physics laboratory in the world.

</body> </html>

CERN is a European research organization that operates the largest particle physics laboratory in the world.

Незакрывающиеся элементы

    <li>Молоко <li>Хлеб <li>Яблоки <li>Audi TT
  • Молоко
  • Хлеб
  • Яблоки
  • Audi TT

Незакрывающиеся элементы

    <li>Молоко <li>Хлеб <li>Яблоки <li>Audi TT

Полный список элементов, у которых мы можем не указывать закрывающий тэг.

Атрибуты

<a href="http://home.web.cern.ch">CERN</a>

Имя

<a href="http://home.web.cern.ch">CERN</a>

Значение

<a href="http://home.web.cern.ch">CERN</a>

Их может быть несколько

Кавычки необязательны

<input type=button value=Click>

Бывают одиночные атрибуты

<input disabled>

<input disabled="sometext">

Универсальные атрибуты

Атрибут id

– задаёт уникальный идентификатор элемента.

#email_input { width: 100px }
//  Получаем доступ к элементу как к JS объекту по id
var email = document.getElementById('email_input');

// В поле value этого объекта хранится введённое значение
var emailValue = email.value

// Выводим его
console.log(emailValue);

Атрибут class

– задаёт класс элементов, позволяя группировать их.

Список покупок:
  • Молоко
  • Хлеб
  • Audi TT
  • Audi Q5
  • Яблоки
.food { color: yellow }
.car { color: red }
Список покупок:
  • Молоко
  • Хлеб
  • Audi TT
  • Audi Q5
  • Яблоки

Атрибут class в JS

// Получаем все элементы списка по классу
var cars = document.querySelectorAll('.car');

// Складываем в массив текст каждого элемента
for (var i = 0, values = []; i < cars.length; i++) {
    values.push(cars[i].innerText);
}

// Выводим через запятую
console.log(values.join(','));

Атрибут style

– добавляет стили оформления (по правилам CSS) к элементу.


The Martian.

The Martian.

Атрибут title

– добавляет пояснение к содержимому элемента, которое появляется при наведении.


www

API

www

API

Комментарии


Некоторый текст

HTML Entity

Внутри текста можно использовать символы-мнемоники (Entity Characters). Полный список.


<p>&copy;</p> 
<p>&amp;</p>  
<p>&pound;</p>

&nbsp;

Указание символов "&" и ";" – обязательно.

Мы можем использовать как именованную ссылку на символ (Named Сharacter References).

<p>&copy;</p>   
<p>&amp;</p>    
<p>&pound;</p>  
<p>&sum;</p>    

Так и числовую ссылку (Numeric Character Reference).

<p>&sum;</p>    
<p>&#x03A3;</p> 
<p>&#x3A3;</p>  
<p>&#0931;</p>  
<p>&#931;</p>   

Типы разметки

<html>
     <head>
        <meta name="description" content="..."/>
        <title>CERN</title>
     </head>
     <body>
        <p>
            <a href="http://home.web.cern.ch/">CERN</a>
            is a <b>European</b> research organization
            that operates the <i>largest</i> particle
            <u>physics</u> laboratory in the world.
        </p>
     </body>
 </html>

Описательная

– определяет метаинформацию документа.

<html>
    <head>
        <meta name="description" content="..."/>
        <title>CERN</title>
    </head>
    <body>
        <p>
            <a href="http://home.web.cern.ch/">CERN</a>
            is a <b>European</b> research organization
            that operates the <i>largest</i> particle
            <u>physics</u> laboratory in the world.
        </p>
    </body>
 </html>

Структурная

– определяет структуру и назначение текста.

<html>
    <head>
        <meta name="description" content="..."/>
        <title>CERN</title>
    </head>
    <body>
        <p>
            <a href="http://home.web.cern.ch/">CERN</a>
            is a <b>European</b> research organization
            that operates the <i>largest</i> particle
            <u>physics</u> laboratory in the world.
        </p>
    </body>
 </html>
CERN

CERN is a European research organization that operates the largest particle physics laboratory in the world.

Элементы

Корневой элемент html

<!DOCTYPE html>
<html lang="ru">
    <head>
        <meta name="description" content="..."/>
        <title>CERN</title>
    </head>
    <body>
        <p>
            <a href="http://home.web.cern.ch/">CERN</a>
            is a <b>European</b> research organization
            that operates the <i>largest</i> particle
            <u>physics</u> laboratory in the world.
        </p>
    </body>
</html>

doctype

– указывает на тип документа, иными словами на спецификацию, по которой он был создан.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>My awesome HTML page</title>
    </head>
    <body>
    </body>
</html>

doctype для HTML 5

<!--Минимально возможный html-->
<!DOCTYPE html>
<title>My awesome HTML page</title>
Валидатор HTML

Метаэлементы

title

— элемент определяет заголовок документа.

<html lang="en">
    <head>
        CERN
    </head>
    <body>
      ...
    </body>
</html>

— единственный обязательный тэг, и он не должен быть пустым.

link

— устанавливает связь с внешним документом, например с СSS файлом (где хранятся стили).

<html lang="en">
    <head>
        
        
        
        
    </head>
</html>

media описывает устройство, для которого следует применять стилевое оформление.

Атрибут rel

— (relationship) описывает тип связи.

<html lang="en">
<head>



</head>
</html>

alternate — описывает, что есть альтернативный формат у документа.

Список доступных типов связей.

base

— определяет базовый адрес для всех ссылок документа, а также как они будут открываться (в текущем окне target="_self" или в новом target="_blank").

<html lang="en">
    <head>
        <base href="http://ya.ru/pages">
    </head>
    About
    
    
    
</html>

script

— предназначен для описания скриптов, может содержать ссылку на скрипт или его текст на определённом языке.

<html lang="en">
    <head>
        <script src="path/jquery-plugin.js"></script>
    </head>
    <body>
        <script>
            console.log('Hello!');
        </script>
    </body>
</html>

style

— предназначен для определения стилей.

<html lang="en">
    <head>
        
    </head>
</html>

Атрибут media – описывает устройство, для которого следует применять стилевое оформление(all/screen/print/speech/braille).

meta

— определяет метаинформацию документа.

<html lang="en">
    <head>
        
        
        
        
    </head>
</html>

Open Graph

— возможность связывать свой контент с социальными сетями, возможность правильно его там представлять.

                <html lang="en">
<head>






</head>
</html>

Подробный список Open Graph тэгов.

Семантическая разметка

<body>
<header>
<main>
<aside>
<section>
<aside>
<header>
<article>

CERN is a European research organization that operates the largest particle physics laboratory in the world.

CERN's main function is to provide the particle accelerators and other infrastructure needed for high-energy physics research

Last modified: 2015-09-22

Author: ivan@example.com


CERN is a European research organization that operates the largest particle physics laboratory in the world.

CERN's main function is to provide the particle accelerators and other infrastructure needed for high-energy physics research

Last modified:

Author: fred@example.com

article

— обозначает законченную самодостаточную часть документа: пост на форуме или в блоге, новостная статья или виджет.

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

<section>

Комментарии

Отлично!

Где скачать?

</section>

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

Комментарии

Отлично!

Где скачать?

section

— определяет тематическую группу элементов: блок комментариев к посту в блоге, главы в статье или список постов.

<section>
    

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

</section>

nav (navigation)

— определяет блок с навигацией по связанным документам. Рекомендуется использовать только для главной навигации.


aside

— определяет блок с сопуствующим содержимым(для обозначения выносок или цитат).

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

Как только пользователь устанавливает курсор мыши в поле для ввода пароля на любом сайте, которого нет в списке, активируется система защиты.

header

— определяет шапку всего документа или шапку секции.

Блог компании Яндекс

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

footer

— определяет подвал всего документа или подвал секции.

<section>
    

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

© 2013–2015 ООО «Яндекс»

</section>

address

— определяет блок с контактной информацией, относящейся к ближайшему <article> или <body>.

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

Для получения подробностей пишите на help@yandex.ru

h1 - h6

— определяет заголовок для секционных элементов или <body>. Число определяет уровень: 1 – наивысший, 6 – наименьший.

h1

h2

h3

h4

h5
h6

h1

h2

h3

h4

h5
h6

hgroup

— определяет группу заголовков.

Dr. Strangelove or:

How I Learned to Stop Worrying and Love the Bomb

Группирующие элементы

main

— главное содержимое страницы.


Protect — как Яндекс.Браузер защищает пользователей

Защита от кражи паролей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных..

p (paragraph)

— определяет параграф текста.

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

Как только пользователь устанавливает курсор мыши в поле для ввода пароля на любом сайте, которого нет в списке, активируется система защиты.

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

Как только пользователь устанавливает курсор мыши в поле для ввода пароля на любом сайте, которого нет в списке, активируется система защиты.

hr(horizontal rule)

— горизонтальная линия для тематического разделения параграфов.

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.


Как только пользователь устанавливает курсор мыши в поле для ввода пароля на любом сайте, которого нет в списке, активируется система защиты.

Protect — как Яндекс.Браузер защищает пользователей

Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.


Как только пользователь устанавливает курсор мыши в поле для ввода пароля на любом сайте, которого нет в списке, активируется система защиты.

Что будет?

                

,--. ,--. ,---. ,------. ,---. | `.' | / O \ | .--. '' .-' | |'.'| || .-. || '--'.'`. `-. | | | || | | || |\ \ .-' | `--' `--'`--' `--'`--' '--'`-----'

,--. ,--. ,---. ,------. ,---. | `.' | / O \ | .--. '' .-' | |'.'| || .-. || '--'.'`. `-. | | | || | | || |\ \ .-' | `--' `--'`--' `--'`--' '--'`-----'

pre(preformatted text)

— определяет блок предварительно форматированного текста. Такой текст отображается моноширинным шрифтом, сохраняя всё форматирование: пробелы, отступы.

<pre>
,--.   ,--.  ,---.  ,------.  ,---.
|   `.'   | /  O  \ |  .--. ''   .-'
|  |'.'|  ||  .-.  ||  '--'.'`.  `-.
|  |   |  ||  | |  ||  |\  \ .-'    |
`--'   `--'`--' `--'`--' '--'`-----'
</pre>
,--.   ,--.  ,---.  ,------.  ,---.
|   `.'   | /  O  \ |  .--. ''   .-'
|  |'.'|  ||  .-.  ||  '--'.'`.  `-.
|  |   |  ||  | |  ||  |\  \ .-'    |
`--'   `--'`--' `--'`--' '--'`-----'

blockquote

— предназначен для выделения длинных цитат внутри документа.

Life is what happens to you while you’re busy making other plans. // Джон Леннон
Life is what happens to you while you’re busy making other plans. // Джон Леннон

ol и li

ordered list – определяет упорядоченный список(1, 2, 3).

list item – определяет элемент списка.

Список покупок

  1. Молоко
  2. Хлеб
  3. Яблоки
  4. Audi TT

Список покупок

  1. Молоко
  2. Хлеб
  3. Яблоки
  4. Audi TT

атрибут reversed

<ol reversed>
    
  • Молоко
  • Хлеб
  • Яблоки
  • Audi TT
  • </ol>
    1. Молоко
    2. Хлеб
    3. Яблоки
    4. Audi TT

    атрибут type

    — задаёт тип нумерации.

    
    
    1. Яблоки
    2. Хлеб
    3. Audi TT
    1. Молоко
    2. Хлеб
    3. Audi TT

    Вложенные списки

    1. Сельдь
    2. Хлеб
    3. Фрукты:
      1. Бананы
      2. Яблоки
    4. Молоко
    5. Audi TT
    1. Сельдь
    2. Хлеб
    3. Фрукты:
      1. Бананы
      2. Яблоки
    4. Молоко
    5. Audi TT

    ul(unordered list)

    — определяет неупорядоченный список (маркированный).

    • Молоко
    • Хлеб
    • Яблоки
    • Audi TT
    • Молоко
    • Хлеб
    • Audi TT

    figure и figcaption

    figure – используется для группировки любых элементов.

    figcaption – для добавления подписи к этим элементам.

    Listing 4. The panel.
    <pre> function Panel(element, canClose) { this.element = element; this.canClose = canClose; } </pre>
    Listing 4. The panel.
                        
    function Panel(element, canClose) {
        this.element = element;
        this.canClose = canClose;
    }
                        
                    

    figure и figcaption

    bubbles
    Bubbles at work
    bubbles
    Funny cats

    div(division)

    — универсальный группирующий элемент для изменения вида содержимого через стили.

    Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

    Как только пользователь устанавливает курсор мыши в поле для ввода пароля на любом сайте, которого нет в списке, активируется система защиты.

    Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

    Как только пользователь устанавливает курсор мыши в поле для ввода пароля на любом сайте, которого нет в списке, активируется система защиты.

    Таблицы

    <table>
        <tr>
            <td>Diablo</td>
            <td>Blizzard</td>
        </tr>
        <tr>
            <td>Portal</td>
            <td>Valve</td>
        </tr>
    </table>
    
    Diablo Blizzard
    Portal Valve

    Объединение ячеек

    Blizzard Entertainment: Diablo III
    Portal Valve
    Blizzard Entertainment: Diablo III
    Portal Valve

    Объединение ячеек

    Blizzard Entertainment: Diablo III Blizzard
    Valve
    Blizzard
    Entertainment:
    Diablo III
    Blizzard
    Valve
    Game name Game publisher
    Game name Game publisher
    Diablo Blizzard
    Game name Game publisher
    Game name Game publisher
    Diablo Blizzard

    Таблицы

    Games
    Game name Game publisher
    Diablo Blizzard
    Games
    Game name Game publisher
    Diablo Blizzard

    Текстовые элементы

    em(emphasis)

    – предназначен для акцентирования текста.

                    
    

    Cats are cute animals.

    Cats are cute animals.

    strong

    — предназначен для обозначения важной информации.

                    
    

    Внимание! Идут учения!

    Внимание! Идут учения!

    mark(marked text)

    — помечает текст как выделенный.

                    
    

    С++, python, js – классные языки программирования

    С++, python, js – классные языки программирования

    small

    — предназначен для различной уточняющей информации. Например, для условий и правовых ограничений в рекламе.

                    
    

    Скидка на все товары 50%

    При условии покупки на сумму более 1000 рублей

    Скидка на все товары 50%

    При условии покупки на сумму более 1000 рублей

    q(quote)

    — предназначен для выделения цитат или обозначения прямой речи.

                    
    

    Le général Koutouzoff, -- сказал Болконский, ударяя на последнем слоге zoff, как француз

    Le général Koutouzoff, -- сказал Болконский, ударяя на последнем слоге zoff, как француз

    ruby, rt

    — предназначен для добавления небольшой аннотации сверху или снизу от заданного текста.

                    
    
    <ruby>A<rt>[ei]</rt></ruby>
    <ruby>B<rt>[bi:]</rt><ruby>
    <ruby>C<rt>[si:]</rt><ruby>
    
    
    <ruby lang="ja">編集者<rt lang="ru">Редактор</rt></ruby>
                    
                

    A [ei] B [bi:] C [si:]

    編集者 Редактор

    samp, kbd

    sample output — используется для отображения текста, который является результатом вывода компьютерной программы или скрипта.

    keyboard — используется для обозначения текста, который набирается на клавиатуре или для названия клавиш.

    Нажмите CTRL + S на клавиатуре.

    <p> Компьютер должен ответить: Document was saved successfuly. </p>

    Нажмите CTRL + S на клавиатуре.

    Компьютер должен ответить: Document was saved successfuly.

    code

    — предназначен для отображения одной или нескольких строк текста, который представляет собой программный код.

    
        function Panel(element, canClose) {
          this.element = element;
          this.canClose = canClose;
        }
    
    
    function Panel(element, canClose) { this.element = element; this.canClose = canClose;

    sup(superscript)/sub(subscript)

    — обозначает верхний/нижний индекс. Например, для обозначения степени.

    Формула эквивалентности массы и энергии: E = m c2

    Формула воды: H2O.

    Формула эквивалентности массы и энергии: E = m c 2

    Формула воды: H2O.

    br(break line)

    — устанавливает перевод строки в том месте, где он находится.

                    
    

    Варкалось. Хливкие шорьки
    Пырялись по наве,
    И хрюкотали зелюки,
    Как мюмзики в мове.

    Варкалось. Хливкие шорьки
    Пырялись по наве,
    И хрюкотали зелюки,
    Как мюмзики в мове.

    wbr(word break opportunity)

    — указывает браузеру место, где допускается делать перенос строки в длинном слове.

                    
    

    метоксихлордиэтиламинометилбутиламиноакридин

    метоксихлордиэтиламинометилбутиламиноакридин

    метоксихлор диэтиламино метил бутил амино акридин

    метоксихлор диэтиламино метил бутил амино акридин

    span

    — универсальный текстовый элемент, который позволяет измененить вид содержимого через стили.

                    
    
    Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.
    Яндекс.Браузер предостерегает пользователей, когда они начинают вводить пароль на подозрительных страницах.

    Микроразметка

    – позволяет роботам точнее определять и структурировать информацию на страницах сайтов.

    <section>
    Привет всем, я Артём Кувалдин! Работаю разработчиком
    интерфейсов в Яндексе, офис которого расположен в
    Екатеринбурге по адресу Хохрякова, 10.
    </section>

    Микроразметка

    <section itemscope itemtype="http://schema.org/Person">
    Привет всем, я
    Артём
    Кувалдин,
    Работаю
    разработчиком интерфейсов
    в
    Яндексе
    , офис которого расположен
    <section itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
        в
        Екатеринбурге
        по адресу
        Хохрякова, 10
        .
    </section>
    </section>
                

    Микроразметка

    Визуальная разметка

    — универсальный текстовый элемент для изменения вида содержимого через стили.

                    
    <p>
    centered text
    </p>

    bold text

    italic text

    strike text

    underline text

    centered text

    bold text

    italic text

    strike text

    underline text

    Интерактивные элементы

    Ссылочные элементы

    a (anchor)

    – является одним из важных элементов HTML и предназначен для создания ссылок.

    <a href="http://yandex.ru" title="Yandex">Yandex</a>

    Атрибут href

    – задает адрес документа, на который следует перейти.
     

    <a href="http://yandex.ru" title="Yandex">Yandex</a>

    URL (Uniform Resource Locator)

    http://yandex.ru/images/search

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

    Протоколы

    
    Images
    
    Images
    
    @akuv
    
    Позвонить по скайпу
    
    Позвонить
                
    Images
    Images
    @akuv
    Позвонить по скайпу
    Позвонить

    Виды ссылок

    Абсолютные

    
    Images
                

    Относительные

    
    /img/cats.jpg
    
    img/cats.jpg
                

    Якоря

    – закладка с уникальным именем на определенном месте веб–страницы, предназначенная для создания перехода к ней по ссылке.

    
    ссылка на якорь
    
    
    Много текста...
    якорь
    
    Ссылка
                

    Атрибут target

    
    
    _blank
                
    
    
    _self
                
    _blank
    _self

    Встраиваемые элементы

    img

    – предназначен для отображения на веб-странице изображений в графическом формате (GIF, JPEG, SVG, PNG).

    
    <img src="cat.jpg" title="cat" alt="image fat cat">
            
    Alt должен быть всегда.
    
    <img src="img/decoration.jpg" alt="">
            
    https://clck.ru/AEufK

    image fat cat

    Размеры картинки

    
    
    
    
                

    width=300 height=300 height=300 width=300

    iframe

    – позволяет загружать в область заданных размеров любые другие независимые документы.

    
    <iframe src="payment.html" width="468" height="60"></iframe>
                

    video

    – добавляет, воспроизводит и управляет настройками видеоролика на веб-странице.

    <video width="400" height="300" src="video/rabbit.mp4"
    
    <video width="400" height="300" poster="video/rabbit.jpg"
                    controls autoplay loop>
        <source src="video/rabbit.mp4" type="video/mp4">
        <source src="video/rabbit.ogv" type="video/ogg">
        Элемент video не поддерживается вашим браузером.
        <a href="video/rabbit.mp4">Скачайте видео</a>
    </video>
                
    Таблица форматов.

    audio

    – добавляет, воспроизводит и управляет настройками аудиозаписи на веб-странице.

    
    <audio controls src="audio/music.mp3"></audio>
                
    
    <audio controls autoplay loop>
        <source src="audio/music.ogg" type="audio/ogg">
        <source src="audio/music.mp3" type="audio/mpeg">
        Элемент audio не поддерживается вашим браузером.
        <a href="audio/music.mp3">Скачайте музыку</a>.
    </audio>
                
    Таблица форматов.

    track

    – позволяет авторам указать текстовую дорожку для медийных элементов audio и video.

    <video width="500" height="400" controls>
    
    <track kind="subtitles" src="video/jane.en.vtt" srclang="en"
                    label="English">
    <track kind="subtitles" src="video/jane.ru.vtt" srclang="ru"
                    label="Русский" default>
    
    <source src="video/jane.ogv" type="video/ogg">
    <source src="video/jane.mp4" type="video/mp4">
    
     Элемент video не поддерживается вашим браузером.
    </video>
    Getting started with the HTML5 track element.

    Формат vtt

    
    WEBVTT FILE
    
    00:00.360 --> 00:01.240
    Солдат Джейн.
    
    00:01.240 --> 00:02.240
    Спасаюсь от радиации.
    
    00:02.240 --> 00:04.000
    Арбуз - лучшее средство.
                
    Подробнее о субтитрах.

    Элементы форм

    input

    – позволяет создавать разные части интерфейса и обеспечивать взаимодействие с пользователем.

    
    
                
    Про input.

    Атрибут type

    – cообщает браузеру, к какому типу относится элемент формы.

    
    
                
    
    
                
    
    
                

    type="button|checkbox|file|hidden|image|password|radio|reset|submit|text"


    Атрибут type

    
    <input type="checkbox" checked> Хлеб
     Молоко
    
     Вода
    <input type="radio" name="drink" checked> Сок
    Хлеб
    Молоко

    Вода
    Сок

    Атрибут type (HTML 5)

    
    
    
    
    
    
    
    
    
    
    
    
    
                




    0

    Атрибут placeholder

    – выводит текст внутри поля формы, который исчезает при получении фокуса или при наборе текста.

    
    
                

    Атрибут disabled

    – блокирует доступ и изменение элемента.

    
    
    <input type="text" value="Вы человек" disabled>
                

    select

    – элемент интерфейса в виде списка, позволяющий выбрать одно или несколько значений.

    
    
                

    Атрибут multiple

    – позволяет одновременно выбирать сразу несколько элементов списка.

    
    <select multiple size="3" name="hero">
    
    
    
    
    
    </select>
                

    textarea

    – представляет собой элемент формы для создания области, в которую можно вводить несколько строк текста.

    
    <textarea rows="7"
          cols="35"
          name="text"
          placeholder="Введите текст">Текст</textarea>
                

    button

    – создаёт на веб-странице кнопки.

    
    
                
    
    
    
                
    
    
                

    label

    – устанавливает связь между определённой меткой, в качестве которой обычно выступает текст, и элементом формы (input, textarea, select).

    Выберите напиток





    Выберите напиток





    form

    – предназначена для обмена данными между пользователем и сервером.



    name=[значение1]&email=[значение2]&secret=[значение3]



    Атрибут action

    – указывает обработчик, к которому обращаются данные формы при их отправке на сервер.

    
    

    Атрибут method

    – сообщает серверу о типе запроса.

    get (по умолчанию)
    предназначен для получения требуемой информации и передачи данных в адресной строке (ограничение в 4 Кб).
    [поле1]=[значение1]&[поле2]=[значение2]
    post
    посылает на сервер данные в запросе браузера. Большие объёмы данных используются в форумах, почтовых службах, заполнении базы данных, при пересылке файлов и др.

    Валидация формы

    <input type="text" required placeholder="Как вас зовут?"> <input type="email" placeholder="email" required> <input type="url" placeholder="url" required> <input type="tel" pattern="2-[0-9]{3}-[0-9]{3}" placeholder="2-123-312" required>




    Атрибут tabindex

    – устанавливает порядок получения фокуса при переходе между элементами с помощью клавиши Tab.

    
    

    Нажмите кнопку Tab для перехода между элементами








    Нажмите кнопку Tab для перехода между элементами








    i18n

    (интернационализация)

    Таблица символов (charset).

    – таблица, где каждому символу сопоставляется последовательность 0 и 1 (битов)

    لغة C++&lm; هي لغة برمجة تستخدم.

    لغة C++&lm; هي لغة برمجة تستخدم.

    utf-8

    (Unicode Transformation Format, 8-bit)

    Юникод (Unicode) – стандарт кодирования, позволяющий представить знаки почти всех письменных языков.
    Есть несколько способов задать кодировку:

    
    
            

    HTML 5 ↓

    
    
            

    Язык

    Служебные мета-элементы:

    
    
            

    HTML 5 ↓

    
    <html lang="ru">
            

    Если несколько языков:

    <html lang="ru">
    <p>Как говорил Джон Леннон</p>
    <blockquote lang="en">
        Life is what happens to you while you’re busy
        making other plans.
    </blockquote>
    <blockquote lang="ru">
        Жизнь — это то, что происходит с тобой,
        пока ты оживлённо строишь другие планы.
    </blockquote>
    <html>
    blockquote:lang(ru) { color: red; }

    Как говорил Джон Леннон

    Life is what happens to you while you’re busy making other plans.
    Жизнь — это то, что происходит с тобой, пока ты оживлённо строишь другие планы.

    Направление текста

    Если язык подразумевает другое направление письма, стоит указать атрибут dir:

    • ltr – слева направо
    • rtl – справа налево
    • auto – автоматически

    مرحبا العالم!

    שלום עולם!

    שלום עולם!

    שלום עולם!

    שלום עולם!

    Hello world!

    dir="rtl"

    مرحبا العالم!

    dir="rtl"

    שלום עולם!

    dir="ltr"

    שלום עולם!

    dir="auto"

    שלום עולם!

    שלום עולם!

    Hello world!

    Если много языков

    
    <html dir="ltr">
    

    Фраза на арабском языке:

    اللغة العربية‎‎

    <html>

    Фраза на арабском языке:

    اللغة العربية‎‎




    bdo (bi-directional output)

    – элемент, который только указывает другое направление и не несёт других смыслов.

    
    

    مرحبا العالم!

    А роза упала на лапу Азора

    مرحبا العالم!

    مرحبا العالم!

    А роза упала на лапу Азора

    مرحبا العالم!

    содержимое одного элемента включает в себя как текст слева-направо, так и справа-налево, мы можем явно этим управлять при помощи невидимых символов:

    • &lrm; (left-to-right mark) – форсирует отображение текста слева-направа.
    • &rlm; (right-to-left mark) – форсирует отображение текста справа-налево.
    
    
    

    لغة C++&lrm; هي لغة برمجة تستخدم.

    لغة C++ هي لغة برمجة تستخدم.

    لغة C++‎ هي لغة برمجة تستخدم.

    لغة C++ هي لغة برمجة تستخدم.

    Переводимость текста

    Если необходимо обозначит какой-либо текст непереводимым, можно использовать атрибут translate.

    
    <p>Press button <span translate="yes">RESUME</span> to continue</p>
    <p>Нажмите кнопку <span translate="no">RESUME<span/>, чтобы продолжить</p>
            
    ДЕМО

    Слияемость текста

    Если письмо подразумевает слитное начертание некоторых символов, то мы можем явно этим управлять при помощи невидимых символов.

    
    
    

    क्

    क्‌ष

    <p>क्&zwnj;ष</p>

    क्

    क्ष

    क्‌ष

    Спасибо

    На дом

    • time
    • abbr
    • dfn
    • ins/del
    • menu
    • dialog
    • var
    • dfn
    • dl,dt,dd
    • colgroup
    • fieldse
    • legend

    ДЗ

    Ссылки

    HTML часть I

    HTML часть II

    HTML5 (W3C)

    HTML5 (WHATWG)

    HTML – справочник

    HTML5book

    Мета – тэги

    История