Что такое навык html
Что входит в навыки HTML Academy
Задача верстальщика — создать рабочий интерфейс, используя грамотный и валидный код. Но как самостоятельно проверить, что с кодом всё хорошо? Чтобы помочь с ответом, мы собрали примеры решения реальных задач и подготовили подробные инструкции для каждой из них.
Навык — инструкция по решению конкретной задачи, поэтому в навык входят теория, демонстрации и кейсы. Это помогает разобраться в вопросе, посмотреть, как задача устроена изнутри, и решить похожие задачи своими руками, чтобы закрепить навык.
Кроме верстальщиков, навыки пригодятся преподавателям веб-разработки. По сути, каждый навык — готовая методичка с практическими примерам для отработки темы.
Рассмотрим навык «Создание семантической разметки по макету». Правильная разметка делает страницу понятной и удобной для использования и браузеру, и пользователю. Создавать её важно для проектов любой сложности, от простых лендингов до сложных многостраничных интерфейсов.
Теория на человеческом языке
Навык начинается с подробного алгоритма разметки страницы с примерами и интересными фактами. Это тот случай, когда теорию читать нескучно и познавательно.
В методике приведены примеры вёрстки из реальных проектов. В особо сложных случаях есть ссылки на статьи и дополнительные материалы, чтобы было проще разобраться.
Без интересных фактов — никуда
Для тех, кто знаком с темой, предусмотрен раздел с углубленной теорией — там есть информация про спецификации, подходы к верстке и типовые ошибки в использовании тегов.
Интерактивные демонстрации
Демки — песочница для будущего верстальщика. Пошаговые инструкции помогут разобраться в теории и пошагово создать структуру будущего сайта на основе дизайна из задания. Задания в демках отличаются по сложности: от простых страничек ученики переходят к продвинутым проектам, пошагово разбирая все этапы создания разметки.
Интерфейс помогает лучше усвоить тему: новые строчки кода подсвечены в редакторе, а в разметку добавлено цветовое кодирование важных частей сетки макета.
Редактор подсказывает
Тренировочные кейсы
Тренировочные кейсы помогают закрепить навык на практике.
Каждый кейс содержит макет страницы, все тексты и скриншоты того, что должно получиться в результате. Задача ученика — разметить страницу максимально близко к образцу. После этого нужно загрузить решение на сайт — система проверит код по заданным критериям и, если есть замечания, укажет на проблемные места. Чтобы довести проект до идеала, можно отправить решение несколько раз.
Преподаватели могут использовать тренировочный кейс как зачёт по теме — это способ проверить знания и умения учеников и сэкономить время на проверке.
Возможные ошибки подробно описываются, чтобы их было легче исправить
В полном комплекте навыка пользователю доступно 3 демонстрационных (по одному на каждый уровень сложности) и 6 тренировочных кейсов. Бонус для тех, у кого есть подписка HTML Academy — ещё 3 тренировочных кейса в подарок.
Получите полезный навык
Семантическая разметка текста — основа работы верстальщика.
Профессиональные навыки
Наборы кейсов с эталонными решениями для освоения типовых профессиональных задач.
Что такое навык?
Список профессиональных навыков
Создание семантической разметки по макету
Описание профессиональной задачи
Опираясь на графический макет, нужно спроектировать информационную архитектуру страниц и написать корректную, семантичную и выразительную HTML-разметку.
Материалы комплекта
Экспорт параметров и графики из PSD‑макетов
Описание профессиональной задачи
Нужно получить из макета всё необходимое для стилизации: параметры шрифтов, размеры и отступы, параметры теней и скруглений и так далее. Также нужно экспортировать всю графику, в оптимальном формате и оптимальном соотношении качество/вес.
Материалы комплекта
Построение сеток на флексах по макету
Построение сеток на флексах по макету Описание профессиональной задачи
Опираясь на графический макет, нужно построить сетку крупных блоков страницы с использованием флексбокса. Сетка должна соответствовать макету и быть устойчива к разным типам переполнения (изменение контента или количества колонок).
Материалы комплекта
Экспорт параметров и графики из Figma
Описание профессиональной задачи
Нужно получить из макета всё необходимое для стилизации: параметры шрифтов, размеры и отступы, параметры теней и скруглений и так далее. Также нужно экспортировать всю графику, в оптимальном формате и оптимальном соотношении качество/вес.
Материалы комплекта
Вёрстка текстового содержимого страниц
Описание профессиональной задачи
Пул задач, включающий профессиональное оформление текстовых сайтов, подключение сторонних шрифтов, подготовку страниц для работы с CMS, вёрстку обтекаемых элементов (изображений, буквиц, врезок), тонкую настройку типографики (переносы слов, неразрывные пробелы, интерлиньяж, трекинг).
Материалы комплекта
Построение сеток на гридах по макету
Описание профессиональной задачи
Опираясь на графический макет, нужно построить сетку крупных блоков страницы с использованием технологии CSS Grid Layout. Сетка должна быть спроектирована с учётом разных вариантов переполнения (переполнения контентом, изменения количества колонок) и должна визуально соответствовать макету.
Материалы комплекта
Вёрстка навигационных элементов интерфейса
Описание профессиональной задачи
Умение верстать типовые навигационные элементы: линейное и многоуровневые меню, «выпадающие» подменю, пагинацию, «хлебные крошки», сложные списки и другие.
Материалы комплекта
Вёрстка многослойных элементов интерфейса
Описание профессиональной задачи
Нужно сверстать типовые многослойные элементы: слайдеры, «всплывающие» попапы, модальные окна, тултипы-подсказки, прокручивающиеся вместе со всем сайтом «липкие» меню, выпадающие элементы интерфеса, «прелоадеры» и подобные элементы.
Материалы комплекта
Вёрстка карточных элементов интерфейса
Описание профессиональной задачи
Список карточек и карточки товаров — очень распространённый интерфейсный паттерн. Он применяется в интернет-магазинах, лендингах и даже простых текстовых сайтах. Верстальщику при реализации таких элементов нужно учитывать неочевидные с первого взгляда вещи: переполнение контентом и замену графики при наполнении интерфейса из CMS, управление контролами карточек с клавиатуры, интеграцию с JavaScript. И именно эти умения вы получите при освоении навыка.
Материалы комплекта
Разметка по БЭМ
Описание профессиональной задачи
Методология БЭМ (Блок, Элемент, Модификатор) — широко распространённый в веб-разработке компонентный подход к описанию структуры интерфейса. Такая структура позволяет быстро создавать предсказуемую и надёжную вёрстку интерфейсов любой сложности. БЭМ-компоненты можно легко расширять и переиспользовать без дублирования кода. Освоив этот навык, вы сможете на этапе анализа макета уверенно разделять интерфейс на независимые блоки и их элементы, определять взаимосвязи между ними, а затем воплощать полученную структуру в разметке.
Материалы комплекта
Работа с DOM в JavaScript
Описание профессиональной задачи
Для «оживления» страницы нужно создавать, удалять, перемещать, управлять элементами HTML-страницы и отображать данные в шаблонах с помощью JavaScript.
Материалы комплекта
Компонентная вёрстка по БЭМ
Описание профессиональной задачи
По спроектированной БЭМ-структуре макета нужно сверстать отдельные компоненты и собрать из них интерфейс целиком.
Использование анимации в интерфейсе
Описание профессиональной задачи
Нужно применять CSS-, SVG- и JS-анимации для создания динамических визуальных эффектов и улучшения работы статичных интерфейсов.
Основы HTML для начинающих
Для изучения урока, скачайте архив с необходимыми файлами.
Вы, наверняка, работали когда-нибудь в редакторе документов Word или подобных офисных приложениях? Наверное вы знаете, что данный вид редакторов имеет богатые возможности для редактирования текста, расположения элементов, вставки картинок и т. д.
Зачем, спросите вы, писать в статье, посвященной HTML о текстовых процессорах? А вот зачем. Если разобраться, что такое офисный редактор? Это приложение для редактирования и отображения документов.
На самом деле, существует масса редакторов, с помощью которых можно создавать и редактировать HTML странички по аналогии с Word. То есть исходный HTML код для нас скрыт и в него мы не лезем.
Этакий Word для HTML. Такие визуальные редакторы называются:
Так что, HTML будем писать только ручками. Адекватных инструментов для визуального редактирования HTML еще не придумали, да и врядли они появятся. Язык разметки HTML прост в освоении и понимании, а средств автоматизации написания HTML кода множество, но об этом в других уроках.
Повозившись немного с WYSIWYG редактором, юные HTML-гуру оставляют это бесперспективное занятие и двигаются дальше.
Структура документа HTML
Рекомендую для занятий скачать и установить редактор Sublime Text. Крайне не рекомендую использовать для HTML верстки встроенный в Windows «Блокнот», если вы не хотите сломать себе психику на ранних порах изучения HTML.
Обратите внимание, документы HTML имеют расширение .html.
Итак, по порядку из примера.
— тип документа (доктайп)
Данная конструкция всегда указывается в начале документа для правильного «понимания» браузером того, какая версия HTML используется при построении документа.
В принципе, углубляться в изучение типов документа нет ни какого смысла, ибо с выходом HTML5 данная конструкция стала стандартом. Просто вставляйте ее в начало документа каждый раз, когда начинаете верстать макет сайта.
— начало документа
Тег является обязательным, так как содержит всю структуру документа и является оболочкой для остальных элементов.
Тег предназначен для хранения метаинформации HTML документа, то есть информации, которая не отображается в самом документе, но является важной и во многом определяет, как документ будет выглядеть и как себя вести.
Данный тег обязателен в документе.
Метатег
Метатег, содержащий информацию о кодировке документа. Очень желательно указывать данный тег во всех создаваемых документах для правильного отображения. Отсутствие данного тега может привести к тому, что вместо слов, на странице будут отображены неведомые символы и текст перестанет быть разборчивым и человекопонятным.
Рекомендую во всех HTML документах изначально использовать кодировку UTF-8, как в примере выше.
Фавиконка (favicon)
CSS стили документа
Подключает к документу CSS файл со стилями оформления HTML.
Уровни владения HTML, CSS и Javascript: Часть 1. HTML
Вашему внимание предлагается достаточно большой отрывок статьи «Levels of HTML knowledge», написанной Роджером Йоханссеном 30 Мая 2006 года.
Прим. переводчика: Изначально я опубликовал этот пост в виде юмористических выдержек из трех статей, написанных тремя разными авторами и озаглавленных схожим образом: «Уровни владения HTML», «Уровни владения CSS» и «Уровни владения Javascript». Что, конечно же, было довольно глупой затеей. Осознание допущенной ошибки пришло через 5 минут и два минуса к посту и карме. Исправляюсь. Перевод «Уровней владения CSS» ждите завтра.
Уровень 0
Люди на этом уровне никогда не сталкивались с HTML, кроме как по ошибке, например, когда случайно открывали HTML-версию электронного письма в текстовом режиме. Эти люди не работают в веб-индустрии, и никогда не будут, поэтому у них нет ни причины, ни желания подняться выше нулевого уровня.
Уровень 1
HTML? Это такие штучки для того, чтобы делать текст жырным или курсивом?
Эти люди пользуются Интернетом достаточно давно и догадываются о том, что происходит за кулисами просматриваемого ими в данный момент веб-сайта. При попытке что-либо опубликовать в сети самим они беспомощны без какого-нибудь WYSIWYG-редактора. Это может быть Photoshop, Dreamweaver, Frontpage, или редактор, встроенный в CMS, которой им сказали пользоваться.
Люди, занимающиеся поддержкой содержания веб-сайта, зачастую находятся на этом уровне мастерства, а некоторые даже утверждают, что нет никакой надобности стремиться подняться на ступень выше. Многие визуально-ориентированные дизайнеры прочно застряли на этом уровне по своему собственному желанию, часто защищая свой выбор следующим: «Никто в печатном мире не редактирует PostScript-код вручную, так почему же в сети должно быть по другому?» К сожалению, многие менеджеры проектов также редко забираются выше первого уровня.
Уровень 2
Странички, которые я делаю в Macromedia Dreamweaver’е, отлично работают в Internet Explorer’е. Зачем мне вообще смотреть на этот HTML?
На этом уровне находятся люди, которые знают достаточно об HTML, чтобы изменить, добавить или удалить из документа пару-тройку тегов (на этом уровне всё называется тегами), которые они знают. Но особо сильного желания копаться в HTML у них никогда не возникает.
Разработчики второго уровня так же состоят из программистов, которые предпочитают безопасность Visual Studio или любой другой IDE, которую они используют. Они думают, что HTML — это слишком просто для них, и что их среда разработки достаточно продвинута, чтобы разобраться во все сама. Многие программисты второго уровня являются целевой аудиторией разработчиков CMS.
Уровень 3
Да, да. Я слышал об этих новых тэгах: ul, li и все такое. Но я отлично обхожусь своими любимыми table, img, br.
Многих веб-разработчиков старой школы, которые трудятся в индустрии с конца 90-х годов, можно найти на этом уровне. Вплоть до конца прошлого века эти люди писали HTML вручную, так что они знают все о вложенных таблицах и однопиксельных GIF-ах. С тех пор WYSIWYG-редакторы (такие как GoLive и Dreamweaver) улучшились до такой степени, что разработчики третьего уровня не видят никаких причин знать больше об HTML. Сейчас большая часть их работы, связанной с HTML, выполняется в дизайнерском режиме их редактора, поэтому они предпочли бы потратить свое время на изучение конкретного приложения, нежели вникать в то, что происходит за его кулисами.
Уровень 4
Слышь, а как можно сделать табличку с данными только div’ами и span’ами, не используя table?!
На этом уровне люди начинают сознательно использовать doctype-ы. На первом этапе это почти всегда переходный (transitional) doctype, чаще — XHTML 1.0 Transitional. Все таки XHTML является более поздней спецификацией чем HTML, так что наверное он лучше, правда? Люди на этом уровне являются также большими фанатами XHTML 1.1, наивно полагая, что более старшая версия подразумевает какие-то улучшения.
Услышав от кого-то, что использовать таблицы для разметки нельзя, многие программисты четвертого уровня используют div-ы для воссоздания таблицеподобных типов структуры. Так бывшие повара тег-супов становятся divоманами, которые денно и нощно производят тонны презентационной разметки с незамысловатами именами классов (red, blue, bigRedText и т.д.) и инлайновым CSS (атрибут style).
Большинство веб-разработчиков, которые достигли четвертого уровня, готовы продолжить обучение. Они понимают, что у методов, которые продвигаются авторами блоггов и книг о веб-стандартах, есть преимущество. Но они еще не поняли, почему эти методы лучше.
Уровень 5
Интересно, использование какого типа списка будет семантически более корректным в этом отрывке документа?
Если вы достигли этого уровня, я думаю, что вы уже имеете некоторые основания для гордости. Для большинства людей нет никаких веских причин забираться выше.
Уровень 6
Я считаю спецификации HTML 4.01 и XHTML 2.0 семантически ограниченными. Поэтому я сейчас работаю над собственным языком разметки.
Эти люди являются мудрецами нашей отрасли. Они тратят много времени на то, что будет полезным лишь в будущем, а не прямо сейчас. Среднестатистический разработчик не сможет воспользоваться результатами значительной части их труда по крайней мере еще лет пять.
На шестом уровне вам хочется больше, чем просто зарабатывать себе на жизнь созданием сайтов. Вместо этого вы можете отдавать много сил написанию будущих спецификаций или толкованию уже существующих для разработчиков браузеров.
Начало работы с HTML
В этой статье мы охватим азы HTML, необходимые для начала работы. Дадим определение «элементам», «атрибутам», «тегам» и прочим важным понятиям, о которых вы, возможно, слышали, а также об их роли в языке. Мы также покажем, как устроены HTML-элементы, типичная HTML-страница, и объясним другие важные аспекты языка. По ходу дела, чтобы вы не заскучали, мы поиграем с настоящей HTML-страницей!
Необходимые знания: | Умение работать с компьютером, наличие необходимого ПО, базовые знания о работе с файлами. |
---|---|
Цель: | Познакомиться с языком HTML и научиться описывать некоторые его элементы. |
Что такое HTML?
Если мы хотим, чтобы строка отобразилась в таком же виде, мы можем определить её, как «параграф», заключив её в теги элемента «параграф» (
Структура HTML-элементов
Давайте рассмотрим элемент «параграф» чуть подробнее:
Основными частями элемента являются:
Активное изучение: создание вашего первого HTML-элемента
Отредактируйте строку текста ниже в поле Ввод, обернув её тегами и (вставьте перед строкой, чтобы указать начало элемента, и после неё, чтобы указать конец элемента) — эти действия должны выделить строку текста курсивом! Вы можете видеть изменения в реальном времени в поле Вывод.
Если вы ошиблись, то всегда можете начать снова, воспользовавшись кнопкой Сбросить. Если упражнение вызывает у вас затруднения, то нажмите кнопку Показать решение, чтобы увидеть правильный ответ.
Вложенные элементы
Элементы должны открываться и закрываться правильно таким образом, чтобы явно находиться внутри или снаружи друг друга. Если они перекрываются так, как в примере выше, то ваш браузер попытается «додумать» за вас, что вы имели в виду, и вы получите непредсказуемый результат. Так что не делайте так!
Блочные и строчные элементы
Существует две важных категории элементов в HTML, которые вам стоит знать — элементы блочного уровня и строчные элементы.
Посмотрите на следующий пример:
— это элемент блочного уровня, так что каждый элемент находится на новой строке, с пространством выше и ниже каждого (этот интервал определяется CSS-оформлением по умолчанию, которое браузеры применяют к абзацам).
Примечание: HTML5 переопределил категории элементов в HTML: смотрите Категории типов содержимого элементов. Хотя эти определения точнее и однозначнее, чем те, которые были раньше, их гораздо сложнее понять, чем «блочный» и «строчный», поэтому мы будем придерживаться их в этом разделе.
Примечание: Не путайте термины «блочный» и «строчный», используемые в этом разделе, с одноимёнными типами отображения в CSS. Хотя по умолчанию они коррелируют, смена типа отображения в CSS не меняет категорию элемента и не влияет на то, во что его можно вкладывать и что можно вкладывать в него. Эта довольно частая путаница — одна из причин, почему HTML5 отказался от этих терминов.
Примечание: вам могут пригодиться справочники, включающие списки блочных и строчных элементов — смотри Элементы блочного уровня и Строчные элементы.
Пустые элементы
Не все элементы соответствуют вышеупомянутому шаблону: открывающий тег, контент, закрывающий тег. Некоторые элементы состоят из одного тега и обычно используются для вставки чего-либо в то место документа, где размещены. Например, элемент вставляет картинку на страницу в том самом месте, где он расположен:
Это выведет на вашу страницу следующее:
Примечание: Пустые элементы иногда называют void-элементами.
Атрибуты
У элементов также могут быть атрибуты, которые выглядят так:
My cat is very grumpy</p>» src=»https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Getting_started/grumpy-cat-attribute-small.png» style=»display: block; margin: 0px auto;» width=»1287″ height=»156″ loading=»lazy»>
Атрибуты содержат дополнительную информацию об элементе, которая, по вашему мнению, не должна отображаться в содержимом элемента. В данном случае атрибут class позволяет вам дать элементу идентификационное имя, которое в дальнейшем может быть использовано для обращения к элементу с информацией о стиле и прочими вещами.
Атрибут должен иметь:
Активное изучение: Добавление атрибутов в элемент
Если вы ошиблись, то всегда можете начать снова, воспользовавшись кнопкой Сбросить. Если упражнение вызывает у вас затруднения, то нажмите кнопку Показать решение, чтобы увидеть правильный ответ.
Булевые атрибуты
Для краткости совершенно допустимо записывать их следующим образом (мы также для справки разместили не деактивированный элемент input, чтобы дать вам большее понимание происходящего):
На выходе оба варианта будут выглядеть следующим образом:
Опускание кавычек вокруг значений атрибутов
Осматриваясь во всемирной сети, вы будете встречать различные незнакомые способы написания разметки, включая написание значений атрибутов без кавычек. Это допустимо при определённых условиях, но разрушит вашу разметку при других. Например, возвращаясь к нашему упражнению с гиперссылкой, мы можем написать основной вариант только с атрибутом href так:
Однако, как только мы добавим атрибут title в таком же стиле, мы поступим неверно:
Наш совет: всегда используйте кавычки в атрибутах — это позволит избежать подобных проблем, и, следовательно, код будет более читабельным.
Одинарные или двойные кавычки?
В этой статье вы заметите, что все атрибуты заключены в двойные кавычки. Однако, вы можете видеть одинарные кавычки в HTML документах других людей. Это исключительно дело вкуса, и вы можете свободно выбирать, какие из них предпочитаете. Обе следующие строки эквивалентны:
Однако вы должны убедиться, что не смешиваете их вместе. Следующее будет неверным!
Если вы используете один тип кавычек в своём HTML, то вы можете поместить внутрь их кавычки другого типа, не вызывая никаких проблем:
Если вы хотите вставить кавычки того же типа, то вы должны использовать объекты HTML. Например, это работать не будет:
Поэтому вам нужно сделать так:
Структура HTML документа
Ниже дан пример оборачивания основных, самостоятельных HTML-элементов, которые сами по себе не очень полезны. Давайте посмотрим, как самостоятельные элементы объединяются для формирования всей HTML страницы: