на Наразібільшість браузерів відображають сайти, самостійно розшифровуючи та підправляючи помилки веб-майстрів. Однак потрібно бути уважним при написанні HTML - необхідно дотримуватись правил валідності, т.к. правильна верстка важлива для оптимізації сайту, а також допоможе не збожеволіти користувачам, які відкриють ваш сайт у браузерах ранніх версій.
Використовуйте
Елементрозташовується на першому рядку будь-якої HTML-сторінки. Він визначає версію мови розмітки, яка використовується на сторінці. На даний момент рекомендується використовувати doctype виду- він універсальний для будь-якої версії мови.
Використовуйте правильну структуру документа
Теги ,
, завжди повинні бути присутніми в коді, це робить сторінку сумісною зі стандартами і гарантує, що вона коректно відображатиметься.
Неправильно
Hello world!
hello world!
Правильно
Hello world!
hello world!
Визначайте технічну інформацію сторінки правильно
Мета-теги та стилі слід вказувати в
, а не десь у тілі сторінки. Скрипти переважно підключати внизу сторінки перед тегом, що закривається.. Перевага цього підходу в тому, що до відображення контенту сторінки браузер завантажує тільки стилі, а скрипти він завантажить в останню чергу, що дозволяє користувачу швидше побачити вміст сторінки.
Неправильно
Hello world!
Правильно
Hello world!
Дотримуйтесь стандартів розмітки
Використовуйте елементи відповідно до їх семантики
Перевіряйте html-код на валідність
Використовуйте альтернативний текст для зображень
Зображення повинні завжди містити атрибут alt. Браузер покладається на цей атрибут, щоб забезпечити контекст для зображення. Атрибут alt повинен містити текст, який буде відображатися в тому випадку, якщо зображення не завантажилося.
Неправильно
Правильно
Не використовуйте стилі в HTML розмітці
Це створює сторінки, які завантажуються надто довго та важко підтримуються. Прописуйте всі стилі в окремому документі CSS. Намагайтеся використовувати тег і атрибут styleз мінімуму.
Пишіть коментарі
Коментуйте код, але не перестарайтеся. Коментарі, які написані коротко і зрозуміло, можуть послужити відмінною допомогою для інших розробників, а також важливим нагадуванням для вас через деякий час.
Приклад:
Сторінка
Використовуйте відповідні імена класів
Задавайте імена css-класам відповідно до змісту блоку, наприклад: шапка – header, підвал – footer, меню – menu, контент – content. Завдяки цьому код буде набагато зрозумілішим і його легше буде підтримувати.
Поганий код
Пункт меню 1
Пункт меню 2
Пункт меню 3
Хороший код
Пункт меню 1
Пункт меню 2
Пункт меню 3
Правила написання CSS
У css також є правила, за якими можна зберегти код простим, легко читаним і добре організованим.
Скидайте стилі браузера за промовчанням
Вони можуть заважати стилям, які ми хочемо застосувати насправді. Завантажити файл для скидання стандартних стилів браузера можна тут - reset.css.
Розділяйте основні блоки коментарями, це покращить читання коду.
Приклад:
/*HEADER*/ header ( } /*HEADER END*/
/*MAIN*/ main ( } /*MAIN END*/
/*FOOTER*/ footer ( } /*FOOTER END*/
Перевіряйте css-код на валідність
Висновок
Дані рекомендації та правила лише основи, оскільки мови HTML і CSS розвиваються все швидше, розробляються нові методи написання правильного коду. Дотримуючись наших рекомендацій, ви будете впевнені, що ваш код є простим, легко читається і оптимізований. А також отримайте +100 до карми та подяки від розробників, які мають працювати над сайтом після вас.
Disclosure:Допоможіть helps keep the site running! Були пізні листи для деяких служб, які recommend на цій сторінці. Learn more
Sharing is caring!
Attribute of What does
do? Була використана для особливості display of internal borders between rows and colums. Цей атрибут має бути невиявленим. Використовуйте CSS для style table borders instead.
The Rules Attribute has been DeprecatedЦей атрибут має бути невикористаним і не повинен бути використаний. Браузер підтримує цей атрибут є обмеженим і використовуючи його може викликати невідповідні результати. Instead, використовуйте CSS для стилів tables.
The RULES Attribute
RULES , HTML 4.0 attribute, позначають, якщо вони повинні бути міжнародними borders в table. Будь-який з них є значеннями RULES and demonstrate, як вони використовуються. Для того, щоб скористатися вашим життям, він є правилом дому: якщо ви використовуєте RULES also use FRAME and BORDER .
NONE Value for the RULES Attribute
RULES=NONE means that there are no inside borders. RULES=NONE is default if you don't use BORDER or set it to zero, but otherwise must be explicitly stated to have inside borders.
Name
Food
Starflower
stir fied tofu
Miko
vegetable rice soup
Andy
hummus
Ping
french toast
The ALL Value for the RULES Attribute
RULES=ALL indicates that all the internal borders should be visible. RULES=ALL is usually used in conjunction with FRAME=VOID тому, що вони є двома borders а не inner borders.
When applied to a table, що значення gives us this result:
Name
Food
Starflower
stir fied tofu
Miko
vegetable rice soup
Andy
hummus
Ping
french toast
The COLS Value for the RULES Attribute
COLS indicates, що вони повинні бути межами між columnами, але не між рядками.
When applied to a table, що значення gives us this result:
Name
Food
Starflower
stir fied tofu
Miko
vegetable rice soup
Andy
hummus
Ping
french toast
ROWS Value for the RULES Attribute
RULES=ROWS indicates, що вони повинні бути межами між рядками, але не між колонками.
When applied to a table, що значення gives us this result:
Name
Food
Starflower
stir fied tofu
Miko
vegetable rice soup
Andy
hummus
Ping
french toast
GROUPS Value for the RULES Attribute
RULES=GROUPS дозволяє вам виконати межі між групами таблиць. Там є два способи, які можуть бути згруповані: за рівнем і по колу. Let's go over each of them. Зверніть увагу, що поточно Netscape не знаходить RULES .
Grouping By Row
To 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, цей код створить table with three groups. Borders appear just between groups:
Name
Food
Price
Starflower
stir fied tofu
5.95
Miko
vegetable rice soup
4.95
Andy
hummus
3.95
Ping
french toast
5.95
Total
20.80
Here"s how that table renders:
Name
Food
Price
Starflower
stir fied tofu
5.95
Miko
vegetable rice soup
4.95
Andy
hummus
3.95
Ping
french toast
5.95
Total
20.80
Grouping By Column
To group by column use the
tag and its SPAN attribute.
Такий простий вибір, використовуваний для того, щоб це було в будь-якому місці за будь-яким table cells.
для того, щоб дізнатися, як багато columns є в кожній групі. Якщо ви тримаєте SPAN від того, що він зарахований до групи, має тільки один колір. Так, для прикладу, наступні коди слів, що перша колонка є в групі його, і три по тому, що є всередині групи. Notice that
requires an end tag. Borders will go only between the groups.
Основи HTMLмістять основні правила мови HTML, опис структури HTML-сторінки, відносини у структурі HTML-документа між HTML-елементами.
HTML-документ – це звичайний текстовий документ, може бути створений як у звичайному текстовому редакторі(Блокнот), так і в спеціалізованому, з підсвічуванням коду (Notepad++, Visual Studio Codeі т.п.). HTML-документ має розширення.html.
HTML-документ складається з дерева HTML-елементів та тексту. Кожен елемент позначається у вихідному документі початковим (відкриває) і кінцевим (закриває) тегом (за рідкісним винятком).
Початковий тегпоказує, де починається елемент, кінцевий – де закінчується. Закриваючий тегутворюється шляхом додавання слеша / перед ім'ям тега:<имя тега> … имя тега>. Між початковим та закриваючим тегами знаходиться вміст тега – контент.
Поодинокі теги не можуть зберігати вміст вмісту безпосередньо, він прописується як значення атрибута, наприклад, тег створить кнопку з текстом Кнопкавсередині.
Теги можуть вкладатися один в одного, наприклад,
Текст
. При вкладенні слід дотримуватись порядку їх закриття (Принцип «матрьошки»), наприклад, наступний запис буде неправильним:
Текст
.
HTML-елементи можуть мати атрибути (глобальні, які застосовуються для всіх HTML-елементів, та власні). Атрибути прописуються у тезі елемента і містять ім'я і значення, що вказуються у форматі ім'я атрибута="значення" . Атрибути дозволяють змінювати властивості та поведінку елемента, для якого вони задано.
Кожному елементу можна надати кілька значень class і лише одне значення id . Множинні значення class записуються через пробіл,
. Значення class та id повинні складатися лише з літер, цифр, дефісів та нижніх підкреслень і повинні починатися лише з літер чи цифр.
Браузер переглядає (інтерпретує) HTML-документ, вибудовуючи його структуру (DOM) та відображаючи її відповідно до інструкцій, включених до цього файлу (таблиці стилів, скрипти). Якщо правильна розмітка, то у вікні браузера буде відображена HTML-сторінка, що містить HTML-елементи - заголовки, таблиці, зображення і т.д.
Процес інтерпретації (парсинг)починається, перш ніж веб-сторінка повністю завантажена в браузер. Браузери обробляють HTML-документи послідовно, від початку, обробляючи CSS і співвідносячи таблиці стилів з елементами сторінки.
HTML-документ складається з двох розділів - заголовка між тегами
… і змістовної частини між тегами … .
Структура веб-сторінки
1. Структура HTML-документа
Мова HTML дотримується правил, які містяться у файлі оголошення типу документа (Document Type Definition, або DTD). DTD є XML-документом, що визначає, які теги, атрибути та їх значення дійсні для конкретного типу HTML. Для кожної версії HTML є власний DTD.
DOCTYPEвідповідає за коректне відображення веб-сторінки браузером. DOCTYPE визначає не тільки версію HTML (наприклад, html), але й відповідний файл DTD в Інтернеті.
...
Елементи, що знаходяться всередині тега , утворюють дерево документа, так звану об'єктну модель документа, DOM (document object model). При цьому елемент є кореневим елементом.
Рис. 1. Найпростіша структура веб-сторінки
Щоб розібратися у взаємодії елементів веб-сторінки, необхідно розглянути так звані "родинні стосунки"між елементами. Відносини між множинними вкладеними елементами поділяються на батьківські, дочірні та сестринські.
Предок- елемент, який містить у собі інші елементи. На малюнку 1 предком для всіх елементів є . Водночас елемент
є предком для всіх тегів, що містяться в ньому:
,
, ,
Нащадок- Елемент, розташований всередині одного або більше типів елементів. Наприклад,
є нащадком , а елемент
Є нащадком одночасно для
і .
Батьківський елемент- елемент, пов'язаний з іншими елементами нижчого рівня, і що знаходиться на дереві вище за них. На малюнку 1
Сестринський елемент- Елемент, що має загальний батьківський елемент з аналізованим, так звані елементи одного рівня. На малюнку 1
і - Елементи одного рівня, так само як і елементи
,
і
Є між собою сестринськими.
1.1. Елемент
1.2. Елемент
Розділ
...містить технічну інформаціюпро сторінку: заголовок, опис, ключові словадля пошукових машин, кодування тощо. Введена інформація не відображається у вікні браузера, проте містить дані, які вказують браузеру, як слід обробляти сторінку.
1.2.1. Елемент
Обов'язковим тегом розділу
є тег . Текст, розміщений усередині цього тега, відображається у рядку заголовка веб-браузера. Довжина заголовка повинна бути не більше 60 символів, щоб повністю поміститися у заголовку. Текст заголовка повинен містити максимально повний опис вмісту веб-сторінки.
1.2.2. Елемент
Необов'язковим тегом розділу
є одинарний тег . З його допомогою можна задати опис вмісту сторінки та ключові слова для пошукових машин, автора HTML-документа та інші властивості метаданих. Елемент може містити декілька елементів , тому що в залежності від атрибутів, що використовуються, вони несуть різну інформацію.
Опис вмісту сторінки та ключові слова одночасно можна вказувати кількома мовами, наприклад, російською та англійською:
За допомогою тега можна заборонити або дозволити індексацію веб-сторінки пошуковими машинами:
Сторінку буде перезавантажено через 30 секунд. Щоб перекинути відвідувача на іншу сторінку, потрібно вказати URL-адресу у параметрі url:
Таблиця 2. Атрибути тега
Атрибут
charset
Вказує кодування символів для поточного документа HTML:
content
Містить довільний текст, який визначає значення, що асоціюється з атрибутом http-equiv або name залежно від їх значення.
http-equiv
Контролює дії браузера на веб-сторінці (еквівалент HTTP заголовків). При відображенні сторінки браузер дотримуватиметься інструкцій, заданих в атрибуті: default-style вказує найкращий стиль для використання на сторінці. Атрибут content повинен мати ідентифікатор елемента , який посилається на таблицю стилів CSS або ідентифікатор елемента
з використанням елемента . Елемент не вимагає тега, що закриває. Цей елемент визначає співвідношення між поточною сторінкою та іншими документами. Таких елементів на сторінці може бути декілька. Запис матиме такий вигляд:
Таблиця 4. Атрибути тега
Атрибут
Опис, прийняте значення
crossorigin
Вказує, чи має використовуватися CORS (технологія браузерів, яка дозволяє надати веб-сторінці доступ до ресурсів іншого домену) при вилученні зображення із сайту. anonymous — до крос-доменного запиту браузер автоматично додає заголовок Origin, що містить ім'я домену, з якого здійснено запит. Якщо сервер не відповість CORS-заголовком Access-Control-Allow-Origin: * (або ім'я домену замість зірочки), завантаження зображення буде заблоковано. use-credentials — якщо сервер не надає облікові дані за допомогою Access-Control-Allow-Credentials: true , завантаження зображення буде заблоковано.
href
Основний атрибут тега, як значення, виступає шлях до файлу зі стилями.
hreflang
Визначає мову тексту в документі, яким йде посилання.
media
Визначає тип пристрою, до якого має бути використаний ресурс посилання.
nonce
Генерована випадковим чином на сервері рядкова змінна, яка встановлює правила використання вбудованих стилів для захисту контенту. Значення атрибута – рядок тексту.
rel
Атрибут визначає відносини між поточним документом та документом, на який йде посилання. alternate — посилання на той самий документ, але в іншому форматі (наприклад, сторінки для друку, переклад, дзеркало, стрічка у форматі RSS або Atom),
.
archives - Вказує на те, що документ за посиланням представляє історичний інтерес. Посилання може вказувати на колекцію записів, документів та інших матеріалів. author посилання на сторінку про автора документа або на сторінку з контактними даними автора. bookmark посилання на найближчого предка статті, що є сполучною ланкою, або розділ статті, найбільш тісно пов'язаних з елементом, якщо немає предка. external використовується для вказівки того, що сторінка, на яку веде посилання, не є частиною даного сайту. first вказує посилання, що веде перший документ з послідовності документів. help посилання на документ із довідкою. icon визначає шлях до іконки, яка буде використана для поточного документа. last вказує посилання, що веде останній документ в послідовності документів. license посилання на відомості про авторські права документа. next вказує, що цей документ є частиною серії, і що посилання веде до наступного документа в цій серії.
nofollow вказує на те, що посилання не схвалено автором сторінки або посилання носить комерційний характер. noreferrer вказує на те, що заголовок запиту клієнта, що містить URL джерела запиту, не повинен передаватися при переході за посиланням. pingback вказує адресу пінгбек-сервера, що дає можливість для блогу автоматично сповіщати сайти, що посилаються на нього. prefetch вказує, що слід заздалегідь кешувати файл, який веде посилання. prev вказує, що цей документ є частиною серії, і посилання веде на попередній документ у цій серії.
search показує, що документ містить інтерфейс пошуку та пов'язаних з ним ресурсів. sidebar вказує, що документ, якщо це можливо, буде показаний в додатковому контексті браузера, і деякі браузери при натисканні на гіперпосиланні відкривають вікно для додавання посилання в панель закладок. stylesheet посилання на зовнішній файл, який буде використовуватися як таблиця стилів для цього документа. tag вказує на те, що мітка, на яку веде гіперпосилання, відноситься до цього документа. up вказує, що сторінка є частиною ієрархічної структури, і що гіперпосилання веде більш високий рівень ресурсу у структурі.
sizes
Вказує розмір ікон для візуального відображення. Атрибут sizes використовується тільки спільно з rel="icon" , і може набувати наступного значення: ширина висота - визначає список розмірів, розділених пробілами, кожен розмір повинен бути у форматі - ширина висота (розміри іконки задаються в пікселях), наприклад:
; any - іконка може масштабуватись до будь-якого розміру.
title
Визначає назву посилання або назву набору альтернативних таблиць стилів. Значення атрибута тексту.
type
Визначає MIME-тип документа, який йде посилання. У цьому випадку він набуває значення "text/css" .