html Flashcards
Что такое html?
HTML — это сокращение от «Hypertext Markup Language». Это стандартный язык форматирования текста, используемый для создания и отображения страниц в Интернете. HTML-документы состоят из двух частей: содержимого и тегов, которые форматируют его для правильного отображения на страницах.
Язык гипертекстовой разметки HTML был разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1986—1991 годах в стенах ЦЕРНа в Женеве в Швейцарии.
Что такое теги в html?
Тег — это специальное служебное слово, заключенное в угловые скобки. Его ещё называют «элемент HTML». Тегов в языке HTML много и каждый что-то делает с контентом, который обычно находится внутри скобок или между тегами.
Если тег парный, то тегу <ТЕГ> соответствует </ТЕГ>.
Какие теги html ты знаешь?
Теги HTML можно классифицировать по различным критериям в зависимости от их функционального назначения или способа применения. Вот некоторые из возможных классификаций тегов:
По функциональному назначению:
Теги структуры: Они определяют структуру документа, такие как <html>, <head>, <body>.
Теги текста: Используются для форматирования текста, такие как <p>, <h1>-<h6>, <b>, <i>.
Теги ссылок и мультимедиа: Включают <a> для ссылок, <img></img> для изображений, <audio> и <video> для мультимедийных файлов.
Теги списков и таблиц: Это <ul>, <ol>, <li> для списков и <table>, <tr>, <th>, <td> для таблиц.
Теги форм: Они позволяют создавать формы для ввода данных, такие как <form>, <input></input>, <textarea>, <select>, <button>.
По способу применения:</button></select></textarea></video></audio></a></i></b>
Блочные теги: Эти теги занимают всю доступную ширину и начинаются с новой строки. Примеры: <div>, <p>, <h1>-<h6>.
Строчные теги: Эти теги занимают только необходимое пространство и не переносят текст на новую строку. Примеры: <span>, <a>, <strong>.
Теги, принимающие атрибуты: Эти теги могут принимать атрибуты для изменения их поведения или внешнего вида. Примеры: <img></img>, <a>, <input></input>.
Теги контейнеры: Эти теги могут содержать другие элементы. Примеры: <div>, <span>, <ul>, <ol>.
Теги самозакрывающиеся: Эти теги не имеют закрывающего тега и используются для вставки элементов без контента, таких как изображения или линии разделителя. Примеры: <img></img>, <input></input>, <br></br>.
По семантическому назначению:</span></a></strong></a></span>
Теги контейнеры: Эти теги определяют семантическую структуру документа, такую как <header>, <footer>, <nav>, <article>, <section>.
Теги семантического форматирования: Эти теги помогают определить семантическое значение текста, такое как <em>, <strong>, <mark>, <cite>.
Теги для связывания документов: Эти теги используются для создания связей между различными документами, такие как <link></link>, <a>, <iframe>.
Теги для метаданных: Эти теги предоставляют информацию о документе или его содержимом, такие как <meta></meta>, <title>, <base></base>.</title></a></cite></mark></strong></em>
Как вставить комментарий в HTML?
<!-- A SAMPLE COMMENT -->
Какие основные виды списков применяют при создании веб-страницы?
- Ordered list (нумерованный список — <ol>).
- Unordered list (маркированный список — <ul>).
- Definition list (список определений — <dl>).
- Menu list (список меню — <menu>).
Зачем мы используем альтернативный текст (атрибут alt тега <img></img>) для изображений?
Альтернативный текст отображается при отключенной загрузке графики в браузере пользователя или в случае проблемы при загрузке конкретного изображения. Этот текст даёт понять, что должно было быть изображено на этой картинке.
Что такое семантика в контексте html?
В контексте HTML, семантика относится к использованию элементов и атрибутов, которые передают смысл и значение содержимого веб-страницы. Это означает, что каждый элемент HTML должен использоваться с учетом его семантики - того, что он представляет или какое значение он несет в контексте содержимого страницы.
Использование семантических элементов в HTML помогает браузерам, поисковым системам и другим инструментам интерпретировать содержимое страницы более точно. Это важно для адекватной доступности контента для пользователей с ограниченными возможностями (например, слабовидящих или использующих скринридеры), а также для оптимизации поисковой выдачи и улучшения опыта пользователей.
Какие семантические теги вы знаете?
<header>: Определяет верхнюю часть документа или секции, обычно содержащую заголовки, логотипы и навигационные элементы.
<nav>: Определяет навигационную область документа, которая содержит ссылки на другие страницы или разделы текущего документа.
<main>: Определяет основное содержимое документа, которое обычно содержит уникальный для страницы контент.
<article>: Определяет независимую статью, пост или блок содержимого, который может быть переиспользован или оценен независимо от остальной части страницы.
<section>: Определяет раздел документа, который может включать в себя группу связанных контентных элементов.
<aside>: Определяет боковую панель, которая содержит контент, который связан с основным контентом страницы, но может быть вынесен за его пределы.
<footer>: Определяет нижнюю часть документа или секции, обычно содержащую информацию об авторстве, ссылки на контактные данные или дополнительные ссылки.
<figure> и <figcaption>: <figure> используется для обозначения самостоятельных элементов контента, таких как изображения, графики или видео, а <figcaption> - для предоставления подписи или описания к этим элементам.
<details> и <summary>: <details> определяет дополнительные детали, которые могут быть скрыты или раскрыты пользователем, а <summary> - заголовок или краткое описание этих дополнительных деталей.
Семантических тегов очень много.
</summary></details></summary></details></figcaption></figure></figcaption></figure></footer></aside></section></article></main></nav></header>
В чем разница между тегом article и тегом section?
Основное различие между <article> и <section> заключается в том, что <article> обозначает самостоятельный и переиспользуемый контент (статья, блог-пост, комментарий, виджет новостей и т. д.), в то время как <section> используется для организации контента по тематическим разделам, не обязательно самостоятельным. В отличие от <article>, содержимое внутри <section> может быть связано друг с другом и не обязательно иметь смысл вне контекста остальной части страницы.
В чем разница между тегом i
и тегом em
?
Теги <i> и <em> оба используются для выделения текста курсивом, но они имеют различное семантическое значение и рекомендуются для разных целей. Тег <i> не обладает особым семантическим значением, тогда как <em> предназначен для выделения текста с акцентом и имеет семантическое значение и например робот зачитывающий текст обернутый в этот тег сделает на нем акцент голосом.</em></i></em></i>
Для чего нужен DOCTYPE?
DOCTYPE — это сокращение от DOCument TYPE (тип документа). DOCTYPE всегда связан с DTD — Document Type Definition (определение типа документа).
Для веб-страниц объявление DOCTYPE необходимо. Он используется для того, чтобы сообщить пользовательскому агенту, к какой версии спецификаций HTML принадлежит ваш документ.
DOCTYPE для стандарта HTML5 определяется как <!DOCTYPE html>.
Для чего нужны data-атрибуты?
До того, как JavaScript-фреймворки стали популярны, фронтенд-разработчики использовали data- атрибуты чтобы хранить дополнительные данные прямо в DOM без хаков вроде нестандартных атрибутов или дополнительных свойств в DOM. Атрибуты этого семейства предназначены для хранения частных данных пользователя, для которых не существует более подходящих атрибутов или элементов на странице или в приложении.
На сегодняшний день использование data-атрибутов не поощряется. Одной из причин является то, что пользователь может модифицировать данные в атрибуте, используя инспектор кода в браузере. Данные лучше хранить в самом JavaScript и обновлять DOM.
Объясните разницу между <script>
, <script async>
и <script defer>
<script>
- отрисовка HTML блокируется, скрипт извлекается и выполняется немедленно, отрисовка HTML возобновляется после окончания выполнения скрипта.
<script async>
- скрипт будет получен и обработан параллельно с отрисовкой HTML, его выполнение закончится как только это будет возможно (обычно до того, как закончилась отрисовка HTML). Используйте async тогда, когда скрипт не зависит от других скриптов на странице, например для аналитики.
<script defer>
- скрипт будет получен параллельно с отрисовкой HTML, его выполнение произойдет после того, как вся страница будет загружена. Если таких скриптов несколько, то каждый из них будет исполнятся в том порядке, в котором они расположены в документе. Если скрипту нужен полностью распарсенный DOM, то атрибут defer
обеспечит уверенность в том, что на момент отработки скрипта весь HTML отрисован. Нет особой разницы со скриптами, расположенными перед тегом <body>
. Отложенный скрипт не должен содержать document.write
.
Примечание: Атрибуты async
и defer
игнорируются, если у тега <script>
нет атрибута src
.
Почему хорошей практикой считается располагать <link>
для подключения CSS между <head></head>
, а <script>
для подключения JS ставить перед </body>
? Знаете ли вы исключения?
Размещение <link></link> внутри <head>
Размещение <link></link> внутри тега <head> необходимо при создании оптимизированного веб-сайта. Когда страница загружается впервые, HTML и CSS анализируются одновременно; HTML создает DOM (объектную модель документа), а CSS создает CSSOM (объектную модель CSS). И то, и другое необходимо для создания визуальных элементов на веб-сайте, что позволяет быстро определить время «первого значимого рисования». Этот прогрессивный рендеринг является категорией оптимизации сайтов, которые измеряются в их показателях эффективности. Размещение таблиц стилей в нижней части документа - это то, что препятствует прогрессивной загрузке страницы во многих браузерах. Некоторые браузеры блокируют рендеринг, чтобы избежать перерисовки элементов страницы, если ее стили изменятся. Все это время пользователь будет пялиться на пустую белую страницу. В других случаях может возникать мерцание нестилизованного содержимого (FOUC), на котором может отображаться веб-страница без применения стилей.
Размещение
прямо перед </body>
Теги
блокируют отрисовку HTML на то время, пока они скачиваются и исполняются. Размещение скриптов внизу позволяет сперва распарсить и показать пользователю весь HTML.
Исключением является случай, когда в вашем скрипте содержится document.write(). Но на сегодняшний день его использование не считается хорошей практикой. К тому же, расположение скриптов внизу разметки означает, что браузер не может начать их скачивать до тех пор, пока не отрисован весь документ. Единственным рабочим способом, при котором
будет расположен внутри <head>, является добавление атрибута defer.
Что такое атрибуты в html?
В HTML, атрибуты (attributes) - это дополнительная информация, которая добавляется к HTML элементам для определения их свойств или поведения. Атрибуты предоставляют дополнительные сведения о том, как браузер должен обрабатывать элементы или каким образом они должны отображаться. Атрибуты содержат две основные части: имя и значение.
Какие глобальные атрибуты вы знаете?
Глобальные атрибуты — это атрибуты общие для всех HTML-элементов; они могут использоваться всеми элементами, хотя на некоторые элементы могут не оказывать влияния.
Они используются для предоставления дополнительной информации или функциональности элементам, улучшая их поведение или внешний вид по умолчанию.
Примерыid
class
lang
style
hidden
aria-*
Опишите структуру HTML-элемента
<p>Мой кот очень сердитый</p>
`
Основными частями элемента являются:
- Открывающий тег: Он состоит из названия (обозначения) элемента (в нашем случае, p), помещённого внутри угловых скобок. Данный тег служит признаком начала элемента, с этого момента тег начинает влиять на следующее после него содержимое.
- Закрывающий тег: выглядит как и открывающий, но содержит слеш перед названием тега. Он служит признаком конца элемента. Пропуски закрывающих тегов — типичная ошибка новичков, которая может приводить к неопределённым результатам — в лучшем случае всё сработает правильно, в других страница может вовсе не прорисоваться или прорисоваться не как ожидалось.
- Содержимое: Как видно, в нашем случае содержимым является простой текст.
Элемент: открывающий тег + закрывающий тег + содержимое = элемент.