<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ CSS - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/ukrainian/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ CSS - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/ukrainian/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Tue, 12 May 2026 04:00:35 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/ukrainian/news/tag/css/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Властивості CSS: пояснення max-width, min-width, max-height та min-height з прикладами ]]>
                </title>
                <description>
                    <![CDATA[ Якщо ви створюєте вебсайт, важливо зробити його адаптивним. Деколи важко зробити так, щоб вебсайт мав хороший вигляд на екранах різного розміру. Вам доведеться керувати шириною або висотою елементів, а також вказувати різні розміри за допомогою медіазапитів, що не завжди просто. Хоча відносні одиниці (наприклад, відсотки) можуть бути корисними в деяких ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/vlastyvosti-css-poyasnennya-max-width-min-width-max-height-ta-min-height-z-prykladamy/</link>
                <guid isPermaLink="false">66857a3fcfd96d04031a3b63</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Sat, 06 Jul 2024 03:20:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2024/07/pexels-scott-webb-1544944.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/css-properties-examples/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Properties – Max-width, Min-width, Max-height, and Min-height Explained with Examples</a>
      </p><p>Якщо ви створюєте вебсайт, важливо зробити його адаптивним.</p><p>Деколи важко зробити так, щоб вебсайт мав хороший вигляд на екранах різного розміру. Вам доведеться керувати шириною або висотою елементів, а також вказувати різні розміри за допомогою медіазапитів, що не завжди просто.</p><p>Хоча відносні одиниці (наприклад, відсотки) можуть бути корисними в деяких випадках, вони можуть призвести до проблем.</p><p>Але не хвилюйтесь: такі властивості, як max-width та min-width, прийдуть вам на допомогу. Ці властивості дозволяють уникнути використання медіазапитів для деяких адаптивних завдань.</p><p>У цій статті ви дізнаєтеся, що таке max-width, min-width, max-height і min-height та як їх використовувати.</p><h2 id="-max-width"><strong>Властивість max-width</strong></h2><p>Властивість max-width дозволяє вказати максимальну ширину елемента. Це означає, що елемент може збільшуватися в ширину до досягнення певної <a href="https://www.freecodecamp.org/ukrainian/news/vlastyvosti-css-poyasnennya-max-width-min-width-max-height-ta-min-height-z-prykladamy/www.freecodecamp.org/ukrainian/news/odynytsi-css-em-rem-vh-vw-ta-inshi/">абсолютної або відносної одиниці</a>, після чого його ширина має фіксуватися.</p><p>Ось про що я говорю:</p><p>Припустимо, що ми встановили ширину елемента на <strong>80%</strong> ширини вікна перегляду. Якщо ширина вікна перегляду становить <strong>375px</strong>, то елемент матиме ширину <strong>300px</strong>, що є доволі хорошим показником.</p><p>(80/100) * 375 = 300px</p><p>Але якщо у нас ширше вікно перегляду, наприклад, <strong>1300px</strong>, тоді наш елемент матиме ширину <strong>1040px</strong>.</p><p>(80/100) * 1300 = 1040px</p><p>Саме тут допоможе властивість max-width. Якщо ви використовуєте відносні одиниці (наприклад, відсотки), то встановлена властивість max-width дозволить елементу продовжувати збільшуватися в ширину, поки він не досягне вказаного значення.</p><p>Ось приклад:</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_mdmeEOV" src="https://codepen.io/D_kingnelson/embed/preview/mdmeEOV?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=mdmeEOV" title="max-width-example" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-size: 22px; vertical-align: middle; width: 720px; overflow: hidden;"></iframe></figure><p>Зверніть увагу, що розмір картки ніколи не перевищує <strong>350px</strong>. Так працює max-width. Це дозволяє картці рости на менших екранах.</p><p>Якщо ширина менша за 350px, вона займає 80% від поточного розміру екрана. Але як тільки ширина досягає 350px, вона фіксується і не перевищує встановлену ширину.</p><p>Ось так виглядає код:</p><pre><code>//Картка не може бути більшою за 350px

.card{
  margin:0 auto;
  padding:1.5em;
  width:80%;
  max-width:350px;
  height:50%;
  background: #FFFFFF;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  border-radius:4px;
  overflow:hidden;
}
</code></pre><h2 id="-min-width"><strong>Властивість min-width</strong></h2><p>На відміну від властивості max-width, властивість min-width вказує мінімальну ширину. Вона визначає найменшу можливу ширину для елемента.</p><p>У деяких випадках потрібно, щоб елемент мав гнучку ширину, тому її задають у відносній одиниці (наприклад, у відсотках). Але коли екран зменшується, ширина елемента також зменшується.</p><p>Тут допоможе min-width: ви можете встановити мінімальну ширину, щоб картка не була меншою за вказане значення.</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_zYwdzxW" src="https://codepen.io/D_kingnelson/embed/preview/zYwdzxW?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=zYwdzxW" title="min-width-example" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-size: 22px; vertical-align: middle; width: 720px; overflow: hidden;"></iframe></figure><pre><code>//Картка не може бути меншою за 250px

.card{
  margin:0 auto;
  padding:1.5em;
  width:80%;
  max-width:350px;
  //тут налаштовуємо властивість min-width
  min-width : 250px;
  height:50%;
  background: #FFFFFF;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  border-radius:4px;
  overflow:hidden;
}
</code></pre><h2 id="-max-height"><strong>Властивість max-height</strong></h2><p>Властивість max-height працює так само, як і max-width, але впливає на висоту, а не ширину.</p><p>Ось приклад:</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_gOWxRrb" src="https://codepen.io/D_kingnelson/embed/preview/gOWxRrb?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=gOWxRrb" title="max-height-example" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-size: 22px; vertical-align: middle; width: 720px; overflow: hidden;"></iframe></figure><pre><code>//Встановлює висоту елемента до вказаної одиниці, ефективно зупиняючи його збільшення у висоті

.card{
  margin:0 auto;
  padding:1.5em;
  width:80%;
  max-width:350px;
  height:70%;
  //тут налаштовуємо властивість max-height
  max-height: 400px;
  background: #FFFFFF;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  border-radius:4px;
  overflow:hidden;
}
</code></pre><h2 id="-min-height"><strong>Властивість min-height</strong></h2><p>На відміну від max-height, властивість min-height задає мінімальну висоту для елемента.</p><p>Це трапляється, коли вікно перегляду зменшується, а висота елемента не може бути меншою певної висоти.</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_yLboXVz" src="https://codepen.io/D_kingnelson/embed/preview/yLboXVz?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=yLboXVz" title="min-height" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-size: 22px; vertical-align: middle; width: 720px; overflow: hidden;"></iframe></figure><pre><code>.element{
    height:40vh;
    min-height:200px;
}
</code></pre><h2 id="-"><strong>Висновок</strong></h2><p>Адаптивність є важливим фактором у веброзробці. Відстежувати вигляд елементів на екранах різних розмірів може бути складно, але властивості max-width, min-width, max-height і min-height допомагають з цим.</p><p>Ці властивості дозволяють регулювати розмір елементів без необхідності використання медіазапитів.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Одиниці CSS: em, rem, vh, vw та інші ]]>
                </title>
                <description>
                    <![CDATA[ Багато властивостей у CSS (наприклад, width, margin, padding та font-size) використовують довжину, а CSS має багато різних способів для її вираження. Довжина в CSS — це число та одиниця без пробілу. Наприклад, 5px, 0.9em і так далі. Існує два загальних типи одиниць, які використовують для довжини і розміру в CSS: ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/odynytsi-css-em-rem-vh-vw-ta-inshi/</link>
                <guid isPermaLink="false">66858243cfd96d04031a3c2d</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Thu, 04 Jul 2024 07:47:21 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2024/07/5f9c9cd8740569d1a4ca347f.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/css-unit-guide/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Unit Guide: CSS em, rem, vh, vw, and more, Explained</a>
      </p><p>Багато властивостей у CSS (наприклад, <code>width</code>, <code>margin</code>, <code>padding</code> та <code>font-size</code>) використовують довжину, а CSS має багато різних способів для її вираження.</p><p>Довжина в CSS — це число та одиниця без пробілу. Наприклад, <code>5px</code>, <code>0.9em</code> і так далі.</p><p>Існує два загальних типи одиниць, які використовують для довжини і розміру в CSS: абсолютні та відносні.</p><h2 id="-"><strong>Абсолютні одиниці довжини</strong></h2><p>Абсолютні одиниці довжини базуються на фактичній фізичній одиниці та зазвичай однакового розміру на всіх пристроях. Однак залежно від розміру та якості вашого екрана або налаштувань у вашому браузері чи ОС можуть бути деякі винятки.</p><p>Ось декілька поширених абсолютних одиниць довжини в CSS:</p><h3 id="px"><strong><code>px</code></strong></h3><p>Пікселі, або <code>px</code>, є одними з найпоширеніших одиниць довжини в CSS.</p><p>У CSS 1 піксель <a href="https://drafts.csswg.org/css-values/#reference-pixel">офіційно визначено</a> як 1/96 дюйма. Усі інші абсолютні одиниці довжини базуються на цьому визначенні пікселя.</p><p>Але коли цей стандарт був сформульований, більшість моніторів мали роздільну здатність 1024 x 768 та DPI (кількість точок на дюйм) 96.</p><p>Екрани на сучасних пристроях мають набагато вищу роздільну здатність і DPI, тому лінія довжиною 96 пікселів може не вимірювати точно 1 дюйм, залежно від пристрою.</p><p>Незважаючи на те, що розміри в пікселях можуть змінюватися на різних пристроях, загалом вважається, що для екранів краще використовувати пікселі.</p><p>Якщо ви знаєте, що ваша сторінка буде надрукована на високоякісному принтері, тоді можна розглянути можливість використання іншої одиниці: наприклад, <code>cm</code> або <code>mm</code>.</p><p><a href="https://www.smashingmagazine.com/2021/07/css-absolute-units/">У цій статті</a> ви можете дізнатися більше про історію пікселів та чому CSS-дюйм не завжди відповідає фізичному дюйму (англійською мовою).</p><h3 id="cm"><strong><code>cm</code></strong></h3><p>Сантиметри.</p><p>У CSS <code>1cm</code> приблизно дорівнює 37,8 пікселя або близько 25,2/64 дюйма.</p><h3 id="mm"><strong><code>mm</code></strong></h3><p>Міліметри.</p><p>У CSS <code>1mm</code> приблизно дорівнює 3,78 пікселя або 1/10 сантиметра.</p><h3 id="in"><strong><code>in</code></strong></h3><p>Дюйми.</p><p>У CSS <code>1in</code> приблизно дорівнює 96 пікселів або близько 2,54 см.</p><h3 id="pt"><strong><code>pt</code></strong></h3><p>Пункти.</p><p>У CSS <code>1pt</code> приблизно дорівнює 1,3333 пікселя або 1/72 дюйма.</p><h3 id="pc"><strong><code>pc</code></strong></h3><p>Піки.</p><p>У CSS <code>1pc</code> приблизно дорівнює 16 пікселів або 1/6 дюйма.</p><h2 id="--1"><strong>Відносні одиниці довжини</strong></h2><p>Відносні одиниці довжини залежать від розміру або налаштувань іншого елемента. Наприклад, відносний розмір шрифту елемента може розраховуватися з використанням розміру шрифту батьківського елемента.</p><p>Ось декілька поширених відносних одиниць довжини:</p><h3 id="em"><strong><code>em</code></strong></h3><p>Одиниця <code>em</code> у CSS отримала свою назву від типографічної одиниці. У типографії термін em спочатку стосувався ширини великої літери M у використовуваному шрифті та розмірі.</p><p>Коли використовується із властивістю <code>font-size</code>, <code>em</code> успадковує розмір шрифту від батьківського елемента:</p><pre><code class="language-css">.container {
  font-size: 16px;
}

.container p {
  font-size: 1em;
}

.container h2 {
  font-size: 3em;
}

.container h3 {
  font-size: 2em;
}
</code></pre><p>У цьому прикладі розмір шрифту елемента <code>p</code> становить <code>16px</code> (16 * 1). Тим часом розмір шрифту <code>h2</code> становить <code>48px</code> (16 * 3), а для <code>h3</code> — <code>32px</code> (16 * 2).</p><p>Якщо <code>em</code> використовується з іншою властивістю (наприклад, <code>width</code>), то <code>em</code> розраховується з використанням розміру цільового елемента.</p><h3 id="rem"><strong><code>rem</code></strong></h3><p>Ця відносна одиниця не залежить від розміру або налаштувань батьківського елемента, а базується на корені документа. Для вебсайтів коренем документа є елемент <code>html</code>.</p><pre><code class="language-css">p {
  font-size: 1.25rem;
}
</code></pre><p>У більшості браузерів розмір шрифту за замовчуванням становить 16, тому розмір шрифту елементів <code>html</code> становить <code>16px</code>. Отже, у цьому випадку елемент <code>p</code> дорівнює <code>20px</code> (16 * 1,25).</p><p>Але якщо користувач змінить розмір шрифту за замовчуванням у своєму браузері, то розмір шрифту елемента <code>p</code> буде масштабуватися відповідно.</p><h3 id="--2"><strong><code>%</code></strong></h3><p>Відсотки, або розмір відносно розміру батьківського елемента:</p><pre><code class="language-css">div {
  width: 400px;
}

div p {
  width: 75%;
}</code></pre><p>Оскільки ширина батьківського елемента становить <code>400px</code>, то шириною внутрішнього абзацу буде <code>300px</code> (400 * 0,75).</p><h3 id="vw"><strong><code>vw</code></strong></h3><p><code>1vw</code> — це 1% ширини вікна перегляду.</p><p>Наприклад:</p><pre><code class="language-css">body {
  width: 100vw;
}
</code></pre><p>Оскільки елемент <code>body</code> має значення <code>100vw</code>, або 100% ширини вікна перегляду, він займатиме всю доступну ширину. Отже, якщо ви зміните розмір вашого браузера на 690 пікселів у ширину, то <code>body</code> займе всі 690 пікселів у ширину.</p><h3 id="vh"><strong><code>vh</code></strong></h3><p><code>1vh</code> — це 1% висоти вікна перегляду.</p><p>Наприклад:</p><pre><code class="language-css">div {
  height: 50vh;
}
</code></pre><p>Елемент <code>div</code> займе 50% висоти вікна перегляду. Отже, якщо висота вікна браузера становить 900 пікселів, висота <code>div</code> дорівнюватиме 450 пікселів.</p><h3 id="ex"><strong><code>ex</code></strong></h3><p>Одиниця <code>ex</code> у CSS отримала свою назву від x-height у типографії, або «висоти літери x у шрифті». У багатьох шрифтах символ малої літери x зазвичай становить приблизно половину висоти найбільшого символу.</p><p>У CSS <code>1ex</code> — це x-height шрифту або половина <code>1em</code>.</p><p>Але оскільки розмір малої літери x може значно відрізнятися залежно від шрифту, одиниця <code>ex</code> використовується рідко.</p><h3 id="ch"><strong><code>ch</code></strong></h3><p>Одиниця <code>ch</code> у CSS визначається як ширина символу 0 (нуль, або U+0030) шрифту.</p><p>Хоча одиниця <code>ch</code> працює як точне вимірювання для моноширинних/фіксованих шрифтів (наприклад, Courier), вона може бути непередбачуваною з пропорційними шрифтами (наприклад, Arial).</p><p>Наприклад, якщо ви використали шрифт Courier і встановили ширину елемента на <code>60ch</code>, то ширина цього елемента дорівнюватиме рівно 60 символам.</p><p>Але якщо ви використали шрифт Arial і встановили ширину елемента на <code>60ch</code>, то неможливо сказати, якою буде ширина елемента: символи можуть переповнювати контейнер або не досягати його меж.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2022/02/ch-unit-monospaced-and-proportional-fonts.png" class="kg-image" alt="Зображення, яке показує 20ch як точне вимірювання у Courier, але неточне в Helvetica та Georgia." width="600" height="400" loading="lazy"><figcaption><a href="https://meyerweb.com/eric/thoughts/2018/06/28/what-is-the-css-ch-unit/">Джерело</a></figcaption></figure><p>Щоб дізнатись більше про одиницю <code>ch</code> та розглянути пару прикладів, див. <a href="https://meyerweb.com/eric/thoughts/2018/06/28/what-is-the-css-ch-unit/">цю статтю</a> (англійською мовою).</p><h3 id="vmin-vmax"><strong><code>vmin</code> та <code>vmax</code></strong></h3><p>Одиниці <code>vmin</code> та <code>vmax</code> базуються на значеннях <code>vw</code> та <code>vh</code>.</p><p><code>1vmin</code> — це 1% найменшого виміру вікна перегляду, а <code>1vmax</code> — це 1% найбільшого виміру вікна перегляду.</p><p>Наприклад, уявіть вікно браузера, ширина якого 1200 пікселів, а висота — 600 пікселів. У цьому випадку <code>1vmin</code> дорівнює <code>6px</code> (1% від <code>vh</code>, що менше для розміру 600 пікселів). Тим часом <code>1vmax</code> дорівнює <code>12px</code> (1% від <code>vh</code>, що більше для розміру 1200 пікселів).</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Різниця між псевдокласами та псевдоелементами в CSS ]]>
                </title>
                <description>
                    <![CDATA[ Псевдокласи та псевдоелементи в CSS — це два типи ключових слів, які можна поєднувати з селекторами. Їх використовують, щоб визначити стан елемента або конкретні частини елемента. У цій статті ми дізнаємось про різницю між ними, а також їхню історію та найкращі практики використання. Синтаксис  * одинарна двокрапка : стосується ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/riznytsya-mizh-psevdoklasamy-ta-psevdoelementamy-v-css/</link>
                <guid isPermaLink="false">667d15b269ce140433c2fd4c</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Thu, 27 Jun 2024 09:42:28 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2024/06/pseudo-1.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/the-difference-between-pseudo-classes-and-elements-in-css/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">The Difference Between Pseudo-Classes and Pseudo-Elements in CSS</a>
      </p><p>Псевдокласи та псевдоелементи в CSS — це два типи ключових слів, які можна поєднувати з селекторами. Їх використовують, щоб визначити стан елемента або конкретні частини елемента.</p><p>У цій статті ми дізнаємось про різницю між ними, а також їхню історію та найкращі практики використання.</p><h6 id="-"><strong>Синтаксис</strong></h6><ul><li>одинарна двокрапка <code>:</code> стосується псевдокласів</li><li>подвійна двокрапка <code>::</code> стосується псевдоелементів</li></ul><h2 id="--1"><strong>Псевдокласи та псевдоелементи</strong></h2><p>«<a href="https://goroh.pp.ua/Етимологія/псевдо-">Псевдо</a>» означає «несправжній, неправильний, фальшивий». Префікс <code>псевдо-</code> використовують, щоб позначити класи або елементи, які не є «реальними», тобто є не елементами DOM (Document Object Model), а віртуальними елементами, створеними для стилізації.</p><p>Щоб краще визначити різницю, давайте детальніше обговоримо відмінності між псевдокласами та псевдоелементами.</p><h3 id="-css"><strong>Що таке псевдокласи в CSS?</strong></h3><p>Псевдокласи (<code>:</code>) в основному використовують, щоб стилізувати елементи у різних станах. Стан позначає умову або поведінку користувача (наприклад, hover, active, focus або disabled). Стан зазвичай включає взаємодію з користувачем.</p><p>Наприклад, ми можемо задати всім посиланням колір тексту <code>lavender</code>, коли користувач наводить курсор на посилання.</p><pre><code class="language-css">a:hover {
  color: lavender;
}
</code></pre><p>У Chrome DevTools ви знайдете інші приклади станів. Тут ви також можете тестувати та налагоджувати застосовані стилі на основі стану (і відповідного псевдокласу), перемикаючи їх.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/news/content/images/2023/04/Screenshot-2023-04-20-at-10.13.42-AM.png" class="kg-image" alt="Screenshot-2023-04-20-at-10.13.42-AM" width="600" height="400" loading="lazy"></figure><p>Існує понад <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes#alphabetical_index">50 типів псевдокласів</a>, тому я дуже рекомендую переглянути їх.</p><p>Протестуйте код нижче, уважно розгляньте псевдокласи та спробуйте додати новий.</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_xxyRWYm" src="https://codepen.io/nataliepina/embed/preview/xxyRWYm?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=xxyRWYm" title="Button States with Psuedo-Classes" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-size: 22px; vertical-align: middle; width: 720px; overflow: hidden;"></iframe></figure><h4 id="--2"><strong>Функціональні псевдокласи</strong></h4><p>Інший тип псевдокласів — це функціональні псевдокласи. Вони приймають параметр у вигляді <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Selector_list#selector_list">списку селекторів</a>, щоб відповідати елементам.</p><p>На відміну від інших типів псевдокласів, які орієнтовані на статичні стани (наприклад, hover), ці псевдокласи можуть динамічно цілитись на події та взаємодії з користувачем.</p><figure class="kg-card kg-code-card"><pre><code class="language-css">:is()
/* Псевдоклас, який відповідає будь-якому елементу, що відповідає будь-якому з селекторів у наданому списку. */

:not()
/* Псевдоклас заперечення, який представляє будь-який елемент, що не відповідає його аргументу. */

:where()
/* Псевдоклас налаштування специфічності, який відповідає будь-якому елементу, що відповідає будь-якому з селекторів у списку без додавання ваги специфічності. */

:has()
/* Псевдоклас відносності, який представляє елемент, якщо будь-який з відносних селекторів відповідає при закріпленні до прикріпленого елемента. */</code></pre><figcaption><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes#functional_pseudo-classes">джерело</a></figcaption></figure><h3 id="-css-1"><strong>Що таке псевдоелементи в CSS?</strong></h3><p>Псевдоелементи (<code>::</code>) використовують, щоб стилізувати певні частини елемента. Їх можуть використовувати, щоб націлитись на першу літеру чи перший рядок або щоб додати вміст перед чи після елемента.</p><p>Варто ознайомитися з цим <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements#alphabetical_index">індексом псевдоелементів</a>, щоб дізнатися більше про доступні ключові слова.</p><p>Наприклад, щоб перша літера абзацу була великою, можна використати псевдоелемент <code>first-letter</code>:</p><pre><code class="language-css">p::first-letter {
  font-size: 9em;
}</code></pre><p>Ще один поширений приклад псевдоелемента — це використання <code>::before</code> або <code>::after</code>, щоб додати вміст перед або після цільового елемента.</p><p>Протестуйте код нижче, щоб побачити, як можна використовувати <code>::before</code> та <code>::after</code>, щоб створити рядки перед або після текстового елемента.</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_qBJqpgq" src="https://codepen.io/nataliepina/embed/preview/qBJqpgq?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=qBJqpgq" title="Psuedo-elements  - ::before &amp; ::after" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-size-adjust: inherit; font-kerning: inherit; font-variant-alternates: inherit; font-variant-ligatures: inherit; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-variant-position: inherit; font-variant-emoji: inherit; font-feature-settings: inherit; font-optical-sizing: inherit; font-variation-settings: inherit; font-size: 22px; vertical-align: middle; width: 720px; overflow: hidden;"></iframe></figure><h2 id="-css-2"><strong>Різниця між <code>:</code> та <code>::</code> в CSS</strong></h2><p>Запам’ятайте, що між одинарною та подвійною двокрапкою ключова різниця. Найголовніше, що <code>:</code> стосується псевдокласів, а <code>::</code> стосується псевдоелементів.</p><h3 id="--3"><strong>Історія <code>::</code></strong></h3><p>Історично існувала лише одинарна двокрапка <code>:</code>, яка визначала і псевдокласи, і псевдоелементи. Нотація <code>::</code> була введена в CSS3, щоб розрізняти їх.</p><p>Псевдоелементи та псевдокласи — це пов’язані поняття, які забезпечують різні способи стилізації елемента. Як наслідок, невелика відмінність у синтаксисі між ними є логічною.</p><p>Нерекомендовано використовувати лише одинарну двокрапку для обох випадків, оскільки це застаріло. Браузери досі приймають <code>:</code> для обох випадків для зворотної сумісності. Оскільки ви можете стикнутися з обома синтаксисами, розуміння історичного контексту є корисним.</p><h2 id="--4"><strong>Найкращі практики використання <code>:</code> та <code>::</code></strong></h2><p>Найкраща практика при виборі синтаксису двокрапки — дотримуватись поточних стандартів CSS3. Дотримання цих стандартів покращить підтримуваність коду, тому у своїй кодовій базі корисно зберігати та впроваджувати правила щодо цього.</p><p>Це також допоможе захистити CSS у майбутньому. Як ми обговорювали, браузери наразі приймають одинарний синтаксис для обох, але так може бути не завжди. Використовуючи подвійний синтаксис для псевдоелементів, ви можете допомогти запобігти помилкам у майбутньому, оскільки CSS продовжує змінюватися та розвиватися.</p><p>Розрізнення синтаксису між ними покращує читабельність. Це прояснює, на що ви цілитесь, і корисно при роботі зі складними селекторами, які включають декілька псевдоелементів і псевдокласів.</p><h2 id="--5"><strong>Висновок</strong></h2><p>Для написання підтримуваного CSS важливо розуміти різницю між псевдокласом і псевдоелементом. Псевдокласи використовують, щоб націлитись на стан, а псевдоелементи — щоб націлитись на конкретні частини елемента.</p><p>Сподіваюся, ця стаття допомогла зрозуміти різницю між псевдокласами та псевдоелементами, а також їхню історію та найкращі практики використання.</p><p>Щасливої стилізації!</p><p>Якщо хочете дізнатись більше про CSS, можете знайти мене у <a href="https://twitter.com/ui_natalie">твіттері</a>.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Як створити анімації CSS (з прикладами) ]]>
                </title>
                <description>
                    <![CDATA[ Анімації є важливою складовою сучасного вебдизайну. Вони дозволяють створювати динамічні та захоплюючі вебелементи, які привертають більше клієнтів і збільшують обсяги продажів.  У цій статті ми розглянемо, як створити круті анімації за допомогою CSS. Передумови Перш ніж продовжити, переконайтеся, що у вас є базові знання HTML та CSS.  Я ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/yak-stvoryty-animatsiyu-css-z-prykladamy/</link>
                <guid isPermaLink="false">65b0cf6de66ea70421be24da</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Wed, 24 Jan 2024 11:19:29 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2024/01/cover.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/how-to-create-custom-css-animations/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Create Custom CSS Animations with Examples</a>
      </p><p>Анімації є важливою складовою сучасного вебдизайну. Вони дозволяють створювати динамічні та захоплюючі вебелементи, які привертають більше клієнтів і збільшують обсяги продажів. </p><p>У цій статті ми розглянемо, як створити круті анімації за допомогою CSS.</p><h2 id="-"><strong>Передумови</strong></h2><p>Перш ніж продовжити, переконайтеся, що у вас є базові знання HTML та CSS. </p><p>Я буду вважати, що ви знайомі з селекторами CSS, визначенням розміру та кольору елементів, позиціонуванням елементів, регулюванням прозорості та трансформацією елементів.</p><h2 id="-css"><strong>Як створити першу анімацію CSS</strong></h2><p>Розпочнемо з підготовки елемента HTML.</p><pre><code class="language-html">&lt;body&gt;
  &lt;div class="square"&gt;&lt;/div&gt;
&lt;/body&gt;
</code></pre><pre><code class="language-css">.square {
  width: 100px;
  height: 100px;
  background-color: purple;

  /* Центрування елемента */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
</code></pre><p>Рядки 7-10 демонструють часто використовуваний метод центрування елемента за допомогою CSS. Ось результат такого коду:</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/square-center.png" class="kg-image" alt="square center" width="600" height="400" loading="lazy"><figcaption>Відцентрований квадрат</figcaption></figure><p>Перш ніж створювати анімацію, потрібно подумати про те, якого ефекту ви хочете досягти. </p><p>Наприклад, для цього уроку я хочу створити ефект стрибка для квадрата. Це означає, що мені потрібно створити анімацію на основі властивості <code>top</code>, щоб квадрат міг рухатися вгору та вниз.</p><pre><code class="language-css">@keyframes bounce {
  0% {
    top: 90%;
  }
  100% {
    top: 10%;
  }
}
</code></pre><p>Щоб визначити анімацію, потрібно використати правило <code>@keyframes</code>, яке дозволяє визначити ключові кадри у процесі анімації.</p><p>Ключові кадри встановлюються з використанням значень у відсотках, починаючи від <code>0%</code> і закінчуючи <code>100%</code>. Наприклад, у прикладі анімація почнеться з <code>top: 90%;</code> і закінчиться на <code>top: 10%;</code>, після чого вона повернеться назад до <code>50%</code>.</p><p>І, звісно, потрібно пов’язати анімацію <code>bounce</code> з квадратом (<code>animation-name</code>) і повідомити браузеру, як довго має тривати ця анімація (<code>animation-duration</code>). Ось як це робиться:</p><pre><code class="language-css">.square {
  . . .
  animation-name: bounce;
  animation-duration: 2s;
}
</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/bounce-1.gif" class="kg-image" alt="square moves up" width="600" height="400" loading="lazy"><figcaption>Квадрат рухається вгору</figcaption></figure><h2 id="--1"><strong>Як додати декілька ключових кадрів</strong></h2><p>Але, як ви можете помітити, квадрат розташований знизу, рухається вгору, а потім повертається назад в центр. Це не зовсім ефект стрибка. Як можна зробити так, щоб квадрат рухався вниз?</p><p>Для цього можна налаштувати третій ключовий кадр:</p><pre><code class="language-css">@keyframes bounce {
  0% {
    top: 90%;
  }
  50% {
    top: 10%;
  }
  100% {
    top: 90%;
  }
}
</code></pre><p>Таким чином, квадрат почне знизу (<code>top: 90%;</code>), рухатиметься вгору (<code>top: 10%;</code>), а потім повернеться вниз (<code>top: 90%;</code>).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/bounce-2.gif" class="kg-image" alt="square moves up and then down" width="600" height="400" loading="lazy"><figcaption>Квадрат рухається вгору та вниз</figcaption></figure><h2 id="--2"><strong>Як створити повторювану анімацію</strong></h2><p>Є одна проблема, яку потрібно розв’язати. Анімація відтворюється лише один раз. На практиці ви, можливо, хочете, щоб анімація повторювалась декілька разів, щоб створити ефект того, що квадрат дійсно скаче.</p><p>Замість того, щоб створювати більше ключових кадрів, що не так просто, ви можете визначити властивість <code>animation-iteration-count</code> і вказати кількість разів, які ви хочете, щоб анімація повторювалась.</p><pre><code class="language-css">.square {
  . . .
  animation-name: bounce;
  animation-duration: 2s;
  animation-iteration-count: 5;
}
</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/bounce-3.gif" class="kg-image" alt="repeat animation 5 times" width="600" height="400" loading="lazy"><figcaption>Квадрат рухається вгору та вниз п’ять разів</figcaption></figure><p>А якщо ви хочете, щоб анімація відтворювалась безкінечно, просто вкажіть <code>infinite</code>.</p><pre><code class="language-css">.square {
  . . .
  animation-name: bounce;
  animation-duration: 2s;
  animation-iteration-count: infinite;
}
</code></pre><h2 id="--3"><strong>Як застосувати часову функцію до анімації</strong></h2><p>Ефект стрибка почав працювати, але його можна вдосконалити. Рух квадрата здається трошки неприроднім. Ефект стрибка виглядатиме краще, якщо ви згладите рух.</p><p>Це можна зробити за допомогою часової функції. За замовчуванням браузер надасть значення <code>linear</code>, тобто анімація матиме однакову швидкість від початку до кінця. Але це можна змінити, використовуючи властивість <code>animation-timing-function</code>:</p><pre><code class="language-css">.square {
  . . .
  animation-name: bounce;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}
</code></pre><p>Вказавши <code>ease-in-out</code>, ви повідомите браузеру починати анімацію повільно і закінчувати її поступово. В результаті анімація виглядатиме набагато плавніше.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/bounce-4.gif" class="kg-image" alt="ease in out" width="600" height="400" loading="lazy"><figcaption>Завдяки <code>ease-in-out</code> квадрат рухається плавно</figcaption></figure><h3 id="--4"><strong>Крива Безьє</strong></h3><p>Значення <code>ease-in-out</code> фактично представляє математичне рівняння, відоме як крива Безьє. Я обійдусь без складних математичних визначень, а вам потрібно знати лише те, що функція визначає криву з чотирма контрольними точками.</p><p><a href="https://cubic-bezier.com/#.17,.67,.83,.67">cubic-bezier.com</a> — це онлайн-інструмент, який дозволяє налаштувати криву, просто перетягуючи контрольні точки.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/cubic-bezier.png" class="kg-image" alt="cubic bezier" width="600" height="400" loading="lazy"><figcaption>Крива Безьє</figcaption></figure><p>Контрольні точки визначають форму кривої, а нахил кривої контролює швидкість анімації. Наприклад, на графіку вище показано, що анімація почнеться повільно, прискориться, а потім закінчиться плавно.</p><pre><code class="language-css">.square {
  . . .
  animation-name: bounce;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(0.17, 0.67, 0.8, 0.36);
}
</code></pre><p>У більшості випадків вам не потрібно визначати власну криву Безьє. Існує декілька попередньо визначених кривих, яких достатньо для більшості випадків.</p><p><code>ease</code> представляє криву <code>cubic-bezier(0.25, 0.1, 0.25, 1)</code>. Спочатку анімація повільно прискориться, а потім сповільниться до зупинки.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/ease.png" class="kg-image" alt="ease" width="600" height="400" loading="lazy"><figcaption>Крива Безьє для <code>ease</code></figcaption></figure><p><code>ease-in</code> представляє криву <code>cubic-bezier(0.42, 0, 1, 1)</code>. Анімація розпочнеться плавно і потім зупиниться досить різко.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/ease-in.png" class="kg-image" alt="ease in" width="600" height="400" loading="lazy"><figcaption>Крива Безьє для <code>ease-in</code></figcaption></figure><p><code>ease-out</code> представляє криву <code>cubic-bezier(0, 0, 0.58, 1)</code>. Анімація розпочнеться різко і потім сповільниться, щоб плавно зупинитися.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/ease-out.png" class="kg-image" alt="ease out" width="600" height="400" loading="lazy"><figcaption>Крива Безьє для <code>ease-out</code></figcaption></figure><p><code>ease-in-out</code> представляє криву <code>cubic-bezier(0.42, 0, 0.58, 1)</code>. Анімація буде плавною як спочатку, так і вкінці.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/ease-in-out.png" class="kg-image" alt="ease in out" width="600" height="400" loading="lazy"><figcaption>Крива Безьє для <code>ease-in-out</code></figcaption></figure><h3 id="-steps-"><strong>Функція <code>steps()</code></strong></h3><p>Окрім плавної кривої, ви можете вказати ступінчасту функцію. Функція <code>steps()</code> приймає два аргументи. Перший вказує кількість кроків, а другий встановлює точку, де відбувається зміна: на початку (<code>start</code>) або в кінці (<code>end</code>) кроку.</p><pre><code class="language-css">.square {
  . . .
  animation-name: bounce;
  animation-duration: 2s;
  animation-iteration-count: infinite;
  animation-timing-function: steps(5, start);
}
</code></pre><p>У цьому випадку анімація буде розділена на п’ять кроків, і для кожного кроку зміна відбудеться на початку.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/bounce-5.gif" class="kg-image" alt="5 steps" width="600" height="400" loading="lazy"><figcaption>Демо ступінчастої функції</figcaption></figure><p>Для функції <code>steps()</code> існують два скорочення: <code>step-start</code> відповідає <code>steps(1, start)</code>, а <code>step-end</code> відповідає <code>steps(1, end)</code>.</p><h2 id="--5"><strong>Як поєднати декілька анімацій</strong></h2><p>Наразі ми розглянули всі основи, які варто знати для створення анімацій за допомогою CSS. Тепер прийшов час бути більш творчими.</p><p>Попередні приклади фокусувались на зміні властивості <code>top</code>, щоб створити ефект стрибка. Фактично, ви можете комбінувати декілька властивостей в одній анімації. Наприклад, ви можете створити ефект пульса, змінивши форму і прозорість елемента.</p><pre><code class="language-css">@keyframes pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.7;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}
</code></pre><pre><code class="language-css">.ball {
  width: 100px;
  height: 100px;
  background-color: purple;
  border-radius: 50%;

  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  animation: pulse 2s ease-in-out infinite;
}
</code></pre><p>Зверніть увагу, що властивості анімації можна об’єднати в скорочення за допомогою властивості <code>animation</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2024/01/pulse.gif" class="kg-image" alt="pulse" width="600" height="400" loading="lazy"><figcaption>Ефект пульса</figcaption></figure><h2 id="--6"><strong>Інші властивості, пов’язані з анімацією</strong></h2><p>Крім властивостей анімації, про які ми говорили до цього, є декілька різних властивостей, які варто розглянути. Іноді вони також можуть бути корисними.</p><p>По-перше, є властивість <code>animation-direction</code>, яка визначає, як буде відтворюватися анімація. Властивість приймає чотири різні значення:</p><ul><li><code>normal</code>: анімація відтворюється з початку до кінця;</li><li><code>reverse</code>: анімація відтворюється з кінця до початку;</li><li><code>alternate</code>: спочатку анімація відтворюється з початку до кінця, а потім навпаки. Працює лише тоді, коли значення <code>animation-iteration-count</code> більше за 1;</li><li><code>alternate-reverse</code>: спочатку анімація відтворюється з кінця до початку, а потім навпаки.</li></ul><p>За замовчуванням анімація почне відтворюватися одразу після завантаження сторінки. Проте це можна змінити за допомогою властивості <code>animation-delay</code>, яка вказує, як довго ви хочете чекати, перш ніж анімація розпочнеться.</p><p>Властивість <code>animation-fill-mode</code> визначає, як елемент буде відображатися перед та після відтворення анімації. За замовчуванням елемент не зберігатиме жодних стилів з анімації. Після завершення анімації елемент повернеться до нормального стану.</p><p>Якщо <code>animation-fill-mode</code> встановлено на <code>forwards</code>, елемент зберігатиме стилі з останнього ключового кадру анімації після її відтворення.</p><p>Якщо встановлено на <code>backwards</code>, елемент прийматиме стилі з першого ключового кадру анімації, як тільки анімація відтвориться.</p><p>Якщо встановлено на <code>both</code>, елемент зберігатиме стилі з першого ключового кадру перед початком анімації (подібно до <code>backwards</code>), а також збереже стилі з останнього ключового кадру після завершення анімації (подібно до <code>forwards</code>).</p><h2 id="--7"><strong>Висновок</strong></h2><p>Цей урок охопив все, що потрібно знати, перш ніж створювати анімації CSS за допомогою правила <code>@keyframes</code>.</p><pre><code class="language-css">@keyframes pulse {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  50% {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 0.7;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}
</code></pre><p>Ми також розглянули декілька властивостей CSS, пов’язаних з анімацією:</p><ul><li><code>animation-duration</code>: визначає тривалість анімації;</li><li><code>animation-iteration-count</code>: визначає кількість повторень анімації;</li><li><code>animation-timing-function</code>: вказує часову функцію, яка контролює швидкість відтворення анімації;</li><li><code>animation-direction</code>: напрямок відтворення анімації;</li><li><code>animation-delay</code>: затримка перед початком анімації;</li><li><code>animation-fill-mode</code>: чи слід зберігати стилі з анімації після завершення.</li></ul><p>Для подальшого вивчення HTML та CSS рекомендую звернутися до циклу курсів -&gt; <a href="https://www.ericsdevblog.com/courses/html-css/">HTML &amp; CSS: A Practical Guide</a>.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Жирність CSS: як зробити жирний шрифт у HTML за допомогою Font Weight ]]>
                </title>
                <description>
                    <![CDATA[ CSS — потужний інструмент веброзробників, який дозволяє стилізувати та форматувати вміст HTML різними способами. Однією з найчастіших технік форматування є жирний шрифт, що виконують за допомогою властивості font-weight. Жирний шрифт наголошує на головній інформації, створює візуальний контраст та покращує читабельність. У цій статті ви дізнаєтесь, як використовувати CSS, щоб за ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/zhyrnist-css-yak-zrobyty-zhyrnyy-shryft-u-html-za-dopomohoyu-font-weight/</link>
                <guid isPermaLink="false">6458cc20328b52055a53d1b2</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Mon, 08 May 2023 18:51:38 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2023/05/cover-template--4-.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/css-bold-how-to-bold-text-in-html-with-font-weight/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Bold – How to Bold Text in HTML with Font Weight</a>
      </p><p>CSS — потужний інструмент веброзробників, який дозволяє стилізувати та форматувати вміст HTML різними способами.</p><p>Однією з найчастіших технік форматування є жирний шрифт, що виконують за допомогою властивості <code>font-weight</code>. Жирний шрифт наголошує на головній інформації, створює візуальний контраст та покращує читабельність.</p><p>У цій статті ви дізнаєтесь, як використовувати CSS, щоб за допомогою властивості <code>font-weight</code> зробити жирний шрифт у HTML. Незалежно від того, початківець ви чи досвідчений розробник, ця стаття надасть вичерпний посібник зі створення жирного шрифту в HTML за допомогою CSS.</p><h2 id="-font-weight"><strong>Коротко про властивість Font-Weight</strong></h2><p>Властивість <code>font-weight</code> — це властивість у CSS, яка визначає жирність чи товщину шрифту: чим більше значення, тим жирніший шрифт.</p><p>Властивість <code>font-weight</code> приймає різні значення, включно з числами та ключовими словами.</p><p>Числові значення коливаються від 100 до 900, кожне збільшується на 100. Значення 400 вважається нормальним, а 700 — жирним. До найпопулярніших ключових слів належать <code>bold</code>, <code>bolder</code>, <code>lighter</code> та <code>normal</code>.</p><h2 id="-css"><strong>Як зробити жирний шрифт завдяки CSS</strong></h2><p>Створення жирного шрифту в HTML за допомогою CSS — простий процес, який можна виконати декількома способами. Ви можете використовувати будь-який стиль (вбудований, внутрішній чи зовнішній).</p><h3 id="-"><strong>Як зробити жирний шрифт завдяки вбудованому стилю</strong></h3><p>Ви можете використовувати вбудований стиль, щоб застосувати властивість <code>font-weight</code> одразу до потрібного елемента HTML. Ось приклад:</p><pre><code class="language-html">&lt;p style="font-weight: bold;"&gt;Це жирний шрифт&lt;/p&gt;
</code></pre><p>Вбудований стиль може забруднити код HTML та зробить його важким в обслуговуванні, особливо коли багато елементів вимагають однакових стилів.</p><h3 id="--1"><strong>Як зробити жирний шрифт завдяки внутрішньому стилю</strong></h3><p>Внутрішній стиль дозволяє застосувати стилі CSS в межах розділу <code>head</code> за допомогою тегу <code>style</code>. Ось приклад:</p><pre><code class="language-html">&lt;head&gt;
  &lt;style&gt;
    p {
      font-weight: bold;
    }
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;p&gt;Це жирний шрифт&lt;/p&gt;
&lt;/body&gt;
</code></pre><p>Цей метод корисний, якщо ви додаєте однакові стилі до декількох елементів на одній сторінці.</p><h3 id="--2"><strong>Як зробити жирний шрифт завдяки зовнішньому стилю</strong></h3><p>Зовнішній стиль передбачає створення окремого файлу CSS, який пов’язується із документом HTML за допомогою тегу <code>link</code>. Ось приклад:</p><pre><code class="language-html">&lt;head&gt;
  &lt;link rel="stylesheet" type="text/css" href="styles.css"&gt;
&lt;/head&gt;
</code></pre><p>Файл CSS може містити стилі всіх елементів HTML на вебсайті, тому ви можете легко вносити зміни до стилів, не змінюючи код HTML.</p><pre><code class="language-css">p {
  font-weight: bold;
}
</code></pre><h2 id="-html"><strong>Найкращі практики для застосування жирного шрифту в HTML</strong></h2><p>Жирний шрифт у HTML може наголосити на важливій інформації, однак важливо дотримуватись найкращих практик, щоб забезпечити читабельність та доступність тексту.</p><p>Ось найкращі практики використання жирного шрифту в HTML:</p><p><strong>Виберіть правильне значення<strong> font-weight</strong></strong>: під час використання жирного шрифту важливо вибрати правильне значення властивості font-weight, щоб текст був чітким і легким для читання.</p><p>Для заголовків краще використовувати жирніший шрифт, а для звичайного тексту — тонший. Також варто переконатись, що жирного шрифту небагато і він не відвертає уваги від інших елементів.</p><p><strong>Балансуйте жирний шрифт з іншим форматуванням</strong>: жирний шрифт допоможе привернути увагу до важливої інформації, однак його важливо балансувати з іншим форматуванням, щоб створити візуальну ієрархію.</p><p>Використовуйте курсив, підкреслення або різні розміри чи кольори шрифту, щоб вирізняти рівні важливості.</p><p><strong>Уникайте надмірного використання жирного шрифту</strong>: надмірне використання жирного шрифту може ускладнити читання тексту та погіршити загальний дизайн сторінки.</p><p>Не використовуйте жирний шрифт часто, а лише там, де потрібно наголосити на важливій інформації. Не використовуйте жирний шрифт для цілих абзаців чи блоків тексту, оскільки тоді читачам важко розрізнити важливу інформацію від звичайного тексту.</p><p><strong>Перевірте доступність</strong>: якщо ви використовуєте жирний шрифт, переконайтесь, що він доступний всім користувачам, включно з тими, у кого порушення зору.</p><p>Читачам екрана важко читати стилізований текст, тому важливо перевірити сторінку, використовуючи інструменти доступності, аби переконатись, що текст правильно відформатований та доступний.</p><h2 id="--3"><strong>Висновок</strong></h2><p>Жирний шрифт може ефективно наголосити на важливій інформації та створити візуальну ієрархію.</p><p>Виберіть правильне значення font-weight, збалансуйте жирний шрифт з іншим форматуванням, не використовуйте його часто та перевірте доступність, щоб жирний текст був читабельним та доступним усім користувачам.</p><p>Дякую, що прочитали!</p><p>Вирушайте в подорож програмуванням! <a href="https://joelolawanle.com/contents">Перегляньте 200+ статей про веброзробку</a>. Зайдіть на <a href="https://joelolawanle.com/posts">мій блог</a>, щоб знайти більше цікавої інформації.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Шпаргалка CSS: 10 трюків, щоб покращити наступний проєкт ]]>
                </title>
                <description>
                    <![CDATA[ Іноді каскадну природу CSS важко розуміти та використовувати. Розробники будь-якого рівня часто стикаються з проблемами, намагаючись зрозуміти, як користуватись певною функцією, тому ви часто проситимете допомоги у колег чи шукатимете її в гуглі. Тому, коли у вас виникають проблеми з CSS — не сердіться. Таке буває з кожним. Оскільки CSS ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/shparhalka-css-10-tryukiv-shchob-pokrashchyty-nastupnyy-proyekt/</link>
                <guid isPermaLink="false">643808528a9f64062d33e2d1</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Mon, 24 Apr 2023 02:44:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2023/04/csstricks.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/10-css-tricks-for-your-next-coding-project/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Cheat Sheet – 10 Tricks to Improve Your Next Coding Project</a>
      </p><p>Іноді каскадну природу CSS важко розуміти та використовувати. Розробники будь-якого рівня часто стикаються з проблемами, намагаючись зрозуміти, як користуватись певною функцією, тому ви часто проситимете допомоги у колег чи шукатимете її в гуглі.</p><p>Тому, коли у вас виникають проблеми з CSS — не сердіться. Таке буває з кожним.</p><p>Оскільки CSS може бути хитрим та заплутаним, вам також потрібно бути хитрими. У цій публікації я поділюсь 10 чудовими трюками CSS, які полегшать роботу розробникам, особливо початківцям.</p><h2 id="1-css"><strong>1. Як прибрати горизонтальну смугу прокручування вебсторінки в CSS</strong></h2><p>Якщо ви стилізуєте вебсторінку та бачите горизонтальну смугу прокручування знизу, вам потрібно знайти елемент, ширина якого більша за доступну ширину екрана.</p><p>У прикладі на знімку екрана ви можете побачити горизонтальну смугу прокручування:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/07/horizontalscroll1.png" class="kg-image" alt="horizontalscroll1" width="600" height="400" loading="lazy"></figure><p>Ви можете використати універсальний селектор (*), щоб знайти потрібний елемент, застосувавши наступні правила:</p><pre><code class="language-css">* { 
     border: 2px solid red;
}</code></pre><p>Це надасть червоного кордону 2px до кожного елементу на сторінці, що допоможе легко знайти елемент, який потрібно змінити.</p><p>Ось результат після застосування стилю:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/07/horizontalscrollfix.png" class="kg-image" alt="horizontalscrollfix" width="600" height="400" loading="lazy"></figure><p>Як бачите, друга зелена хвилька призводить до горизонтальної смуги прокручування. Причина в тому, що ширина має значення 1400px, а доступною шириною екрана є 1200px.</p><pre><code>.wave2 {
  width: 1400px;
}
</code></pre><p>Щоб прибрати горизонтальну смугу прокручування, потрібно налаштувати ширину на 1200px або повністю видалити елемент.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/07/horizontalScrollFixed.png" class="kg-image" alt="horizontalScrollFixed" width="600" height="400" loading="lazy"></figure><h2 id="2-css"><strong>2. Як ігнорувати стиль у CSS</strong></h2><p>У деяких випадках потрібно змінити стиль, який вже існує (наприклад, у бібліотеці). Або у вас є шаблон із великою таблицею стилів, де потрібно змінити певну частину.</p><p>У таких випадках можна застосувати <a href="https://www.freecodecamp.org/news/what-is-css-specificity/">правила специфічності CSS</a> або використати виняток <code>!important</code> перед правилом.</p><p>У прикладі нижче <code>!important</code> надає кожному елементу h1 смарагдового кольору #2ecc71 (мій улюблений колір):</p><pre><code class="language-css">h1 {
    color: #2ecc71 !important;
}</code></pre><p>Але будьте обережними: використовувати цей виняток вважається поганою практикою, яку потрібно уникати.</p><p>Причина в тому, що <code>!important</code> руйнує каскадну природу CSS і це може ускладнити налагодження.</p><p><code>!important</code> варто використовувати, щоб знайти проблему у базі даних, якщо ви працюєте з величезною таблицею стилів чи старим кодом. У такому разі ви зможете швидко вирішити проблему та вилучити виняток.</p><p>Замість того, щоб використовувати <code>!important</code> для додавання стилів, ви можете <a href="https://www.freecodecamp.org/news/what-is-css-specificity/">дізнатись більше про специфічність CSS</a> та застосувати ці правила.</p><h2 id="3-css"><strong>3. Як зробити квадрат із CSS</strong></h2><p>Якщо ви хочете створити квадрат, не надто працюючи над шириною та висотою, ви можете стилізувати div (або span), встановивши колір фону, потрібну ширину та значення aspect-ratio на рівні числа. Перше число використовують для верхнього та нижнього розміру, а друге — для лівого та правого.</p><p>Ви можете піти далі та створити прямокутник чи будь-який інший чотирикутник, який забажаєте.</p><pre><code class="language-html">&lt;div class="square"&gt;&lt;/div&gt;
</code></pre><pre><code class="language-css">.square {
  background: #2ecc71;
  width: 25rem;
  aspect-ratio: 1/1;
}</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/07/square.png" class="kg-image" alt="square" width="600" height="400" loading="lazy"></figure><h2 id="4-div-css"><strong>4. Як відцентрувати div із CSS</strong></h2><p>Відцентрувати div може бути важкою справою, оскільки таблиця стилів збільшується. Щоб стилізувати будь-який div, надайте йому display зі значенням block, margin зі значенням auto та width зі значенням менше 100%.</p><pre><code class="language-html">&lt;div class="center"&gt;&lt;/div&gt;
</code></pre><pre><code class="language-css">.center {
    background-color: #2ecc71;
    display: block;
    margin: auto;
    width: 50%;
    height: 200px;
}</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/07/centeredDiv.png" class="kg-image" alt="centeredDiv" width="600" height="400" loading="lazy"></figure><h2 id="5-css"><strong>5. Як вилучити зайвий відступ у блоці в CSS</strong></h2><p>Завдяки <code>box-sizing: border-box</code> можна впевнитись, що у блоці не буде зайвого відступу, коли ви налаштовуєте його ширину та відступ. Це допоможе вашим макетам мати кращий вигляд.</p><pre><code class="language-css">* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}</code></pre><h2 id="6-css"><strong>6. Як зробити буквицю за допомогою CSS</strong></h2><p>Ви можете зробити буквицю з першої літери псевдоелемента. Саме так! Ту саму буквицю, яку ви бачите у друкованих виданнях.</p><p>Оберіть відповідний елемент HTML та застосуйте до нього стиль, як зробив я:</p><pre><code class="language-html"> &lt;p class="texts"&gt;
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Quia officia nisi
      veniam laboriosam? In excepturi ea inventore eligendi iusto! Incidunt
      molestiae quas molestias, nesciunt voluptate aut vitae odio corrupti
      quisquam laudantium aperiam consequuntur voluptas eum? Velit, eligendi ad
      laboriosam beatae corporis perferendis tempore consequatur sint rem quam,
      quae, assumenda rerum.
 &lt;/p&gt;
</code></pre><pre><code class="language-css">p.texts::first-letter {
  font-size: 200%;
  color: #2ecc71;
}</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/07/dropcapScreen-1.png" class="kg-image" alt="dropcapScreen-1" width="600" height="400" loading="lazy"></figure><h2 id="7-css"><strong>7. Як змінити регістр у CSS</strong></h2><p>Великі чи малі літери не обов’язково повинні надходити з HTML. Ви можете зробити будь-який текст у ВЕРХНЬОМУ чи нижньому регістрі в CSS.</p><p>Сподіваюсь, у майбутньому будуть опції для SentenceCase та tOGGLEcASE. Але для чого використовувати tOGGLEcASE?</p><pre><code class="language-html">&lt;p class="upper"&gt;
      Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium,
      minima.
&lt;/p&gt;
&lt;p class="lower"&gt;LOREM IPSUM DOLOR SIT AMET&lt;/p&gt;
</code></pre><pre><code class="language-css">.upper {
  text-transform: uppercase;
}

.lower {
  text-transform: lowercase;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/07/transform.png" class="kg-image" alt="transform" width="600" height="400" loading="lazy"></figure><h2 id="8-css-"><strong>8. Як оголосити змінні, щоб CSS не повторювався</strong></h2><p>Змінні? Так. Ви можете оголосити змінні у CSS.</p><p>Якщо змінні оголошені, їх можна використовувати в різних стилях. Якщо вам потрібно щось змінити, ви змінюєте лише змінну, а результат буде відображено всюди, де вона використана. Завдяки цьому ваш CSS не буде повторюватись.</p><p>Ви можете оголосити змінну, розмістивши її у кореневій області, щоб вона була глобальною у таблиці стилів. А щоб використовувати змінну, помістіть властивість всередині фігурних дужок поруч з ключовим словом «var».</p><p>Змінні часто оголошують зверху таблиці стилів, тобто перед скиданням.</p><pre><code class="language-css">:root {
  --text-color: hsl(145, 63%, 49%);
}

p {
  color: var(--text-color);
}
</code></pre><h2 id="9-before-after-css"><strong>9. Як використовувати селектори <code>:before</code> та <code>:after</code>, щоб додати додатковий вміст до CSS</strong></h2><p>Селектор <code>:before</code> у CSS дозволяє додати вміст перед елементом:</p><pre><code class="language-html">&lt;p class="texts"&gt;
  Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium,
  minima.
&lt;/p&gt;
</code></pre><pre><code class="language-css">p.texts::before {
  content: "Some Lorem Texts: ";
  color: #2ecc71;
  font-weight: bolder;
}</code></pre><p>Селектор <code>:after</code> виконує те саме, але додає вміст після елемента:</p><pre><code class="language-css">p.texts::after {
  content: " Those were Some Lorem Texts";
  color: #2ecc71;
  font-weight: bolder;
}</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/07/beforeAndAfter.png" class="kg-image" alt="beforeAndAfter" width="600" height="400" loading="lazy"></figure><h2 id="10-css"><strong>10. Як отримати плавне прокручування завдяки чистому CSS</strong></h2><p>Ви можете застосувати плавне прокручування вебсторінки, не використовуючи складний JavaScript чи плагін. Тому, якщо у вас є теги прив’язки, які посилаються на декілька частин вебсторінки, і ви натиснете їх, прокручування відбувається плавно.</p><pre><code class="language-css">html {
  scroll-behavior: smooth;
}</code></pre><p>Це все!</p><p>Дякую, що прочитали. Зв’яжіться зі мною через <a href="https://ksound22.github.io">портфоліо</a> та <a href="https://twitter.com/Ksound22">твіттер</a>, де я зазвичай пишу твіти і взаємодію з темами програмування й веброзробки.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Функції у CSS: як використовувати calc(), max(), min() та clamp() ]]>
                </title>
                <description>
                    <![CDATA[ У CSS багато різних одиниць вимірювання. Існують пікселі, відсотки, vh, vw, em, rem тощо. Іноді потрібно отримати значення, об’єднавши дві чи більше одиниць вимірювання. CSS має функцію, яку можна використати для таких розрахунків — calc(). У цій публікації ви дізнаєтесь, як вона працює. Існують й інші функції, які ви можете ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/funktsiyi-u-css-yak-vykorystovuvaty-calc-max-min-ta-clamp/</link>
                <guid isPermaLink="false">6418a1c235fefee8cac04212</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Tue, 21 Mar 2023 11:27:07 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2023/03/pexels-katerina-holmes-5905965.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/css-functions-for-beginners/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Functions – How to Use calc(), max(), min(), and clamp()</a>
      </p><p>У CSS багато різних одиниць вимірювання. Існують пікселі, відсотки, vh, vw, em, rem тощо.</p><p>Іноді потрібно отримати значення, об’єднавши дві чи більше одиниць вимірювання. CSS має функцію, яку можна використати для таких розрахунків — <code>calc()</code>. У цій публікації ви дізнаєтесь, як вона працює.</p><p>Існують й інші функції, які ви можете використовувати з відповідними одиницями (наприклад, <code>max</code>, <code>min</code> та <code>clamp</code>) та які використовують доречне значення, коли зустрічаються з різними значеннями. Вони особливо корисні в адаптивних макетах та можуть бути альтернативою медіазапитів.</p><p>Якщо ви навчитесь використовувати їх правильно, ви уникнете різкої зміни макету, яка трапляється при зміні розміру вікна, якщо ви використовували медіазапит. І код буде меншим!</p><h2 id="-calc-css"><strong>Як використовувати функцію <code>calc()</code> у CSS</strong></h2><p>Функція <code>calc</code> приймає один параметр. Цей параметр може бути виразом, який складається з будь-якої одиниці та математичного оператора <code>+</code>, <code>-</code>, <code>/</code>, <code>*</code>.</p><p>Ви також можете використати дужки, щоб вказати порядок виконання дій, який відрізняється від загальних правил.</p><p>У виразі всередині функції <code>calc()</code> ви можете використовувати змінні CSS, значення, отримані з <code><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/attr">attr()</a></code>, і значення з функцій <code>max()</code>, <code>min()</code> та <code>clamp()</code>.</p><p><code>calc()</code> дозволяє обчислити значення з комплексних параметрів.</p><pre><code class="language-css">div {
    width: calc(100% - 2em);
}</code></pre><p><strong>Примітка</strong>: завжди залишайте пробіл з обох сторін математичних операторів.</p><h2 id="-max-css"><strong>Як використовувати функцію <code>max()</code> у CSS</strong></h2><p>Функція <code>max</code> приймає список значень, розділених комою, та повертає найбільше з них. Значення може бути виразом (будь-що, що можна використати як аргумент функції <code>calc()</code>, також може бути одним з аргументів цієї функції).</p><p>Можна подумати, що функцію max можна використати, щоб знайти <em>найменше число</em>.</p><p>Суть цієї функції в тому, щоб зробити текст адаптивним, при тому надавши мінімальне значення розміру.</p><p>Наприклад:</p><pre><code class="language-css">h1 {
    font-size: max(1rem, 10vh);
}</code></pre><p>У такому разі текст становитиме десяту частину висоти вікна (за умови, що висота не стане замалою). Текст завжди матиме <code>font-size</code> зі значенням принаймні <code>1rem</code>, щоб забезпечити легкість для читання.</p><h2 id="-min-css"><strong>Як використовувати функцію <code>min()</code> у CSS</strong></h2><p>Як і функція max, <code>min</code> приймає декілька аргументів (включно з іншими функціями <code>max</code>, <code>min</code> чи <code>clamp</code>) та повертає найменше значення.</p><p>Можна подумати, що завдяки функції min можна знайти <em>найбільше значення</em>.</p><p>Скажімо, ви створюєте форму та хочете, щоб вона була адаптивною. Щоб уникнути розтягнутого екрану, який часто зустрічається на найбільших екранах, потрібно надати максимальної ширини.</p><p>Ви б написали щось схоже:</p><pre><code class="language-css">.form {
    width: min(600px, 90vw);
}</code></pre><p>Ваша сторінка матиме ширину, яка дорівнює 90% ширини вікна перегляду, або 600 пікселям, незалежно від найменшого розміру. Якщо ширина вікна перегляду більша за ~670 пікселів, форма не буде розтягуватись горизонтально.</p><h2 id="-min-max-"><strong>Приклад <code>min()</code> та <code>max()</code>:</strong></h2><p>Тут ви можете побачити, як працюють фрагменти коду. Спробуйте змінити розмір по горизонталі та вертикалі. Ви побачите, як змінюються ширина форми та розмір тексту.</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_XWZMGVd" src="https://codepen.io/nethleen/embed/preview/XWZMGVd?default-tabs=html%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=XWZMGVd" title="Embedded content" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-size: 22px; vertical-align: middle; width: 760px; overflow: hidden;"></iframe></figure><h2 id="-clamp-css"><strong>Як використовувати функцію <code>clamp()</code> у CSS</strong></h2><p>Функція <code>clamp</code> скріпляє значення між максимальним й мінімальним лімітом та обирає значення між ними.</p><p><code>clamp</code> приймає три значення. Перше значення є мінімальним, друге — переважним, а третє — максимальним.</p><p>Функція clamp поверне переважне значення, якщо воно не менше за мінімальне (у такому разі вона поверне мінімальне). Якщо переважне значення більше за максимальне — функція поверне максимальне.</p><p>Використовуйте <code>clamp</code>, щоб елементи макету адаптовано змінювали розмір у межах діапазону.</p><pre><code class="language-css">h1 {
    font-size: clamp(1rem, 10vw, 2rem);
}

div {
    padding: clamp(10px, 6vw, 50px);
    width: clamp(140px, 90vw, 600px);
}</code></pre><h2 id="-clamp-"><strong>Приклад <code>clamp</code>:</strong></h2><p>Перегляньте це в дії! Змініть розмір горизонтально. Ви побачите, як різні елементи змінюють розміри.</p><figure class="kg-card kg-embed-card"><iframe id="cp_embed_ExQWJZo" src="https://codepen.io/nethleen/embed/preview/ExQWJZo?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=ExQWJZo" title="Embedded content" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-size: 22px; vertical-align: middle; width: 760px; overflow: hidden;"></iframe></figure><p>MDN має детальнішу інформацію щодо цих функцій:</p><ul><li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/calc">calc</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/max">max</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/min">min</a></li><li><a href="https://developer.mozilla.org/en-US/docs/Web/CSS/clamp">clamp</a></li></ul><p>Ви коротко дізнались про чотири чудові функції. Цих знань достатньо, щоб почати використовувати їх, тому до роботи!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Яка різниця між відступом та полем у CSS? ]]>
                </title>
                <description>
                    <![CDATA[ У CSS існує безліч властивостей, які контролюють розташування елементів на сторінці. Найпопулярніші з них — відступ та поле.  Відступ та поле контролюють місце навколо елемента, але роблять це по-різному. Зображення взято з публікації Кевіна Павелла про поля у CSS [https://www.freecodecamp.org/news/css-margins/].Поле (margin) — це місце поза елементом. Це місце між ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/yaka-riznytsya-mizh-vidstupom-ta-polem-u-css/</link>
                <guid isPermaLink="false">640c8e33a511a70634154237</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Mon, 13 Mar 2023 03:18:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2023/03/simona-sergi-OfjOuw_prPg-unsplash.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/css-margin-vs-padding-what-is-the-difference/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Margin VS Padding – What is the Difference? [Solved]</a>
      </p><p>У CSS існує безліч властивостей, які контролюють розташування елементів на сторінці. Найпопулярніші з них — відступ та поле. </p><p>Відступ та поле контролюють місце навколо елемента, але роблять це по-різному.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2022/04/Artboard-1.jpeg" class="kg-image" alt="Artboard-1" width="600" height="400" loading="lazy"><figcaption>Зображення взято з публікації Кевіна Павелла про <a href="https://www.freecodecamp.org/news/css-margins/">поля у CSS</a>.</figcaption></figure><p>Поле (margin) — це місце поза елементом. Це місце між елементом та елементами навколо нього.</p><p>Якщо ви хочете, щоб елемент був розміщений подалі від інших елементів, збільште значення властивості <code>margin</code>.</p><p>Відступ (padding) — це місце всередині елемента. Це місце між елементом та його вмістом.</p><h3 id="-css"><strong>Приклад поля у CSS </strong></h3><p>Ось так можна надати елементу поле у CSS:</p><pre><code class="language-css">.element {

  margin: 10px;

}
</code></pre><h3 id="-html"><strong>Приклад поля у HTML</strong></h3><p>А ось так можна надати елементу поле в HTML (пам’ятайте, що в більшості випадків це вважається лінивою практикою).</p><pre><code class="language-html">&lt;div style="margin-top:100px;"&gt;Певний текст.&lt;/div&gt;</code></pre><h3 id="-css-1"><strong>Приклад відступу в CSS</strong></h3><p>Ось так можна надати елементу відступ у CSS:</p><pre><code class="language-css">.element {

  padding: 10px;

}
</code></pre><p>Звичайно, у HTML можна зробити так само:</p><pre><code class="language-html">&lt;div style="padding-top:20px;"&gt;Певний текст.&lt;/div&gt;</code></pre><h3 id="-"><strong>Це все. Вперед до стилізації елементів.</strong></h3><p>Сподіваюсь, публікація була корисною. Якщо хочете дізнатись більше про програмування та технології, спробуйте <a href="https://www.freecodecamp.org/ukrainian/learn/">навчальну програму freeCodeCamp</a>. Вона безоплатна.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Стилістичне оформлення HTML: як прибрати підкреслення для посилань у CSS ]]>
                </title>
                <description>
                    <![CDATA[ Якщо ви веброзробник, ви, ймовірно, хотіли прибрати підкреслення, яке з’являється для посилання на сторінку за замовчуванням. На щастя, ви можете стилізувати теги посилання, як і всі інші елементи вебсторінки. У цій публікації я покажу, як прибрати підкреслення для посилання за допомогою CSS. Я також покажу чотири можливі стани посилання та ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/stylistychne-oformlennya-html-yak-prybraty-pidkreslennya-dlya-posylan-u-css/</link>
                <guid isPermaLink="false">63fdba91d125780651a3b9c6</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Mon, 06 Mar 2023 03:40:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2023/03/writing-326357_1280.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/remove-underline-from-link-in-css/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Remove Underline from a Link in CSS – HTML Style Guide</a>
      </p><p>Якщо ви веброзробник, ви, ймовірно, хотіли прибрати підкреслення, яке з’являється для посилання на сторінку за замовчуванням.</p><p>На щастя, ви можете стилізувати теги посилання, як і всі інші елементи вебсторінки.</p><p>У цій публікації я покажу, як прибрати підкреслення для посилання за допомогою CSS. Я також покажу чотири можливі стани посилання та як прибрати підкреслення для кожного.</p><h2 id="-css"><strong>Як прибрати підкреслення для посилання у CSS</strong></h2><p>За замовчуванням тег посилання у браузері виглядає так:<br></p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/06/ss1-4.png" class="kg-image" alt="ss1-4" width="600" height="400" loading="lazy"></figure><p>По-перше, важливо знати, що тег посилання може перебувати у 4 різних станах, які називають псевдокласами:</p><ul><li><code>a:link</code>: звичайний стан неактивного посилання (користувач не відвідав його або не навів мишкою)</li><li><code>a:visited</code>: користувач відвідав посилання</li><li><code>a:hover</code>: користувач наводить мишкою на посилання</li><li><code>a:active</code>: користувач натискає на посилання</li></ul><p><strong>Примітка:</strong> стани (псевдокласи) мають з’являтися у вищеподаному порядку через каскадну природу CSS.</p><p>Щоб <strong>прибрати підкреслення за замовчуванням</strong>, можна націлити всі псевдокласи та призначити їм властивість <code>text-decoration</code> зі значенням <code>none</code>.</p><pre><code class="language-html">&lt;p&gt;This is a &lt;a href="#"&gt;link&lt;/a&gt;&lt;/p&gt;
</code></pre><pre><code class="language-css"> a:link {
      text-decoration: none;
}

a:visited {
      text-decoration: none;
}

a:hover {
      text-decoration: none;
}

a:active {
      text-decoration: none;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/06/ss2-4.png" class="kg-image" alt="ss2-4" width="600" height="400" loading="lazy"></figure><p>Ви також можете прибрати підкреслення в один прийом за допомогою селектора елемента посилання:</p><pre><code class="language-css"> a {
       text-decoration: none;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/06/ss3-5.png" class="kg-image" alt="ss3-5" width="600" height="400" loading="lazy"></figure><p>Можете погратися з 4 псевдокласами тегу посилання:</p><figure class="kg-card kg-embed-card kg-card-hascaption"><iframe id="cp_embed_bGLPzXr" src="https://codepen.io/koladechris/embed/preview/bGLPzXr?default-tabs=css%2Cresult&amp;height=300&amp;host=https%3A%2F%2Fcodepen.io&amp;slug-hash=bGLPzXr" title="Embedded content" scrolling="no" frameborder="0" height="300" allowtransparency="true" class="cp_embed_iframe" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-family: inherit; font-style: inherit; font-variant-caps: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-size: 22px; vertical-align: middle; width: 760px; overflow: hidden;"></iframe><figcaption>Стани тегу посилання</figcaption></figure><h2 id="-"><strong>Висновок</strong></h2><p>Сподіваюсь, ця публікація допомогла дізнатись, як прибрати підкреслення для посилань у CSS.</p><p>Якщо публікація була корисною, не забудьте поділитися з друзями та рідними.</p><p>Дякую, що прочитали.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Зовнішні таблиці стилів CSS: як додати CSS до HTML та імпортувати в head ]]>
                </title>
                <description>
                    <![CDATA[ Вважається, що таблиці стилів CSS найкраще зберігати у зовнішньому файлі. А як додати CSS до файлу HTML? Посилання на зовнішній файл CSS є важливою частиною будь-якої шаблонної сторінки HTML [/ukrainian/news/bazovyy-shablon-html5-shablonnyy-kod-html-dlya-pochatku-bud-yakoho-proyektu/] . У цій публікації ми дізнаємося, як це зробити. Як додати файл CSS до файлу HTML Ви можете додати файл ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/zovnishni-tablytsi-styliv-css-yak-dodaty-css-do-html-ta-importuvaty-v-head/</link>
                <guid isPermaLink="false">63f781a8d125780651a3b464</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Mon, 27 Feb 2023 05:57:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2023/02/pexels-martin-damboldt-814499.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/external-css-stylesheets-how-to-link-css-to-html-and-import-into-head/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">External CSS Stylesheets – How to Link CSS to HTML and Import into Head</a>
      </p><p>Вважається, що таблиці стилів CSS найкраще зберігати у зовнішньому файлі. А як додати CSS до файлу HTML?</p><p>Посилання на зовнішній файл CSS є важливою частиною будь-якої <a href="https://www.freecodecamp.org/ukrainian/news/bazovyy-shablon-html5-shablonnyy-kod-html-dlya-pochatku-bud-yakoho-proyektu/">шаблонної сторінки HTML</a>. У цій публікації ми дізнаємося, як це зробити.</p><h2 id="-css-html"><strong><strong>Як додати файл<strong> CSS </strong>до файлу<strong> HTML</strong></strong></strong></h2><p>Ви можете додати файл CSS до свого файлу HTML, додавши елемент <code>link</code> всередині елемента <code>head</code> свого файлу HTML, ось так:</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;
  &lt;html&gt;
    &lt;head&gt;
      &lt;link rel="stylesheet" href="style.css"&gt;
    &lt;/head&gt;
    &lt;body&gt;
    
    &lt;/body&gt;
&lt;/html&gt;</code></pre><p>Елемент <code>link</code> має багато застосувань, тому важливо вказати відповідні атрибути, щоб імпортувати зовнішню таблицю стилів CSS. Зараз ми розглянемо декілька найважливіших атрибутів.</p><h2 id="-rel"><strong><strong>Атрибут<strong> <code>rel</code></strong></strong></strong></h2><p>Перший з двох необхідних атрибутів — атрибут <code>rel</code>. Цей атрибут використовують, щоб повідомити браузеру про стосунки з імпортованим файлом. </p><p>Напишіть <code>rel="stylesheet"</code>, аби повідомити браузер, що ви імпортуєте таблицю стилів.</p><h2 id="-href"><strong><strong>Атрибут<strong> <code>href</code></strong></strong></strong></h2><p>Другим необхідним атрибутом є <code>href</code>, який вказує файл для імпорту. </p><p>Файли CSS та HTML часто знаходяться в одній папці. У такому разі можна написати <code>href="style.css"</code>.</p><p>Якщо файли CSS та HTML знаходяться в різних папках, вам потрібно написати шлях від файлу HTML до файлу CSS.</p><p>Наприклад, часто файл CSS знаходиться в папці, яка є братською для файлу HTML:</p><pre><code>project --- index.html
            css ---------- style.css</code></pre><p>У такому разі шлях потрібно написати ось так: <code>"css/styles.css"</code>.</p><h2 id="-type"><strong><strong>Атрибут<strong> <code>type</code></strong></strong></strong></h2><pre><code class="language-html">&lt;link rel="stylesheet" href="style.css" type="text/css"&gt;</code></pre><p>Атрибут <code>type</code> використовують, щоб визначити тип змісту. Для таблиці стилів це буде <code>text/css</code>. Але оскільки <code>css</code> є єдиною використаною мовою таблиць стилів, його краще не використовувати.</p><h2 id="-media"><strong><strong>Атрибут<strong> <code>media</code></strong></strong></strong></h2><pre><code class="language-html">&lt;link rel="stylesheet" href="style.css" media="screen and (max-width: 600px)"&gt;</code></pre><p>Атрибут <code>media</code> не видно в прикладі. Це додатковий атрибут, за допомогою якого можна вказати, коли імпортувати певну таблицю стилів. Його значенням повинен бути медіатип або медіазапит.</p><p>Він може бути корисним, якщо ви хочете розділити стилі для різних пристроїв і розмірів екрана в окремих файлах. Вам потрібно буде імпортувати кожен файл CSS із власним елементом <code>link</code>.</p><p>Ви можете переглянути ці публікації (або інші джерела) про медіазапити, щоб дізнатись більше про значення атрибута:</p><ul><li><a href="https://www.freecodecamp.org/news/how-to-use-css-media-queries-to-create-responsive-websites/">як використовувати медіазапити CSS для створення адаптивного вебсайту</a></li><li><a href="https://www.freecodecamp.org/news/media-queries-width-ranges/">як встановити діапазони ширини для медіазапитів CSS</a></li><li><a href="https://www.freecodecamp.org/ukrainian/news/mediazapyt-v-css-standartna-rozdilna-zdatnist-kontrolni-tochky-ta-tsilovi-rozmiry-telefonu/">медіазапит в CSS: стандартна роздільна здатність, контрольні точки та цільові розміри телефону</a></li></ul><h1 id="-"><strong><strong>Висновок</strong></strong></h1><p>У цій публікації ви дізналися, як додати зовнішню таблицю стилів до вебсторінки за допомогою елемента <code>link</code> та атрибутів <code>href</code> й <code>rel</code>.</p><p>Ви також дізналися, що можна імпортувати декілька таблиць стилів і використовувати атрибут <code>media</code>, щоб визначити, коли кожну з них потрібно застосувати.</p><p>Розважайтесь над створенням вебсторінок!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Фоновий колір CSS: як змінити колір фону у HTML ]]>
                </title>
                <description>
                    <![CDATA[ Ви розпочали створювати свою сторінку HTML та хочете надати їй трішки кольору. Можливо, ви захотіли змінити колір тексту або встановити хороший фон. Як це зробити? У цій публікації я покажу, як змінити фоновий колір сторінки декількома способами. Як змінити фоновий колір елемента HTML Ви можете змінити фоновий колір елемента HTML, ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/fonovyy-kolir-css-yak-zminyty-kolir-fonu-u-html/</link>
                <guid isPermaLink="false">63cebf8c2a003606fe8e7571</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Mon, 23 Jan 2023 18:19:30 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2023/01/html-background-color.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/css-background-color-how-to-change-the-background-color-in-html/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Background Color – How to Change the Background Color in HTML</a>
      </p><p>Ви розпочали створювати свою сторінку HTML та хочете надати їй трішки кольору. Можливо, ви захотіли змінити колір тексту або встановити хороший фон. Як це зробити?</p><p>У цій публікації я покажу, як змінити фоновий колір сторінки декількома способами.</p><h1 id="-html"><strong>Як змінити фоновий колір елемента HTML</strong></h1><p>Ви можете змінити фоновий колір елемента HTML, використавши CSS-властивість <code>background-color</code> та надавши їй значення кольору.</p><figure class="kg-card kg-code-card"><pre><code class="language-css">p {
  background-color: pink;
}</code></pre><figcaption>Абзацам надано рожевий фон завдяки цьому коду</figcaption></figure><p>Наприклад, цей код зробить так, що усі елементи абзацу у файлі HTML матимуть рожевий фон, оскільки властивість <code>background-color</code> має значення <code>pink</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-16.png" class="kg-image" alt="image-16" width="600" height="400" loading="lazy"></figure><p>Існує більше 140 кольорів, які ви можете використати. Наприклад, <code>teal</code>, <code>hotpink</code>, <code>indigo</code> та інші.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-23.png" class="kg-image" alt="image-23" width="600" height="400" loading="lazy"><figcaption>Деякі кольори, які ви можете використати</figcaption></figure><p>Примітка: якщо ви надасте <code>background-color</code> елементу та не побачите змін, це може бути помилкою синтаксису або елемент не має висоти чи ширини. Спробуйте надати йому якогось вмісту або надайте ширини та висоти, використовуючи CSS-властивості <code>width</code> та <code>height</code>.</p><p>Насправді існує більше 16,8 мільйона кольорів, які ви можете використати. Ці кольори застосовуються зі значенням RGB. Існують й кольори HSL, яких нараховують 3,7 мільйона. У наступному розділі ви дізнаєтесь про різні шляхи створення кольорів.</p><h1 id="-"><strong>Різні системи позначення кольорів</strong></h1><p>Властивість <code>background-color</code> приймає кольори як можливі значення. Зараз ми розглянемо чотири системи позначення кольорів.</p><p>Першим способом є імена кольорів, для яких існує приблизно 140 ключових слів. Це найпростіший спосіб вибрати колір, оскільки він не вимагає певного позначення. Однак тут обмежена палітра.</p><p>Другим і третім способами є значення RGB та шістнадцяткові значення. У цих системах кольори ідентифікуються кількістю червоного, зеленого та синього у них.</p><p>Це залежить від того, як екран створює колір. Екран складається з пікселів, і кожен піксель освітлюється світлодіодами трьох різних кольорів (зелений, синій та червоний), які можуть світити з різною інтенсивністю.</p><p>Четвертою системою є кольори HSL, або Hue-Saturation-Lightness (<em>укр.</em> відтінок-насиченість-освітленість). Це позначення походить від графічного дизайну, оскільки воно відображає природніший спосіб людського уявлення про колір: чистий колір (відтінок), насиченість і освітленість якого можна змінювати.</p><p>Ви можете використовувати будь-яку з цих систем позначення. Розглянемо їх детальніше, щоб ви могли вибрати той, який найбільше подобається.</p><h2 id="-html-1"><strong>Імена кольорів HTML</strong></h2><p>У першій версії HTML існує 16 базових кольорів, а сьогодні ви можете використовувати більше 140.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-24.png" class="kg-image" alt="image-24" width="600" height="400" loading="lazy"><figcaption>16 базових кольорів</figcaption></figure><figure class="kg-card kg-code-card"><pre><code class="language-css">body {
  background-color: black;
}</code></pre><figcaption><code>body</code> надано чорний фон завдяки цьому CSS</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-17.png" class="kg-image" alt="image-17" width="600" height="400" loading="lazy"><figcaption>Приклад сторінки HTML, де <code>body</code> надано <code>background-color</code> зі значенням <code>black</code></figcaption></figure><p>Вкінці публікації є додаток з усіма іменами кольорів.</p><h2 id="-rgb"><strong>Кольори RGB</strong></h2><p>RGB означає Red-Green-Blue (<em>укр.</em> червоний-зелений-синій). У такому форматі кольори записують як <code>rgb(0,0,0)</code>, де кожне значення між <code>0</code> та <code>255</code> предаставляє кількість червоного, зеленого та синього, використаних для створення кожного кольору.</p><p>Наприклад, якщо ви маєте <code>rgb(0,0,0)</code>, ви отримаєте чорний.</p><p>Щоб отримати червоний, напишіть <code>rgb(255,0,0)</code> зі значеннями <code>255</code> для червоного, <code>0</code> для синього та <code>0</code> для зеленого.</p><p>Ви можете отримати інші варіації червоного завдяки малим кількостям зеленого та/або синього і меншій кількості червоного. Наприклад, ви отримаєте цинобровий колір із <code>rgb(255,69,0)</code> та кармазиновий із <code>rgb(139,0,0)</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-25.png" class="kg-image" alt="image-25" width="600" height="400" loading="lazy"><figcaption>Кольори значень rgb, представлених вище</figcaption></figure><figure class="kg-card kg-code-card"><pre><code class="language-css">div {
  background-color: rgb(139,0,0);
}</code></pre><figcaption>Елементам <code>div</code> надано кармазиновий фон</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-18.png" class="kg-image" alt="image-18" width="600" height="400" loading="lazy"><figcaption>Приклад сторінки HTML, де елементу <code>div</code> надано <code>background-color</code> зі значенням <code>rgb(139,0,0)</code></figcaption></figure><p>Нижче наведено приклад того, як змінюється колір, коли ви налаштовуєте два значення RGB: верхній лівий кут кольорового квадрата дорівнює <code>rgb(0,0,0)</code>, верхній правий — <code>rgb(0,0,255)</code>, нижній лівий кут — <code>rgb(0,255,0)</code>, а нижній правий кут — <code>rgb(0,255,255)</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-28.png" class="kg-image" alt="image-28" width="600" height="400" loading="lazy"></figure><p>На щастя, вам не потрібно вгадувати числа, щоб отримати потрібний колір. В інтернеті можна знайти безліч відбірників кольору, які дозволяють вибрати колір за допомогою повзунків (або іншими методами) і надають вам потрібне значення RGB.</p><h2 id="--1"><strong>Шістнадцяткові кольори</strong></h2><p>Шістнадцяткові кольори є іншим способом написання кольорів RGB. Шістнадцяткові також мають три числа для кожного кольору із 256 можливими значеннями.</p><p>Однак у такому випадку кожен колір має два символи від <code>0</code> до <code>F</code> (тобто <code>0</code>, <code>1</code>, <code>2</code>, <code>3</code>, <code>4</code>, <code>5</code>, <code>6</code>, <code>7</code>, <code>8</code>, <code>9</code> та <code>A</code>, <code>B</code>, <code>C</code>, <code>D</code>, <code>E</code>, <code>F</code>). Один символ має 16 можливих значень, а два символи мають 256 можливих значень від <code>00</code> до <code>FF</code> (255).</p><p>Перед значенням шістнадцяткового кольору пишеться <code>#</code>. Наприклад, червоний записують як <code>#FF0000</code>, кармазиновий — <code>#8B0000</code>, а цинобровий — <code>#FF4500</code>.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-2.png" class="kg-image" alt="image-2" width="600" height="400" loading="lazy"><figcaption>Кольори, згадані у розділі вище</figcaption></figure><figure class="kg-card kg-code-card"><pre><code>h1 {
  background-color: #FF4500;
}</code></pre><figcaption>Елементам <code>h1</code> надано цинобровий фон.</figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-19.png" class="kg-image" alt="image-19" width="600" height="400" loading="lazy"><figcaption>Приклад сторінки HTML, де елементу <code>h1</code> надано <code>background-color</code> зі значенням <code>#FF4500</code></figcaption></figure><p>Щоб отримати шістнадцяткове значення, також можна використати відбірник кольору.</p><h3 id="--2"><strong>Скорочення шістнадцяткових</strong></h3><p>Шістнадцяткові числа можна написати у скороченій формі, використовуючи лише три символи замість шести. Наприклад, ви можете записати червоний як <code>#F00</code>. Це зменшує кількість можливих кольорів до трохи більше 4000, але це скорочена форма, яка іноді важливіша.</p><p>Кожен символ відповідає за два ідентичні символи, тому ми не можемо написати <code>#8B0000</code> у скороченій формі, оскільки <code>8</code> та <code>B</code> не ідентичні. Але ми можемо написати <code>#800</code>, яке дорівнює <code>#880000</code>, та дуже схоже до кармазинового. А цинобровим може бути <code>#F40</code> (замість <code>#FF4400</code>).</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-8.png" class="kg-image" alt="image-8" width="600" height="400" loading="lazy"><figcaption>Кольори, згадані у розділі вище</figcaption></figure><h2 id="-hsl"><strong>Кольори HSL</strong></h2><p>HSL означає Hue-Saturation-Lightness (<em>укр.</em> відтінок-насиченість-освітленість) і це зовсім інший метод написання кольорів.</p><p>Кольори HSL представлені трьома числами: відтінок від <code>0</code> до <code>360</code>, а насиченість і освітленість від <code>0</code> до <code>100</code>.</p><p>Відтінок визначає базовий колір, а його значенням є градус на колірному колі. У цьому разі червоним є <code>0</code>, зеленим — <code>120</code>, синім — <code>240</code>, та знову червоним — <code>360</code>.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-11.png" class="kg-image" alt="image-11" width="600" height="400" loading="lazy"><figcaption>Усі можливі кольори змінюються лише за відтінком, з відтінком 0 ліворуч та 360 праворуч</figcaption></figure><p>Насиченість починається з <code>0</code> (сірого кольору) та закінчується на <code>100</code> (повний колір).</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-9.png" class="kg-image" alt="image-9" width="600" height="400" loading="lazy"><figcaption>Варіація насиченості для червоного, 0% зліва та 100% справа.</figcaption></figure><p>Освітленість — це кількість доданого чорного чи білого до кольору. <code>0</code> є чорним, <code>50</code> — сам колір, а <code>100</code> — білий.</p><figure class="kg-card kg-image-card kg-width-wide kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-10.png" class="kg-image" alt="image-10" width="600" height="400" loading="lazy"><figcaption>Варіація освітленості для червоного, 0% зліва та 100% справа.</figcaption></figure><p>Наприклад, ви б написали червоний як <code>hsl(0,100%,50%)</code>, цинобровий — <code>hsl(16,100%,50%)</code>, а кармазиновий — <code>hsl(0,100%,27%)</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-26.png" class="kg-image" alt="image-26" width="600" height="400" loading="lazy"></figure><p>За допомогою HSL легше знайти подібні кольори, ніж за допомогою інших колірних схем. У прикладі ви бачили, що для отримання темнішого червоного ви можете просто змінити відсоток освітленості, а змішування червоного з іншим кольором достатньо, щоб трохи змінити його відтінок.</p><p>Розглянемо це в дії із шістнадцятковим, наприклад, помаранчевим (<code>#FFA500</code> або <code>rgb(255,166,0)</code>), записаним у HSL як <code>hsl(39,100%,50%)</code>. Світліший колір можна отримати, просто збільшивши освітленість.</p><p>Наприклад, ви можете написати <code>hsl(39,100%,65%)</code>, щоб отримати світліший помаранчевий. В інших системах вам би довелось писати <code>rgb(255,193,77)</code> або <code>#FFC14D</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-27.png" class="kg-image" alt="image-27" width="600" height="400" loading="lazy"></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-20.png" class="kg-image" alt="image-20" width="600" height="400" loading="lazy"><figcaption>Приклад сторінки HTML, де елементу <code>main</code> надано <code>background-color</code> зі значенням <code>hsl(39, 100%, 65%)</code></figcaption></figure><p>Для кольорів HSL також можна використовувати відбірники кольору.</p><h1 id="--3"><strong>Скорочена властивість</strong></h1><p>Ви також можете встановити фоновий колір за допомогою скороченої властивості <code>background</code>.</p><figure class="kg-card kg-code-card"><pre><code class="language-css">p {
  background: pink;
}

body {
  background: black;
}

div {
  background: rgb(139,0,0);
}

h1 {
  background: #FF4500;
}

main {
  background: hsl(39,100%,65%);
}</code></pre><figcaption>CSS-властивості, які ми вже бачили, але написані із скороченою властивістю <code>background</code></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-21.png" class="kg-image" alt="image-21" width="600" height="400" loading="lazy"><figcaption>Приклад сторінки HTML, де всім елементам надано фоновий колір.</figcaption></figure><p>Це набагато гнучкіша властивість, <a href="https://www.freecodecamp.org/news/learn-css-background-properties/">оскільки вона є скороченням для багатьох властивостей <code>background</code></a>, як-от <code>background-image</code> та <code>background-position</code>. Коли ви використовуєте її зі значенням кольору, вона працює точно так само, як <code>background-color</code>.</p><h1 id="--4"><strong>Висновок</strong></h1><p>Ви дізнались, як надати фоновий колір своїм елементам HTML, використовуючи властивість <code>background-color</code> та її скорочення <code>background</code>, а також про різні системи позначення кольорів.</p><p>Тепер ви маєте всі інструменти, необхідні для додавання кольорів до вебсторінок. Насолоджуйтесь!</p><h1 id="--5"><strong>Додаток</strong></h1><h2 id="-140-"><strong>Усі 140+ імен кольорів</strong></h2><p></p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/news/content/images/2021/08/CodePen-colored-squares-2.png" class="kg-image" alt="CodePen-colored-squares-2" width="600" height="400" loading="lazy"></figure><h2 id="--6"><strong>Варіації правопису</strong></h2><p>Імена кольорів зі словом «Gray» можна писати як «Grey», як показано нижче.</p><figure class="kg-card kg-image-card kg-width-wide"><img src="https://www.freecodecamp.org/news/content/images/2021/08/image-22.png" class="kg-image" alt="image-22" width="600" height="400" loading="lazy"></figure> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Стилізація кнопок із CSS: наведення, колір та фон ]]>
                </title>
                <description>
                    <![CDATA[ У цій публікації ми розглянемо стилізацію кнопок за допомогою CSS. Моя головна задача — роз’яснити використання правил CSS. Ми не будемо розглядати ідеї для стилізування. Це буде короткий огляд того, як працюють стилі, які властивості часто використовуються та як їх можна поєднувати. Спершу ви дізнаєтесь, як створити кнопку в HTML. ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/stylizatsiya-knopok-iz-css-navedennya-kolir-ta-fon/</link>
                <guid isPermaLink="false">636b98e7913c3606d1600d15</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Thu, 10 Nov 2022 17:38:15 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2022/11/moises-de-paula-HPZZHJ-LuDI-unsplash.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/css-button-style-hover-color-and-background/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Button Style – Hover, Color, and Background</a>
      </p><p>У цій публікації ми розглянемо стилізацію кнопок за допомогою CSS.</p><p>Моя головна задача — роз’яснити використання правил CSS. Ми не будемо розглядати ідеї для стилізування.</p><p>Це буде короткий огляд того, як працюють стилі, які властивості часто використовуються та як їх можна поєднувати.</p><p>Спершу ви дізнаєтесь, як створити кнопку в HTML. Потім ви вивчите, як позбутись стилізації кнопок за замовчуванням. Вкінці ви коротко дізнаєтесь, як стилізувати кнопки трьох різних станів.</p><h1 id="-"><strong>Зміст</strong></h1><ol><li><a href="#створення-кнопки-в-html">Створення кнопки в HTML</a></li><li><a href="#зміна-стилізації-кнопок-за-замовчуванням">Зміна стилізації кнопок за замовчуванням</a></li><li><a href="#зміна-кольору-фону">Зміна кольору фону</a></li><li><a href="#зміна-кольору-тексту">Зміна кольору тексту</a></li><li><a href="#зміна-краю">Зміна краю</a></li><li><a href="#зміна-розміру">Зміна розміру</a></li><li><a href="#стани-кнопки">Стани кнопки</a></li><li><a href="#стилізація-стану-hover">Стилізація стану hover</a></li><li><a href="#стилізація-стану-focus">Стилізація стану focus</a></li><li><a href="#стилізація-стану-active">Стилізація стану active</a></li><li><a href="#висновок">Висновок</a></li></ol><p>Розпочнемо!</p><!--kg-card-begin: html--><h2 id="створення-кнопки-в-html">Як створити кнопку в HTML</h2><!--kg-card-end: html--><p>Використайте елемент <code>&lt;button&gt;</code>, щоб створити кнопку.</p><p>Це доступніший варіант, порівняно із використанням загального контейнера, створеного за допомогою елемента <code>&lt;div&gt;</code>.</p><p>У поданому нижче файлі <code>index.html</code> я створила базову структуру для вебсайту та додала одну кнопку:</p><pre><code class="language-html">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;link rel="stylesheet" href="style.css"&gt;
    &lt;title&gt;CSS Button Style&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;button type="button" class="button"&gt;Click me!&lt;/button&gt;
&lt;/body&gt;
&lt;/html&gt;
</code></pre><p>Розберемо рядок <code>&lt;button type="button" class="button"&gt;Click me!&lt;/button&gt;</code>:</p><ul><li>Спершу ви додаєте елемент-кнопку, що складається із початкового <code>&lt;button&gt;</code> та кінцевого <code>&lt;/button&gt;</code> тегів.</li><li>Атрибут <code>type="button"</code> у початковому тегу <code>&lt;button&gt;</code> створює активну кнопку. Оскільки ця кнопка не створена для відправки форми, її корисно додати, щоб зробити код чистішим та вберегти від небажаних дій.</li><li>Атрибут <code>class="button"</code> буде використано, щоб стилізувати кнопку в окремому файлі CSS. Значення <code>button</code> може бути будь-яким іншим. Наприклад, можна було використати <code>class="btn"</code>.</li><li>Текст <code>Click me!</code> — це видимий текст всередині кнопки.</li></ul><p>Усі застосовані до кнопки стилі будуть всередині файлу <code>style.css</code>.</p><p>Перед стилізацією вмісту HTML потрібно сполучити два файли. Це виконується за допомогою тегу <code>&lt;link rel="stylesheet" href="style.css"&gt;</code>, який було використано в <code>index.html</code>.</p><p>У файлі <code>style.css</code> я лише додала стилізацію, яка відцентровує кнопку за центром вікна.</p><p>Зверніть увагу, що <code>class="button"</code> використовується із селектором <code>.button</code>. Це один зі способів застосувати стилізацію напряму до кнопки.</p><pre><code class="language-css">* {
    box-sizing: border-box;
} 

body {
    display:flex;
    justify-content: center;
    align-items: center;
    margin:50px auto;
}

.button {
    position: absolute;
    top:50%
}
</code></pre><p>Код зверху призведе до наступного результату:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.29.02-PM.png" class="kg-image" alt="Screenshot-2022-02-06-at-10.29.02-PM" width="600" height="400" loading="lazy"></figure><p>Стилізація кнопки за замовчуванням залежить від вашого браузера.</p><p>Це приклад стилізації кнопок за замовчуванням у браузері Google Chrome.</p><!--kg-card-begin: html--><h2 id="зміна-стилізації-кнопок-за-замовчуванням">▫️ Як змінити стилізацію кнопок за замовчуванням</h2><!--kg-card-end: html--><!--kg-card-begin: html--><h2 id="зміна-кольору-фону">Як змінити колір фону кнопок</h2><!--kg-card-end: html--><p>Використовуємо властивість <code>background-color</code> та надаємо їй бажане значення, щоб змінити колір фону кнопки.</p><p>Використайте <code>background-color:#0a0a23;</code> у селекторі <code>.button</code>, щоб змінити колір фону кнопки.</p><pre><code class="language-css">.button {
    position: absolute;
    top:50%;
    background-color:#0a0a23;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.28.30-PM.png" class="kg-image" alt="Screenshot-2022-02-06-at-10.28.30-PM" width="600" height="400" loading="lazy"></figure><!--kg-card-begin: html--><h2 id="зміна-кольору-тексту">Як змінити колір тексту кнопок</h2><!--kg-card-end: html--><p>Колір тексту за замовчуванням — чорний, тому якщо ви зробите темний фон, то зникне текст.</p><p>Важливо, щоб був контраст між кольорами фону та тексту. Це допоможе зробити текст читабельнішим та легшим для очей.</p><p>Використовуємо властивість <code>color</code>, щоб змінити колір тексту:</p><pre><code class="language-css">.button {
    position: absolute;
    top:50%;
    background-color:#0a0a23;
    color: #fff;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.28.03-PM.png" class="kg-image" alt="Screenshot-2022-02-06-at-10.28.03-PM" width="600" height="400" loading="lazy"></figure><!--kg-card-begin: html--><h2 id="зміна-краю">Як змінити край кнопок</h2><!--kg-card-end: html--><p>Бачите сірий колір навколо кнопки? Це колір краю за замовчуванням.</p><p>Позбутися цього можна за допомогою властивості <code>border-color</code>. Потрібно встановити таке ж саме значення, що й значення <code>background-color</code>. Завдяки цьому край має такий ж самий колір, що й фон кнопки.</p><p>Також можна повністю видалити край, використовуючи <code>border:none;</code>.</p><pre><code class="language-css">.button {
  position: absolute;
  top:50%;
  background-color:#0a0a23;
  color: #fff;
  border:none;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.27.33-PM.png" class="kg-image" alt="Screenshot-2022-02-06-at-10.27.33-PM" width="600" height="400" loading="lazy"></figure><p>Край кнопки можна округлити, використовуючи властивість <code>border-radius</code>:</p><pre><code class="language-css">.button {
    position: absolute;
    top:50%;
    background-color:#0a0a23;
    color: #fff;
    border:none;
    border-radius:10px;
  }
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.26.57-PM.png" class="kg-image" alt="Screenshot-2022-02-06-at-10.26.57-PM" width="600" height="400" loading="lazy"></figure><p>За допомогою властивості <code>box-shadow</code> можна додати легку тінь навколо кнопки:</p><pre><code class="language-css"> position: absolute;
    top:50%;
    background-color:#0a0a23;
    color: #fff;
    border:none;
    border-radius:10px;
    box-shadow: 0px 0px 2px 2px rgb(0,0,0);
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.25.55-PM.png" class="kg-image" alt="Screenshot-2022-02-06-at-10.25.55-PM" width="600" height="400" loading="lazy"></figure><!--kg-card-begin: html--><h2 id="зміна-розміру">Як змінити розмір кнопок</h2><!--kg-card-end: html--><p>Всередині кнопки можна створити більше місця, якщо збільшити <code>padding</code>.</p><p>Знизу я додала значення 15px до верхнього, нижнього, правого та лівого відступів.</p><p>Також я встановила мінімальні висоту та ширину, <code>min-height</code> та <code>min-width</code> відповідно. Кнопки повинні бути достатньо великими для різних пристроїв.</p><pre><code class="language-css">.button {
    position: absolute;
    top:50%;
    background-color:#0a0a23;
    color: #fff;
    border:none; 
    border-radius:10px; 
    padding:15px;
    min-height:30px; 
    min-width: 120px;
  }
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.42.58-PM.png" class="kg-image" alt="Screenshot-2022-02-06-at-10.42.58-PM" width="600" height="400" loading="lazy"></figure><!--kg-card-begin: html--><h2 id="стани-кнопки">▫️ Як стилізувати стани кнопок</h2><!--kg-card-end: html--><p>Кнопки мають три різні стани:</p><ul><li><code>:hover</code></li><li><code>:focus</code></li><li><code>:active</code></li></ul><p>Найкраще, коли вони стилізовані по-різному.</p><p>У наступних розділах я коротко опишу кожен стан. Ви також побачите декілька способів стилізації кнопки для кожного стану.</p><!--kg-card-begin: html--><h2 id="стилізація-стану-hover">Як стилізувати стан hover</h2><!--kg-card-end: html--><p>Стан <code>:hover</code> настає, коли користувач наводить мишкою на кнопку, але не натискає на неї.</p><p>Щоб кнопка змінювалась, коли на неї наводять мишкою, використовуйте псевдоклас <code>:hover</code>.</p><p>Найчастіше за допомогою <code>:hover</code> змінюють фон кнопки.</p><p>Щоб ця зміна не була різкою, використайте властивість <code>transition</code> разом із <code>:hover</code>.</p><p>Властивість <code>transition</code> допоможе зробити плавніший <em>перехід</em> до стану <code>:hover</code>.</p><p>Зміна фону відбудеться дещо швидше, в порівнянні без властивості <code>transition</code>. Крім того, це не буде різати око та дратувати користувача.</p><pre><code class="language-css">.button:hover {
      background-color:#002ead;
      transition: 0.7s;
  }
</code></pre><p>У прикладі вище я використала значення, завдяки якому кнопка буде світлішою, якщо на неї навести мишкою.</p><p>За допомогою властивості <code>transition</code> я створила й час затримки <code>0.7s</code>, за який відбувається перехід до стану <code>:hover</code>. Це призвело до повільнішого переходу від початкового фону <code>#0a0a23</code> до <code>#002ead</code>.</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/hover-2.gif" class="kg-image" alt="hover" width="600" height="400" loading="lazy"></figure><p>Зауважте, що псевдоклас <code>:hover</code> не працює на мобільних пристроях та мобільних застосунках. Використовуйте цей ефект лише для несенсорних пристроїв.</p><!--kg-card-begin: html--><h2 id="стилізація-стану-focus">Як стилізувати стан focus</h2><!--kg-card-end: html--><p>Стан <code>:focus</code> впливає на користувачів клавіатури: він активується, якщо навести на кнопку за допомогою клавіші <code>Tab</code> (<code>⇥</code>).</p><p>Після натиснення клавіші <code>Tab</code> ви побачите наступне:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/focus-5.gif" class="kg-image" alt="focus-5" width="600" height="400" loading="lazy"></figure><p>Бачите синій контур навколо кнопки під час фокусу?</p><p>Для псевдокласу <code>:focus</code> браузери мають стилізацію за замовчуванням (з огляду на навігацію за допомогою клавіатури). Тому краще не видаляти <code>outline</code> повністю.</p><p>Однак ви можете створити власну стилізацію, щоб кнопку було легко найти.</p><p>Спочатку встановіть контур на <code>transparent</code>.</p><p>Після цього ви можете залишити <code>outline-style</code> на <code>solid</code>. Вкінці, використовуючи властивість <code>box-shadow</code>, ви можете додати бажаний колір, коли елемент сфокусований:</p><pre><code class="language-css"> .button:focus {
    outline-color: transparent;
    outline-style:solid;
    box-shadow: 0 0 0 4px #5a01a7;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/focusend.gif" class="kg-image" alt="focusend" width="600" height="400" loading="lazy"></figure><p>Ці стилі теж можна об’єднати із властивістю <code>transition</code>, залежно від бажаного результату:</p><pre><code class="language-css">  .button:focus {
    outline-color: transparent;
    outline-style:solid;
    box-shadow: 0 0 0 4px #5a01a7;
    transition: 0.7s;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/focusend1.gif" class="kg-image" alt="focusend1" width="600" height="400" loading="lazy"></figure><!--kg-card-begin: html--><h2 id="стилізація-стану-active">Як стилізувати стан active</h2><!--kg-card-end: html--><p>Стан <code>:active</code> стає <em>активним</em>, якщо натиснути<em> </em>на кнопку.</p><p>Гляньте, що відбувається із кнопкою, якщо натиснути на неї після того, як я застосувала та зберегла стилі для станів <code>:hover</code> та <code>:focus</code>:</p><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/active-1.gif" class="kg-image" alt="active-1" width="600" height="400" loading="lazy"></figure><p>Стилі стану <code>:hover</code> застосовані тоді, коли я навожу мишкою.</p><p>Стилі стану <code>:focus</code> теж застосовані, тому що коли кнопку натискають, вона переходить в <code>:focus</code> разом із <code>:active</code>.</p><p>Однак майте на увазі, що це не одне й те саме.</p><p>Стан <code>:focus</code> — це коли елемент сфокусований, а при стані <code>:active</code> користувач натискає на елемент.</p><p>Щоб змінити стиль, коли користувач натискає на кнопку, застосуйте стилі до псевдоселектора <code>:active</code>.</p><p>У цьому прикладі я змінила колір фону кнопки, коли користувач натискає на неї:</p><pre><code class="language-css">.button:active {
    background-color: #ffbf00;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2022/02/activefinal.gif" class="kg-image" alt="activefinal" width="600" height="400" loading="lazy"></figure><!--kg-card-begin: html--><h2 id="висновок">Висновок</h2><!--kg-card-end: html--><p>Що ж! Тепер ви знаєте основи стилізації кнопки за допомогою CSS.</p><p>Ми переглянули, як змінити колір фону та тексту кнопок, а також стилізацію при різних станах.</p><p>Щоб дізнатись більше про вебдизайн, перегляньте <a href="https://www.freecodecamp.org/ukrainian/learn/2022/responsive-web-design/">сертифікацію «Адаптивний вебдизайн»</a>. Завдяки інтерактивним урокам ви вивчите HTML та CSS, побудуючи 15 практичних та 5 сертифікаційних проєктів.</p><p>Дякую, що прочитали. Щасливого програмування!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Як відцентрувати зображення вертикально та горизонтально у CSS ]]>
                </title>
                <description>
                    <![CDATA[ Багатьом розробникам важко працювати із зображеннями. Надзвичайно важко з адаптивністю та вирівнюванням, особливо посередині сторінки. У цій публікації я покажу декілька поширених способів вертикального та горизонтального центрування зображення за допомогою різних властивостей CSS. Горизонтальне центрування зображення Розпочнемо з горизонтального центрування зображення за допомогою трьох різних властивостей CSS. Text-Align Перший спосіб: ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/yak-vidtsentruvaty-zobrazhennya-vertykalno-ta-horyzontalno-v-css/</link>
                <guid isPermaLink="false">631260fa3904ca06d72e0007</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Mon, 19 Sep 2022 17:51:02 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2022/09/FF5FA1F0-B5B5-4564-8AE2-B2F6B29E7B31.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/how-to-center-an-image-in-css/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Center an Image Vertically and Horizontally with CSS</a>
      </p><p>Багатьом розробникам важко працювати із зображеннями. Надзвичайно важко з адаптивністю та вирівнюванням, особливо посередині сторінки.</p><p>У цій публікації я покажу декілька поширених способів вертикального та горизонтального центрування зображення за допомогою різних властивостей CSS.</p><h2 id="-"><strong>Горизонтальне центрування зображення</strong></h2><p>Розпочнемо з горизонтального центрування зображення за допомогою трьох різних властивостей CSS.</p><h3 id="text-align"><strong>Text-Align</strong></h3><p>Перший спосіб: використати властивість <code>text-align</code>. Однак цей метод працює лише тоді, коли зображення знаходиться всередині контейнера на рівні блоку, наприклад <code>&lt;div&gt;</code>:</p><pre><code class="language-html">&lt;style&gt;
  div {
    text-align: center;
  }
&lt;/style&gt;

&lt;div&gt;
  &lt;img src="your-image.jpg"&gt;
&lt;/div&gt;</code></pre><h3 id="margin-auto"><strong>Margin: Auto</strong></h3><p>Другий спосіб: використати властивість <code>margin: auto</code> (для лівого та правого полів).</p><p>Однак просто використати <code>margin: auto</code> не вийде. Окрім <code>margin: auto</code> потрібно використати ще дві додаткові властивості.</p><p>Властивість margin-auto не впливає на рядкові елементи. Оскільки тег <code>&lt;img&gt;</code> є рядковим елементом, спершу потрібно конвертувати його в елемент на рівні блоку:</p><pre><code class="language-css">img {
  margin: auto;
  display: block;
}</code></pre><p>По-друге, нам потрібно визначити ширину. Таким чином ліве та праве поля можуть зайняти решту порожнього простору та автоматично вирівнятися (якщо ми не задамо ширину 100%):</p><pre><code class="language-css">img {
  width: 60%;
  margin: auto;
  display: block;
}</code></pre><h3 id="display-flex"><strong>Display: Flex</strong></h3><p>Третій спосіб: використати <code>display: flex</code>. Так само як ми використали властивість <code>text-align</code> для контейнера, ми використаємо <code>display: flex</code>.</p><p>Однак просто використати <code>display: flex</code> не вийде. Контейнер повинен мати додаткову властивість <code>justify-content</code>:</p><pre><code class="language-css">div {
  display: flex;
  justify-content: center;
}

img {
  width: 60%;
}</code></pre><p>Властивість <code>justify-content</code> працює разом із <code>display: flex</code>, що ми можемо використати для горизонтального центрування.</p><p>Зрештою, ширина зображення повинна бути меншою за ширину контейнера. В іншому разі, воно займе 100% простору та ми не зможемо його відцентрувати.</p><p><strong>Важливо<strong>:</strong></strong> властивість <code>display: flex</code> не підтримується на старих версіях браузерів. </p><h2 id="--1"><strong>Вертикальне центрування зображення</strong></h2><h3 id="display-flex-1"><strong>Display: Flex</strong></h3><p><code>display: flex</code> знову буде в нагоді.</p><p>Розглянемо випадок, де контейнер має висоту 800px, а висота зображення — лише 500px:</p><pre><code class="language-css">div {
  display: flex;
  justify-content: center;
  height: 800px;
}

img {
  width: 60%;
  height: 500px;
}</code></pre><p>В такому випадку все вирішує додавання до контейнера одної лінії коду — <code>align-items: center</code>:</p><pre><code class="language-css">div {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 800px;
}</code></pre><p>Властивість <code>align-items</code> може розставити елементи вертикально, якщо використана разом із <code>display: flex</code>.</p><h3 id="-absolute-transform"><strong>Властивості Absolute та Transform</strong></h3><p>Інший метод для вертикального розташування — використати властивості <code>position</code> та <code>transform</code> разом. Це трішки важко, тому зробимо все покроково.</p><h3 id="-1-"><strong>Крок 1: абсолютна позиція</strong></h3><p>Спочатку ми змінюємо позиціювання зображення з <code>static</code> на <code>absolute</code>:</p><pre><code class="language-css">div {
  height: 800px;
  position: relative;
  background: red;
}

img {
  width: 80%;
  position: absolute;
}</code></pre><p>Крім того, воно повинне бути всередині відносно розташованого контейнера, тому ми додаємо <code>position: relative</code> до div контейнера.</p><h3 id="-2-"><strong>Крок 2: верхня та ліва властивості</strong></h3><p>Потім ми визначаємо верхню і ліву властивості зображення та встановлюємо їх на 50%. Це перемістить початкову точку зображення (верхній лівий кут) до центру контейнера:</p><pre><code class="language-css">img {
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
}</code></pre><h3 id="-3-"><strong>Крок 3: трансформація</strong></h3><p>Другий крок частково перемістив зображення за межі контейнера. Потрібно повернути його всередину.</p><p>Потрібно визначити властивість <code>transform</code> та додати -50% до осей X і Y:</p><pre><code class="language-css">img {
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}</code></pre><p>Існують інші способи горизонтального та вертикального центрування, але я описав найпоширеніші. Надіюсь, ця публікація допомогла вам зрозуміти, як вирівняти зображення посередині сторінки.</p><p>Дякую, що прочитали!</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ Центрування в CSS: як вирівняти div, текст та багато іншого ]]>
                </title>
                <description>
                    <![CDATA[ Центрування є одним з найважчих аспектів CSS. Зазвичай самі методи не важкі для розуміння. Натомість це більше пов’язано з тим, що існує багато способів центрування. Метод, який ви можете використати, залежить від елемента HTML, який ви хочете відцентрувати, або від того, центруєте ви його горизонтально чи вертикально. У цій публікації ]]>
                </description>
                <link>https://www.freecodecamp.org/ukrainian/news/tsentruvannya-v-css-yak-vyrivnyaty-div-tekst-ta-bahato-inshoho/</link>
                <guid isPermaLink="false">62f65c0c1176440771bf41b2</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Anastasiia Buievych ]]>
                </dc:creator>
                <pubDate>Mon, 19 Sep 2022 17:46:07 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/ukrainian/news/content/images/2022/08/8719A0BE-33D1-4867-B004-1C6AB0451212.jpeg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Оригінальна публікація:</strong> <a href="https://www.freecodecamp.org/news/how-to-center-anything-with-css-align-a-div-text-and-more/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">How to Center Anything with CSS - Align a Div, Text, and More</a>
      </p><p>Центрування є одним з найважчих аспектів CSS.</p><p>Зазвичай самі методи не важкі для розуміння. Натомість це більше пов’язано з тим, що існує багато способів центрування.</p><p>Метод, який ви можете використати, залежить від елемента HTML, який ви хочете відцентрувати, або від того, центруєте ви його горизонтально чи вертикально.</p><p>У цій публікації ми розглянемо, як відцентрувати різні елементи горизонтально, вертикально та одночасно вертикально і горизонтально.</p><h2 id="-"><strong>Як відцентрувати горизонтально</strong></h2><p>Відцентрувати елементи горизонтально легше, ніж відцентрувати їх вертикально. У публікації подано декілька поширених елементів, які вам, можливо, потрібно відцентрувати горизонтально.</p><h3 id="-text-align-center"><strong>Як відцентрувати текст за допомогою властивості Text-Align Center</strong></h3><p>Щоб відцентрувати текст або посилання горизонтально, використайте властивість <code>text-align</code> зі значенням <code>center</code>:</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;p&gt;Hello, (centered) World!&lt;/p&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
}

p {
  /* Відцентрувати горизонтально*/
  text-align: center;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/image-15.png" class="kg-image" alt="image-15" width="600" height="400" loading="lazy"></figure><h3 id="-div-margin-auto"><strong>Як відцентрувати div за допомогою Margin Auto</strong></h3><p>Використайте скорочену властивість <code>margin</code> зі значенням <code>0 auto</code>, щоб горизонтально відцентрувати елементи рівня блоку (наприклад <code>div</code>):</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;div class="child"&gt;&lt;/div&gt;
&lt;/div&gt;</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
  /* Відцентрувати горизонтально*/
  margin: 0 auto;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-horizontally.jpg" class="kg-image" alt="box-centered-horizontally" width="600" height="400" loading="lazy"></figure><h3 id="-div-flexbox"><strong>Як відцентрувати div горизонтально за допомогою Flexbox</strong></h3><p>Flexbox — найсучасніший спосіб центрування елементів на сторінці, який до того ж полегшує дизайн адаптивних макетів. Однак його не повністю підтримують застарілі браузери, як-от Internet Explorer.</p><p>Щоб відцентрувати елемент горизонтально за допомогою Flexbox, застосуйте <code>display: flex</code> та <code>justify-content: center</code> до батьківського елемента:</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;div class="child"&gt;&lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
  /* Відцентрувати дочірній елемент горизонтально*/
  display: flex;
  justify-content: center;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-horizontally-1.jpg" class="kg-image" alt="box-centered-horizontally-1" width="600" height="400" loading="lazy"></figure><h2 id="--1"><strong>Як відцентрувати вертикально</strong></h2><p>Вертикальне центрування елементів без сучасних способів, як-от Flexbox, може бути морокою. Спочатку пробіжимося по старих методах вертикального центрування, а потім я покажу, як це зробити за допомогою Flexbox.</p><h3 id="-div-"><strong>Як відцентрувати div вертикально за допомогою абсолютного позиціювання та від’ємних полів</strong></h3><p>Довгий час це був популярний спосіб вертикального центрування. Для цього методу потрібно знати висоту елемента, який ви хочете відцентрувати.</p><p>Спочатку встановіть властивість <code>position</code> батьківського елемента на <code>relative</code>.</p><p>Потім встановіть властивість <code>position</code> дочірнього елемента на <code>absolute</code> та <code>top</code> на <code>50%</code>:</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;div class="child"&gt;&lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
  /* Setup */
  position: relative;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
  /* Відцентрувати вертикально */
  position: absolute;
  top: 50%;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-vertically-1.jpg" class="kg-image" alt="box-centered-vertically-1" width="600" height="400" loading="lazy"></figure><p>Але насправді це вертикально відцентрує лише верхній край дочірнього елемента.</p><p>Щоб дійсно відцентрувати дочірній елемент, встановіть властивість <code>margin-top</code> на <code>-(половину висоти дочірнього елемента)</code>:</p><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
  /* Setup */
  position: relative;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
  /* Відцентрувати вертикально */
  position: absolute;
  top: 50%;
  margin-top: -25px; /* Половина висоти цього елемента */
}</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-vertically-final.jpg" class="kg-image" alt="box-centered-vertically-final" width="600" height="400" loading="lazy"></figure><h3 id="-div-transform-translate"><strong>Як відцентрувати div вертикально за допомогою Transform та Translate</strong></h3><p>Якщо ви не знаєте висоту елемента, який хочете відцентрувати (або навіть якщо знаєте), цей метод — те, що треба.</p><p>Цей метод схожий до описаного вище (з від’ємними полями). Встановіть властивість <code>position</code> батьківського елемента на <code>relative</code>.</p><p>Для дочірнього елемента встановіть властивість <code>position</code> на <code>absolute</code> та встановіть <code>top</code> на <code>50%</code>. Тепер замість від’ємних полів використайте <code>transform: translate(0, -50%)</code>:</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;div class="child"&gt;&lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
  /* Setup */
  position: relative;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
  /* Відцентрувати вертикально */
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-vertically-final-1.jpg" class="kg-image" alt="box-centered-vertically-final-1" width="600" height="400" loading="lazy"></figure><p>Зауважте, що <code>translate(0, -50%)</code> є скороченою для <code>translateX(0)</code> та <code>translateY(-50%)</code>. Щоб відцентрувати дочірній елемент вертикально, ви могли також написати <code>transform: translateY(-50%)</code>.</p><h3 id="-div-flexbox-1"><strong>Як відцентрувати div вертикально за допомогою Flexbox</strong></h3><p>Завдяки Flexbox легко відцентрувати елементи як горизонтально, так і вертикально.</p><p>Щоб відцентрувати елемент вертикально, застосуйте <code>display: flex</code> та <code>align-items: center</code> до батьківського елемента:</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;div class="child"&gt;&lt;/div&gt;
&lt;/div&gt;</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
  /* Відцентрувати вертикально */
  display: flex;
  align-items: center;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-vertically-final-2.jpg" class="kg-image" alt="box-centered-vertically-final-2" width="600" height="400" loading="lazy"></figure><h2 id="--2"><strong>Як відцентрувати вертикально та горизонтально одночасно</strong></h2><h3 id="-div--1"><strong>Як відцентрувати div вертикально та горизонтально за допомогою абсолютного позиціювання та від’ємних полів</strong></h3><p>Цей метод дуже схожий до того, як відцентрувати елемент вертикально. Як і того разу, ви повинні знати ширину та висоту елемента, який хочете відцентрувати.</p><p>Встановіть властивість <code>position</code> батьківського елемента на <code>relative</code>.</p><p>Потім встановіть властивість <code>position</code> дочірнього елемента на <code>absolute</code>, <code>top</code> на <code>50%</code> та <code>left</code> на <code>50%</code>. Це просто відцентрує верхній лівий кут дочірнього елемента вертикально та горизонтально.</p><p>Щоб дійсно відцентрувати дочірній елемент, застосуйте від’ємне верхнє поле (встановлене на половину висоти дочірнього елемента) та від’ємне ліве поле (встановлене на половину ширини дочірнього елемента):</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;div class="child"&gt;&lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
  /* Setup */
  position: relative;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
  /* Відцентрувати вертикально та горизонтально */
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px; /* Застосуйте від'ємне верхнє та ліве поле, щоб дійсно відцентрувати елемент */
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-vertically-and-horizontally.jpg" class="kg-image" alt="box-centered-vertically-and-horizontally" width="600" height="400" loading="lazy"></figure><h3 id="-div-transform-translate-1"><strong>Як відцентрувати div вертикально та горизонтально за допомогою Transform та Translate</strong></h3><p>Використовуйте цей метод, якщо не знаєте точних розмірів елемента або не можете використати Flexbox.</p><p>Спочатку встановіть властивість <code>position</code> батьківського елемента на <code>relative</code>.</p><p>Потім встановіть властивість <code>position</code> дочірнього елемента на <code>absolute</code>, <code>top</code> на <code>50%</code> та <code>left</code> на <code>50%</code>.</p><p>Зрештою використайте <code>transform: translate(-50%, -50%)</code>, щоб дійсно відцентрувати дочірній елемент:</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;div class="child"&gt;&lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
  /* Setup */
  position: relative;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
  /* Відцентруйте вертикально та горизонтально */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-vertically-and-horizontally-1.jpg" class="kg-image" alt="box-centered-vertically-and-horizontally-1" width="600" height="400" loading="lazy"></figure><h3 id="-div-flexbox-2"><strong>Як відцентрувати div вертикально та горизонтально за допомогою Flexbox</strong></h3><p>Flexbox — це найлегший спосіб відцентрувати елемент як вертикально, так і горизонтально.</p><p>Насправді це лише комбінація двох попередніх методів Flexbox. Щоб відцентрувати дочірні елементи горизонтально та вертикально, застосуйте <code>justify-content: center</code> та <code>align-items: center</code> до батьківського елемента:</p><pre><code class="language-html">&lt;div class="container"&gt;
  &lt;div class="child"&gt;&lt;/div&gt;
&lt;/div&gt;
</code></pre><pre><code class="language-css">.container {
  font-family: arial;
  font-size: 24px;
  margin: 25px;
  width: 350px;
  height: 200px;
  outline: dashed 1px black;
  /* Відцентруйте вертикально та горизонтально */
  display: flex;
  justify-content: center;
  align-items: center;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
}
</code></pre><figure class="kg-card kg-image-card"><img src="https://www.freecodecamp.org/news/content/images/2020/11/box-centered-vertically-and-horizontally-2.jpg" class="kg-image" alt="box-centered-vertically-and-horizontally-2" width="600" height="400" loading="lazy"></figure><p>Це все, що вам потрібно знати про відцентрування. Тепер ви можете сміло відцентрувати що завгодно.</p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
