{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "CSS",
    "_rss_description": "CSS — язык стилей, используемый для описания внешнего вида и форматирования документов, написанных на HTML. Здесь я рассказываю о том, что нового узнал об этой технологии.",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/modenov.ru\/blog\/tags\/css\/",
    "feed_url": "https:\/\/modenov.ru\/blog\/tags\/css\/json\/",
    "icon": "https:\/\/modenov.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1756117061",
    "authors": [
        {
            "name": "Владимир Моденов",
            "url": "https:\/\/modenov.ru\/blog\/",
            "avatar": "https:\/\/modenov.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1756117061"
        }
    ],
    "items": [
        {
            "id": "83",
            "url": "https:\/\/modenov.ru\/blog\/all\/display-flex\/",
            "title": "Display: flex",
            "content_html": "<p><i>Продолжаю разбираться в дебрях <a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Learn\/Getting_started_with_the_web\/CSS_basics\">CSS<\/a>, а заодно и пытаться пересказывать полученные знания в своём блоге (для себя и для интересующихся читателей).<\/i><\/p>\n<p>Сегодня говорим про свойство <tt>display: flex<\/tt> .<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/Flex-justify-content.png\" width=\"2560\" height=\"1640.6349206349\" alt=\"Display: flex CSS\" \/>\n<\/div>\n<p><tt>display: flex<\/tt> — это свойство CSS, которое позволяет управлять расположением элементов внутри контейнера, превращая его в так называемый «флекс-контейнер». Давайте представим, что у нас есть коробка (контейнер) с игрушками (элементами). <tt>Display: flex<\/tt> дает нам инструменты, чтобы упорядочить эти игрушки в ряд, колонку или как-нибудь по-другому, как нам нужно.<\/p>\n<h2>Где применяется?<\/h2>\n<ul>\n<li><b>Навигационные меню<\/b>: для выравнивания пунктов меню.<\/li>\n<li><b>Карточки продуктов<\/b>: для создания гибких сеток товаров.<\/li>\n<li><b>Формы<\/b>: для выравнивания полей ввода и кнопок.<\/li>\n<li><b>Галереи изображений<\/b>: для создания адаптивных галерей.<\/li>\n<\/ul>\n<h2>Как это работает?<\/h2>\n<p>Когда вы применяете <tt>display: flex<\/tt> к контейнеру, все его непосредственные дочерние элементы становятся flex-элементами. Это означает, что вы можете управлять их размером, порядком и выравниванием с помощью различных свойств Flexbox.<\/p>\n<p><b>Основные свойства:<\/b><\/p>\n<p><tt>flex-direction<\/tt> — определяет направление, в котором располагаются flex-элементы (по горизонтали или вертикали).<br \/>\n<tt>row<\/tt> (по умолчанию) — элементы располагаются в строку.<br \/>\n<tt>column<\/tt> — элементы располагаются в столбик.<br \/>\n<tt>justify-content<\/tt> — определяет, как элементы распределяются по основной оси (горизонтально или вертикально).<br \/>\n<tt>flex-start<\/tt> — элементы выравниваются по началу.<br \/>\n<tt>flex-end<\/tt> — элементы выравниваются по концу.<br \/>\n<tt>center<\/tt> — элементы выравниваются по центру.<br \/>\n<tt>space-between<\/tt> — элементы распределяются с равными промежутками между ними.<br \/>\n<tt>space-around<\/tt> — элементы распределяются с равными промежутками вокруг них.<br \/>\n<tt>align-items<\/tt> — определяет, как элементы выравниваются по поперечной оси (перпендикулярно основной оси).<br \/>\n<tt>flex-start<\/tt> — элементы выравниваются по началу.<br \/>\n<tt>flex-end<\/tt> — элементы выравниваются по концу.<br \/>\n<tt>center<\/tt> — элементы выравниваются по центру.<br \/>\n<tt>baseline<\/tt> — элементы выравниваются по базовой линии текста.<br \/>\n<tt>stretch<\/tt> — элементы растягиваются, чтобы заполнить контейнер.<\/p>\n<h2>Примеры кода:<\/h2>\n<p><b>Простой пример применения флексбокса:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;ru&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;title&gt;Flexbox Пример&lt;\/title&gt;\n    &lt;style&gt;\n        .container {\n            display: flex; \/* Включаем Flexbox *\/\n            flex-direction: row; \/* Элементы располагаются в строку *\/\n            justify-content: space-between; \/* Равные промежутки между элементами *\/\n            align-items: center; \/* Выравнивание по центру по вертикали *\/\n            height: 100px; \/* Высота контейнера *\/\n            background-color: #f0f0f0; \/* Цвет фона контейнера *\/\n            padding: 10px; \/* Отступы внутри контейнера *\/\n        }\n\n        .item {\n            background-color: #4CAF50; \/* Цвет фона элементов *\/\n            color: white; \/* Цвет текста *\/\n            padding: 20px; \/* Отступы внутри элементов *\/\n            border-radius: 5px; \/* Закругленные углы *\/\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n\n&lt;div class=&quot;container&quot;&gt;\n    &lt;div class=&quot;item&quot;&gt;Элемент 1&lt;\/div&gt;\n    &lt;div class=&quot;item&quot;&gt;Элемент 2&lt;\/div&gt;\n    &lt;div class=&quot;item&quot;&gt;Элемент 3&lt;\/div&gt;\n&lt;\/div&gt;\n\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre><ul>\n<li>В этом примере мы создали контейнер с классом <tt>container<\/tt>, который использует <tt>display: flex<\/tt>.<\/li>\n<li>Элементы внутри контейнера (с классом <tt>item<\/tt>) располагаются в строку благодаря <tt>flex-direction: row<\/tt>.<\/li>\n<li>Свойство <tt>justify-content: space-between<\/tt> распределяет элементы с равными промежутками между ними.<\/li>\n<li>Свойство <tt>align-items: center<\/tt> выравнивает элементы по центру по вертикали.<\/li>\n<\/ul>\n<p><b>Пример с навигационным меню:<\/b><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;ru&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;title&gt;Flexbox Menu&lt;\/title&gt;\n    &lt;style&gt;\n        .menu {\n            display: flex; \/* Включаем flexbox *\/\n            list-style-type: none;\n            padding: 0;\n            margin: 0;\n        }\n        .menu li {\n            margin-right: 20px;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;nav&gt;\n        &lt;ul class=&quot;menu&quot;&gt;\n            &lt;li&gt;Главная&lt;\/li&gt;\n            &lt;li&gt;О нас&lt;\/li&gt;\n            &lt;li&gt;Услуги&lt;\/li&gt;\n            &lt;li&gt;Контакты&lt;\/li&gt;\n        &lt;\/ul&gt;\n    &lt;\/nav&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre><ul>\n<li>Здесь <tt>.menu<\/tt> использует <tt>display: flex<\/tt> для выравнивания пунктов меню в строку.<\/li>\n<li>Свойство <tt>list-style-type: none<\/tt> убирает маркеры списка для навигационных пунктов.<\/li>\n<\/ul>\n",
            "summary": "Display: flex — это свойство CSS, которое позволяет управлять расположением элементов внутри контейнера, превращая его в так называемый \"флекс-контейнер\". В этой статье я расскажу про свойство display: flex подробнее.",
            "date_published": "2024-08-26T23:40:21+03:00",
            "date_modified": "2024-08-26T23:41:21+03:00",
            "tags": [
                "css",
                "образование",
                "разработка",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/Flex-justify-content.png",
            "_date_published_rfc2822": "Mon, 26 Aug 2024 23:40:21 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "83",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/Flex-justify-content.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/CSS-Logo.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png"
                ]
            }
        },
        {
            "id": "82",
            "url": "https:\/\/modenov.ru\/blog\/all\/display-inline-block-inline-block\/",
            "title": "Свойство display и значения inline, block, inline-block",
            "content_html": "<p><i>Объясняя читателям одну из самых непростых тем в CSS, я сам лучше закрепляю эти знания. <\/i><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/css-display-block-vs-inline-block-2588544921.png\" width=\"731\" height=\"343\" alt=\"Свойство display и его значения inline, block, inline-block\" \/>\n<\/div>\n<p>Свойство <b>display<\/b> в <a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Learn\/Getting_started_with_the_web\/CSS_basics\">CSS<\/a> определяет, как элемент отображается на веб-странице. Оно влияет на поведение элемента, его размеры, расположение и взаимодействие с другими элементами.<\/p>\n<h2>В зависимости от значения, элемент может быть:<\/h2>\n<p>✵ <b>Строчным (inline)<\/b> — отображается как часть текста, занимает столько места, сколько нужно для его содержимого. Идеально для коротких фрагментов (слова, аббревиатуры, ссылки) или элементов, которые должны «плыть» в тексте, не создавая новых строк.<br \/>\n✵ <b>Блочным (block)<\/b> — отображается как отдельный блок, занимает всю ширину родительского элемента, имеет отступ сверху и снизу. Данное свойство балансирует макет, формирует блоки контента (заголовки, параграфы, кнопки) и позволяет применять фиксированную ширину и высоту.<br \/>\n✵ <b>Строчно-блочным (inline-block)<\/b> — сочетает в себе свойства <b>inline<\/b> и <b>block<\/b>, отображается как часть текста, но может иметь ширину и высоту, а также отступы. Например, идеально подходит для вёрстки навигационных меню, карточек, элементов с фиксированной формой внутри динамичного контента.<\/p>\n<h2>Применение<\/h2>\n<p>В современной веб-разработке <b>display<\/b> используется повсеместно:<\/p>\n<p>✵ структурирование контента: с помощью <b>display: block <\/b> можно создавать разделы, блоки текста, заголовки и другие элементы, которые должны занимать всю ширину родительского элемента.<br \/>\n✵ оформление элементов: <b>display: inline-block<\/b> позволяет размещать элементы в строке, но при этом задавать им ширину и высоту, что позволяет создавать более сложные макеты.<br \/>\n✵ скрытие элементов: с помощью <b>display: none<\/b> можно скрывать элементы с страницы, что удобно для управления отображением контента.<br \/>\n✵ создание гибких макетов: <b>display<\/b> в сочетании с другими свойствами CSS позволяет создавать сложные макеты с адаптивным отображением элементов на разных устройствах.<\/p>\n<h2>Примеры:<\/h2>\n<pre class=\"e2-text-code\"><code class=\"\">&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;en&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;title&gt;Пример display&lt;\/title&gt;\n    &lt;style&gt;\n        .inline {\n            display: inline;\n            background-color: lightblue;\n            padding: 10px;\n        }\n\n        .block {\n            display: block;\n            background-color: lightgreen;\n            padding: 10px;\n            margin-bottom: 10px;\n        }\n\n        .inline-block {\n            display: inline-block;\n            background-color: lightcoral;\n            padding: 10px;\n            width: 100px;\n            height: 50px;\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;inline&quot;&gt;Inline элемент&lt;\/div&gt;\n    &lt;div class=&quot;inline&quot;&gt;Inline элемент&lt;\/div&gt;\n    &lt;div class=&quot;block&quot;&gt;Block элемент&lt;\/div&gt;\n    &lt;div class=&quot;block&quot;&gt;Block элемент&lt;\/div&gt;\n    &lt;div class=&quot;inline-block&quot;&gt;Inline-block элемент&lt;\/div&gt;\n    &lt;div class=&quot;inline-block&quot;&gt;Inline-block элемент&lt;\/div&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;<\/code><\/pre>",
            "summary": "Рассказываю про важное CSS свойство display и его значения — inline, block, inline-block. Блог Владимира Моденова. Всё про фронтенд-разработку и не только.",
            "date_published": "2024-08-24T23:09:12+03:00",
            "date_modified": "2024-08-26T23:40:59+03:00",
            "tags": [
                "css",
                "образование",
                "разработка",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/css-display-block-vs-inline-block-2588544921.png",
            "_date_published_rfc2822": "Sat, 24 Aug 2024 23:09:12 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "82",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/css-display-block-vs-inline-block-2588544921.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/CSS-Logo.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png"
                ]
            }
        },
        {
            "id": "79",
            "url": "https:\/\/modenov.ru\/blog\/all\/chto-takoe-veb-dostupnost\/",
            "title": "Что такое веб-доступность?",
            "content_html": "<p>Недавно я решил погрузиться в веб-разработку: хочу узнать о том, как работают интернет и сети, различные протоколы, веб-доступность, HTML, CSS, JavaScript, а также другие базовые инструменты, на которых сегодня работают совершенно все сайты в интернете. Эти знания помогут мне в своих личных проектах и работе.<\/p>\n<p>Чтобы закреплять усвоенное лучше, я решил вести в своём блоге конспекты. Возможно, эти небольшие шпаргалки помогут не только мне, но и другим начинающим разработчикам.<\/p>\n<p>Сегодня говорим о веб-доступности и о том, зачем она нужна.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/modenov.ru\/blog\/pictures\/web-accessibility.jpg\" width=\"2500\" height=\"1663\" alt=\"Что такое веб-доступность и как она работает?\" \/>\n<\/div>\n<p><b>Веб-доступность <\/b>(или <b>accessibility<\/b>) — это подход к разработке веб-сайтов и приложений, который делает их удобными и доступными для всех пользователей, включая людей с ограниченными возможностями.<\/p>\n<h2>Основные понятия веб-доступности:<\/h2>\n<ol start=\"1\">\n<li><b>Перцептивность (Perceivable)<\/b>: Информация и элементы интерфейса должны быть представлены таким образом, чтобы их могли воспринимать все пользователи. Например, добавление текстовых описаний к изображениям для людей с нарушениями зрения.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Управляемость (Operable)<\/b>: Пользователи должны иметь возможность взаимодействовать с интерфейсом всеми доступными способами, включая клавиатуру и вспомогательные технологии. Например, все функции сайта должны быть доступны с клавиатуры.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Понятность (Understandable)<\/b>: Интерфейс и его элементы должны быть понятны и предсказуемы. Например, использование простого и ясного языка, а также логичная структура навигации.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Надежность (Robust)<\/b>: Контент должен быть доступен и корректно отображаться на различных устройствах и с использованием различных вспомогательных технологий. Например, использование стандартов HTML и CSS.<\/li>\n<\/ol>\n<h2>Основные задачи веб-доступности:<\/h2>\n<ol start=\"1\">\n<li><b>Добавление альтернативного текста (alt-текста) к изображениям<\/b>: Это помогает людям с нарушениями зрения понять, что изображено на картинке.<\/li>\n<\/ol>\n<ol start=\"2\">\n<li><b>Создание доступной навигации<\/b>: Убедитесь, что все элементы навигации доступны с клавиатуры и имеют логичную структуру.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li><b>Использование семантической разметки<\/b>: Правильное использование HTML-тегов помогает вспомогательным технологиям правильно интерпретировать контент.<\/li>\n<\/ol>\n<ol start=\"4\">\n<li><b>Контрастность цветов<\/b>: Убедитесь, что текст контрастирует с фоном, чтобы его было легко читать людям с нарушениями зрения.<\/li>\n<\/ol>\n<ol start=\"5\">\n<li><b>Тестирование с помощью вспомогательных технологий<\/b>: Проверяйте ваш сайт с использованием экранных читалок и других вспомогательных технологий, чтобы убедиться в его доступности.<\/li>\n<\/ol>\n<h2>Почему это важно?<\/h2>\n<p>Веб-доступность не только улучшает пользовательский опыт для людей с ограниченными возможностями, но и делает сайт более удобным для всех пользователей. Это также может улучшить SEO, так как поисковые системы лучше понимают структурированный и семантически правильный контент.<\/p>\n<h2>Дополнительные материалы для изучения:<\/h2>\n<p>✵ <a href=\"https:\/\/techrocks.ru\/2021\/02\/21\/learning-web-accessibility\/\">Что такое веб-доступность и как научиться делать доступные сайты<\/a><br \/>\n✵ <a href=\"https:\/\/doka.guide\/a11y\/\">Доступность — Doka Guide<\/a><br \/>\n✵ <a href=\"https:\/\/result.school\/roadmap\/frontend\/article\/availability\">Доступность — Result School<\/a><br \/>\n✵ <a href=\"https:\/\/web.dev\/articles\/accessibility?hl=ru\">Доступность от Google<\/a><br \/>\n✵ <a href=\"https:\/\/medium.com\/nuances-of-programming\/%D1%82%D0%BE%D0%BF-5-%D0%BF%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC-%D1%81-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B5-%D1%87%D0%B0%D1%89%D0%B5-%D0%B2%D1%81%D0%B5%D0%B3%D0%BE-%D0%B8%D0%B3%D0%BD%D0%BE%D1%80%D0%B8%D1%80%D1%83%D1%8E%D1%82-30f094c51504\">ТОП-5 проблем с доступностью, которые чаще всего игнорируют<\/a><br \/>\n✵ <a href=\"https:\/\/habr.com\/ru\/companies\/ruvds\/articles\/720704\/\">Основы веба, которые должен знать начинающий разработчик<\/a><br \/>\n✵ <a href=\"https:\/\/www.purrweb.com\/ru\/blog\/web-razrabotchik\/\">Веб-разработчик: кто это, что делает, сколько зарабатывает и как им стать<\/a><br \/>\n✵ <a href=\"https:\/\/developer.mozilla.org\/ru\/docs\/Web\">Веб-технологии для разработчиков | MDN<\/a><\/p>\n",
            "summary": "Веб-доступность — это подход к разработке веб-сайтов и приложений, который делает их удобными и доступными для всех пользователей. Сегодня говорим о веб-доступности подробнее.",
            "date_published": "2024-08-17T15:37:59+03:00",
            "date_modified": "2024-08-26T23:41:46+03:00",
            "tags": [
                "css",
                "html",
                "образование",
                "разработка",
                "фронтенд"
            ],
            "image": "https:\/\/modenov.ru\/blog\/pictures\/web-accessibility.jpg",
            "_date_published_rfc2822": "Sat, 17 Aug 2024 15:37:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "79",
            "_e2_data": {
                "is_favourite": true,
                "links_required": [],
                "og_images": [
                    "https:\/\/modenov.ru\/blog\/pictures\/web-accessibility.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/CSS-Logo.png",
                    "https:\/\/modenov.ru\/blog\/pictures\/html5-logo.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/education.jpg",
                    "https:\/\/modenov.ru\/blog\/pictures\/frontend.png"
                ]
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}