<?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/korean/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ CSS - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/korean/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Sat, 23 May 2026 13:52:55 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/korean/news/tag/css/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ CSS 폰트 색상 – HTML에서 텍스트 스타일링하는 방법 ]]>
                </title>
                <description>
                    <![CDATA[ 개발 중인 웹 사이트의 텍스트 색상을 정하는 건 처음에는 혼란스러울 수 있습니다. 그러나 이 글을 보시면 쉽게 배우실 수 있을 거예요. HTML에서 텍스트 색상 지정하는 방법 CSS에서 background-color 속성은 모든 것의 배경색을 설정하기에 매우 간단합니다. 페이지에서 어떤 것의 전경색을 설정하고 싶다면 어떻게 할까요? 특히 일반적인 조건에서는 배경색을 설정하고 싶지 않은 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/css-font-color-how-to-style-text-in-html/</link>
                <guid isPermaLink="false">652fc556dbcb8a03ea44a14c</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Jeeann K. ]]>
                </dc:creator>
                <pubDate>Wed, 18 Oct 2023 18:18:13 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2023/10/Cssfontcolor.png" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>기사 원문:</strong> <a href="https://www.freecodecamp.org/news/css-font-color-how-to-style-text-in-html/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">CSS Font Color – How to Style Text in HTML</a>
      </p><!--kg-card-begin: markdown--><h3 id="">개발 중인 웹 사이트의 텍스트 색상을 정하는 건 처음에는 혼란스러울 수 있습니다. 그러나 이 글을 보시면 쉽게 배우실 수 있을 거예요.</h3>
<h2 id="html">HTML에서 텍스트 색상 지정하는 방법</h2>
<p>CSS에서 <code>background-color</code> 속성은 모든 것의 배경색을 설정하기에 매우 간단합니다.</p>
<p>페이지에서 어떤 것의 전경색을 설정하고 싶다면 어떻게 할까요? 특히 일반적인 조건에서는 배경색을 설정하고 싶지 않은 텍스트입니다.</p>
<p>CSS에슨 <code>foreground-color</code> 속성이 없기 때문에 이것을 가능하게 하는 게 <code>color</code> 속성입니다.</p>
<p>이 글에서는 색상 속성을 사용하여 텍스트의 색상을 설정하는 방법을 보여드리겠습니다. 또한 다양한 값을 사용하는 경우에 대해서도 알아보겠습니다.</p>
<p>색상 속성은 색상의 이름, hexadecimal, RGB, HSL 4가지 방식으로 값을 가져옵니다. 이제 각각을 살펴보겠습니다.</p>
<h2 id="">색상의 이름</h2>
<p>이름에서 알 수 있듯이 색상 속성을 가져온 후 원하는 색상의 이름을 지정하여 값을 적용합니다. 이는 red, green, blue, orange, crimson, cyan 등이 될 수 있습니다. 브라우저에서 인식하는 색상의 이름은 약 147개입니다.</p>
<p>기본 문법은 이렇게 생겼습니다.</p>
<pre><code class="language-css">element {
  color: colorName;
}
</code></pre>
<pre><code class="language-html">&lt;p&gt;freeCodeCamp&lt;/p&gt;
</code></pre>
<pre><code class="language-css">p {
  color: crimson;
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/09/named-color.png" alt="스크린 중앙에 crimson 색상으로 freeCodeCamp가 쓰여있는 화면" width="600" height="400" loading="lazy"></p>
<h2 id="hexadecimalhex">Hexadecimal 컬러 (또는 Hex 컬러)</h2>
<p>Hex 값은 총 6자로 색을 표시하는 데 사용됩니다. 숫자 기호는 파운드/숫자 기호(#)로 시작하여 0부터 9까지의 숫자, 그리고 마지막은 A부터 F까지의 문자입니다.</p>
<p>처음 두 개의 값은 빨간색, 다음 두 개는 초록색, 마지막 두 개는 파란색을 나타냅니다. Hex 값의 경우 사용할 수 있는 색의 음영에 제한이 없습니다.</p>
<pre><code class="language-html">&lt;p&gt;freeCodeCamp&lt;/p&gt;
</code></pre>
<pre><code class="language-css">p {
  color: #dc143c;
}
</code></pre>
<h2 id="rgb">RGB 컬러</h2>
<p>RGB는 Red(빨강), Green(초록), Blue(파랑)을 의미합니다. RGB 컬러를 사용하면 빨간색, 초록색, 파랑의 정도를 지정할 수 있습니다. 세 가지 모두 0에서 255 사이의 숫자로 표현됩니다.</p>
<p>RGB에는 <code>rgba</code>라는 타입이 있는데 여기에 추가된 'a'는 알파를 의미하며, 색의 불투명도를 지정할 수 있고 0.0에서 1.0까지 선택할 수 있습니다 – 0.0은 불투명도 0%, 0.5는 불투명도 50%, 1.0은 불투명도 100%를 의미합니다.</p>
<p>기본 문법은 <code>rgba(amountOfRed, amountOfGreen, amountOfBlue, alpha)</code>입니다.</p>
<p>알파 값을 원하지 않으면 <code>rgba(amountOfRed, amountOfGreen, amountOfBlue)</code>만 쓰셔도 됩니다.</p>
<p>다음은 일반 RGB 값의 문법입니다.</p>
<pre><code class="language-html">&lt;p&gt;freeCodeCamp&lt;/p&gt;
</code></pre>
<pre><code class="language-css">p {
  color: rgb(220, 20, 60);
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/09/rgb-color.png" alt="스크린 중앙에 빨간색으로 freeCodeCamp가 쓰여있는 화면" width="600" height="400" loading="lazy"></p>
<p>이것은 50% (0.5) 불투명도로 작용하는 알파 값을 보여줍니다.</p>
<pre><code class="language-css">p {
  color: rgb(219, 20, 60, 0.5);
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/09/rgb-fifty-percent-opacity.png" alt="스크린 중앙에 연핑크색으로 freeCodeCamp가 쓰여있는 화면" width="600" height="400" loading="lazy"></p>
<h2 id="hsl">HSL 컬러</h2>
<p>HSL은 색, 채도 및 명도를 나타냅니다. 이것은 CSS에서 텍스트(그리고 색을 사용하는 다른 모든 것)에 색을 지정하는 또 다른 방법입니다.</p>
<ul>
<li>Hue는 360°로 색상 바퀴를 나타냅니다. 따라서 0°는 빨간색, 120°는 초록색, 240°는 파란색입니다.</li>
<li>채도는 백분율로 표현된 색의 선명한 정도입니다. 0%는 회색 음영이고 100%는 색상 자체입니다.</li>
<li>명도는 백분율로 표현된 색의 밝고 어두운 정도입니다. 0%는 검은색, 100%는 흰색입니다.</li>
</ul>
<p>RGB 색상과 마찬가지로 색상의 불투명도를 설정할 수 있습니다. 그래서 hsla도 있습니다.</p>
<p>전체 기본 문법은 <code>hsl(colorDegree, saturationPercentage, lightnessPercentage, alpha)</code>입니다. 알파 값을 원하지 않으면 <code>hsl(colorDegree, saturationPercentage, lightnessPercentage)</code>만 쓰셔도 됩니다.</p>
<pre><code class="language-html">&lt;p&gt;freeCodeCamp&lt;/p&gt;
</code></pre>
<pre><code class="language-css">p {
  color: hsl(348, 83%, 47%);
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/09/hsl-color.png" alt="스크린 중앙에 어두운 빨간색으로 freeCodeCamp가 쓰여있는 화면" width="600" height="400" loading="lazy"></p>
<p>이렇게 hsl 색상에 특정 불투명도를 적용할 수 있습니다.</p>
<pre><code class="language-css">p {
  color: hsla(348, 83%, 47%, 0.5);
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2021/09/hsl-fifty-percent-opacity-1.png" alt="스크린 중앙에 밝은 핑크색으로 freeCodeCamp가 쓰여있는 화면" width="600" height="400" loading="lazy"></p>
<h2 id="hexrgbhsl">반드시 색상의 이름, Hex 컬러, RGB 컬러, HSL 컬러로 색상을 지정해줘야 하나요?</h2>
<p>CSS의 멋진 점 중 하나는 한 가지 일에도 다양한 방법이 있다는 것입니다. 텍스트에 색상을 적용하는 방법만 봐도 그렇죠.</p>
<p>4가지 방법으로 색상을 적용할 수 있기 때문에 어떤 것을 사용하는 게 가장 좋은지 궁금하실 겁니다.</p>
<p>색상의 이름을 사용하면 표현할 수 있는 범위가 제한됩니다. 빨간색, 초록색, 파란색, 노란색 혹은 다른 색상의 이름으로는 색을 변형시키는데 제약이 많고 브라우저에서 인식하는 약 147개의 정의된 색에만 접근할 수 있습니다.</p>
<p>Hexadecimal 컬러는 매우 역동적입니다. 이는 창의성에 목마른 개발자들 사이에서 가장 많이 사용됩니다. Hexadecimal 컬러를 사용하면 다양한 음영을 사용할 수 있고 심지어 아무도 사용하지 않은 색상을 사용할 수 있습니다.</p>
<p>RGB 컬러는 hex 컬러만큼 동적입니다. 0에서 255까지 빨간색, 초록색, 파란색의 정도를 지정할 수 있는 것 외에도 추가 알파 값을 사용하여 색상을 얼마나 투명하게 할 것인지 설정할 수 있습니다.</p>
<p>HSL은 이 중에서 가장 역동적입니다. 컬러 휠에서 0에서 360도로 정확히 원하는 색상을 지정하고, 백분율로 채도와 명도를 설정하고, 0.0에서 1.0 사이 불투명도를 설정합니다.</p>
<p>정말 여러분과 여러분의 상황에 따라 다르고 어느 정도로 창의적이고 구체적으로 원하는지에 따라 다릅니다.</p>
<h2 id="">결론</h2>
<p>텍스트에 색상을 적용하면 방문자들이 더 매력적으로 느끼는 웹 사이트가 될 수 있습니다. 또한 올바른 색상 조합은 콘텐츠가 더 쉽게 읽히도록 도와줍니다.</p>
<p>이 글에서는 색상 속성과 함께 사용할 수 있는 4가지 다른 속성으로 텍스트에 색상을 적용하는 방법에 대해 알아봤습니다.</p>
<p>읽어주셔서 감사하고, 열심히 코딩하세요.</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ HTML 이미지 중앙 정렬 - CSS를 이용해 이미지를 중앙 정렬하는 법 ]]>
                </title>
                <description>
                    <![CDATA[ HTML과 CSS를 사용해 웹 사이트를 만들다보면 이미지를 자주 다루게 됩니다. 개발자들은 종종 CSS를 사용해 이미지를 정렬하게 되는데, 특히 중앙 정렬을 하려고 할 때 어려움을 겪곤 합니다. 특히 초심자에게는 CSS에서 무엇이든 중앙 정렬을 하는 것이 쉽지 않은 일입니다. 그렇기 때문에 div 를 중앙 정렬할 수 있다고 뽐내는 사람들도 있는 것입니다. :) ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/html-center-image-css-align-img-center-example/</link>
                <guid isPermaLink="false">64d14f84e7425543c7709475</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Sohyun Lim ]]>
                </dc:creator>
                <pubDate>Mon, 14 Aug 2023 21:45:34 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2023/08/arrows-2889040_1920-1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>기사 원문:</strong> <a href="https://www.freecodecamp.org/news/html-center-image-css-align-img-center-example/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">HTML Center Image – CSS Align Img Center Example</a>
      </p><!--kg-card-begin: markdown--><h4 id="htmlcss">HTML과 CSS를 사용해 웹 사이트를 만들다보면 이미지를 자주 다루게 됩니다.</h4>
<p>개발자들은 종종 CSS를 사용해 이미지를 정렬하게 되는데, 특히 중앙 정렬을 하려고 할 때 어려움을 겪곤 합니다. 특히 초심자에게는 CSS에서 무엇이든 중앙 정렬을 하는 것이 쉽지 않은 일입니다. 그렇기 때문에 <code>div</code> 를 중앙 정렬할 수 있다고 뽐내는 사람들도 있는 것입니다. :)</p>
<p><code>img</code> 요소는 인라인 요소이기 때문에 중앙 정렬이 조금 더 어렵습니다. 하지만 걱정하지 마세요. 이미지를 블록 레벨 요소로 변환하여 중앙 정렬을 할 수 있습니다.</p>
<p>이 글에서는 이미지를 중앙 정렬하는 4가지 방법을 살펴보겠습니다.</p>
<h2 id="">목차</h2>
<ul>
<li>
<p><a href="#text-align">text-align 속성을 사용한 이미지 중앙 정렬</a></p>
</li>
<li>
<p><a href="#flexbox">Flexbox를 사용한 이미지 중앙 정렬</a></p>
</li>
<li>
<p><a href="#grid">CSS Grid를 사용한 이미지 중앙 정렬</a></p>
</li>
<li>
<p><a href="#margin">margin 속성을 사용한 이미지 중앙 정렬</a></p>
</li>
</ul>
<h3 id="h3idtextaligntextalignh3"></h3><h3 id="text-align">text-align 속성을 사용한 이미지 중앙 정렬</h3>
<p><code>text-align</code> 속성을 사용해 이미지를 중앙 정렬할 수 있습니다.</p>
<p>한 가지 알아두어야 할 것은, 이미지를 가져오기 위한 <code>img</code>태그는 인라인 요소라는 것입니다. <code>text-align</code>속성을 통한 중앙 정렬은 블록 레벨 요소에 대해서만 가능합니다.</p>
<p>그렇다면 어떻게 <code>text-align</code> 속성을 사용해 이미지를 중앙 정렬할 수 있을까요? 이미지를 <code>div</code>와 같은 블록 레벨 요소로 감싼 후, 이미지를 감싼 <code>div</code>의 <code>text-align</code>속성에 <code>center</code>값을 설정합니다. 이렇게 하면 이미지가 중앙에 정렬됩니다.</p>
<pre><code class="language-html">&lt;div&gt;
  &lt;img src="fcc22.png" alt="freeCodeCamp" /&gt;
&lt;/div&gt;
</code></pre>
<pre><code class="language-css">div {
  text-align: center;
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/ss-1.png" alt="text-align 속성을 이용해 이미지가 중앙 정렬된 모습" width="600" height="400" loading="lazy"></p>
<h3 id="h3idflexflexboxh3"></h3><h3 id="flex">Flexbox를 사용한 이미지 중앙 정렬</h3>
<p>CSS Flexbox의 도입으로 무엇이든 중앙 정렬하기가 쉬워졌습니다.</p>
<p>Flexbox로 이미지를 중앙 정렬하려면, 중앙 정렬하고 싶은 요소를 컨테이너 요소로 감싼 후 컨테이너 요소의 <code>display</code> 속성값을 <code>flex</code>로 지정합니다. 그리고 컨테이너의 <code>justify-content</code> 속성값을 다음 코드 스니펫과 같이 <code>center</code>로 지정합니다.</p>
<pre><code class="language-css">div {
  display: flex;
  justify-content: center;
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/ss-1.png" alt="Flexbox를 이용해 이미지가 중앙 정렬된 모습" width="600" height="400" loading="lazy"></p>
<p><strong>P.S.:</strong>  <code>justify-content</code> 속성을 <code>center</code> 로 지정하면 이미지를 수평으로만 중앙 정렬하게 됩니다. 이미지를 수직으로도 중앙 정렬하기 위해서는 <code>align-items</code> 속성 또한 <code>center</code> 로 지정해야 합니다.</p>
<h3 id="h3idgridcssgridh3"></h3><h3 id="grid">CSS Grid를 사용한 이미지 중앙 정렬</h3>
<p>CSS Grid는 Flexbox와 유사한 방식으로 작동하지만, Grid는 2차원인 Flexbox와 달리 다차원이라는 추가적인 이점이 있습니다.</p>
<p>CSS Grid로 이미지를 중앙 정렬하려면, 중앙 정렬하고 싶은 이미지를 감싸는 컨테이너 <code>div</code> 요소를 생성한 후, 컨테이너 <code>div</code> 요소의 <code>display</code> 속성값을 <code>grid</code>로 설정합니다. 그리고 컨테이너 <code>div</code>요소의<code>place-items</code>속성값을 <code>center</code>로 지정하면 이미지가 중앙 정렬됩니다.</p>
<pre><code class="language-css">div {
  display: grid;
  place-items: center;
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/ss-1.png" alt="CSS Grid를 이용해 이미지가 중앙 정렬된 모습" width="600" height="400" loading="lazy"></p>
<p><strong>P.S.:</strong>  <code>place-items</code> 속성을 <code>center</code> 로 지정하면 무엇이든 수평 및 수직으로 중앙 정렬하게 됩니다.</p>
<h3 id="h3idmarginmarginh3"></h3><h3 id="margin">margin 속성을 사용한 이미지 중앙 정렬</h3>
<p>이미지의 왼쪽과 오른쪽의 <code>margin</code>을 <code>auto</code>로 설정함으로써 이미지를 중앙 정렬할 수 있습니다. 그러나 <code>text-align</code> 속성과 마찬가지로 <code>margin</code> 속성은 블록 레벨 요소에만 적용됩니다. 따라서 이미지의 <code>display</code> 속성값을 <code>block</code>으로 지정해서 이미지를 블록 레벨 요소로 변환해야 합니다.</p>
<pre><code class="language-css">img {
  display: block;
  margin: 0 auto;
}
</code></pre>
<p><code>display</code>와 <code>margin</code> 이 두 가지 속성을 변경하는 것만으로도 이미지를 중앙 정렬하는 데 충분할 수 있습니다. 그러나 경우에 따라서는 이미지의 왼쪽 오른쪽 <code>margin</code>을 <code>auto</code>로 지정했을 때 왼쪽, 오른쪽에 여백을 주기 위해 이미지의 <code>width</code>를 지정해야 할 수 있습니다.</p>
<pre><code class="language-css">img {
  display: block;
  margin: 0 auto;
  width: 40%;
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/ss-1.png" alt="margin 속성을 이용해 이미지가 중앙 정렬된 모습" width="600" height="400" loading="lazy"></p>
<p><strong>P.S.:</strong>  이미지의 <code>width</code>를 반드시 40%까지 낮출 필요는 없을 수 있습니다. 이 이미지의 경우 <code>width</code>가 60% 이상일 때 왜곡되기 때문에, 예시에서 이미지 <code>width</code>를 40%까지 낮춘 것입니다.</p>
<p>이 글이 이미지를 중앙 정렬하는 데 가장 적합한 방법을 선택하는 데 도움이 됐기를 바랍니다. 읽어주셔서 감사합니다.</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ CSS로 무엇이든 중앙 정렬하는 방법 - Div, 텍스트 등 ]]>
                </title>
                <description>
                    <![CDATA[  > 중앙 정렬은 CSS에서 가장 어려운 것 중 하나입니다. 방법 자체를 이해하는 것은 그다지 어렵지 않지만, 너무나도 다양한 방법이 존재한다는 사실이 중앙 정렬을 어렵게 합니다. 중앙 정렬 하는 방법은 HTML 요소에 따라 혹은 수평 중앙 정렬인지, 수직 중앙 정렬인지에 따라 달라질 수 있습니다. 이 튜토리얼에서는 다양한 요소를 수평, 수직 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/cssro-mueosideun-jungang-jeongryeolhaneun-bangbeob-div-tegseuteu-deung/</link>
                <guid isPermaLink="false">63ee012335fac40657f495a8</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Yeseul Lee ]]>
                </dc:creator>
                <pubDate>Wed, 11 Jan 2023 10:43:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2023/02/avocado.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><h4></h4><blockquote>중앙 정렬은 CSS에서 가장 어려운 것 중 하나입니다.</blockquote><p>방법 자체를 이해하는 것은 그다지 어렵지 않지만, 너무나도 다양한 방법이 존재한다는 사실이 중앙 정렬을 어렵게 합니다.</p><p>중앙 정렬 하는 방법은 HTML 요소에 따라 혹은 수평 중앙 정렬인지, 수직 중앙 정렬인지에 따라 달라질 수 있습니다.</p><p>이 튜토리얼에서는 다양한 요소를 수평, 수직 및 상하좌우로 중앙에 배치하는 방법에 대해 살펴보겠습니다.</p><h3 id="css-interactive-scrim-">CSS로 무엇이든 중앙 정렬하는 방법을 설명하는 대화형의 비디오(Interactive Scrim)</h3><figure class="kg-card kg-embed-card"><iframe src="https://scrimba.com/scrim/co4db41c6a8d6458e2d84500b?embed=freecodecamp,mini-header" width="100%" height="420" title="Embedded content" loading="lazy" style="box-sizing: inherit; margin: 0px; padding: 0px; border: 0px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-variant-numeric: inherit; font-variant-east-asian: inherit; font-weight: 400; font-stretch: inherit; line-height: inherit; font-family: Lato, sans-serif; font-size: 22px; vertical-align: middle; color: rgb(10, 10, 35); letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"></iframe></figure><h2 id="-">수평 중앙 정렬하는 방법</h2><p>수평 중앙 정렬하는 것은 대체적으로 수직 중앙 정렬하는 것보다 쉽습니다. 다음은 수평 중앙 정렬할 수 있는 몇 가지 일반적인 요소와 이를 사용하는 다양한 방법입니다.</p><h3 id="css-text-align-center-">CSS에서 Text-Align Center 속성으로 텍스트를 중앙 정렬하는 방법</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="CSS를 통해 Hello, World 텍스트가 중앙 상단에 위치한 모습" width="600" height="400" loading="lazy"></figure><h3 id="css-margin-auto-div-">CSS에서 Margin Auto로 Div를 중앙 정렬하는 방법</h3><p><code>div</code>처럼 블록 레벨 요소(화면 전체를 차지하는 요소 —옮긴이)를 가지고 있는 태그를 중앙 정렬하기 위해선 <code>margin</code> 속성을 사용하여 값을 <code>0 auto</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="CSS를 통해 빨간 상자가 중앙 상단에 위치한 모습" width="600" height="400" loading="lazy"></figure><h3 id="flexbox-div-">Flexbox를 사용하여 Div를 수평 중앙 정렬하는 방법</h3><p>Flexbox는 가장 현대적으로 페이지를 중앙 정렬하는 방법이며 반응형 레이아웃을 이전보다 훨씬 쉽게 디자인할 수 있습니다. 그러나 인터넷 익스플로러와 같은 일부 레거시 브라우저에서는 전적으로 지원되지 않습니다.</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;
  /* 자식 요소(.child)를 중앙 정렬하기 */
  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.jpg" class="kg-image" alt="CSS를 통해 빨간 상자가 중앙 상단에 위치한 모습" width="600" height="400" loading="lazy"></figure><h2 id="--1">수직 중앙 정렬하는 방법</h2><p>Flexbox와 같은 현대적인 방법 없이 요소를 수직 중앙 정렬하는 것은 꽤 번거로운 일이 될 수 있습니다. 이번엔 예전 방식으로 수직 중앙 정렬을 먼저 실행 해보고, Flexbox를 사용하는 방법도 함께 살펴보겠습니다.</p><h3 id="css-absolute-margin-div-">CSS Absolute 배치와 Margin을 마이너스 값으로 설정하여 Div를 수직 중앙 정렬하는 방법</h3><p>이 방법은 요소를 수직으로 중앙정렬하는데 오랫동안 사용되어 왔습니다. 이 경우에는 중앙에 정렬하려는 요소의 높이를 알아야 합니다.</p><p>먼저 부모 요소의 <code>position</code>속성을 &nbsp;<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;
  /* 설정 */
  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="CSS를 통해 빨간 상자가 왼쪽 중앙 조금 아래에 위치한 모습" 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;
  /* 설정 */
  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="CSS를 통해 빨간 상자가 왼쪽 중앙에 위치한 모습" width="600" height="400" loading="lazy"></figure><h3 id="css-transform-translate-div-">CSS의 Transform과 Translate를 사용하여 Div를 수직 중앙 정렬하는 방법</h3><p>중앙에 정렬하려는 요소의 높이를 모른다면(또는 알더라도), 이것은 꽤나 유용한 방법입니다.</p><p>이 방법은 위의 Margin을 마이너스 값으로 설정하는 방법과 아주 유사합니다. 부모 요소의 <code>position</code>속성을 &nbsp;<code>relative</code>로 설정합니다.</p><p>자식 요소의 경우 <code>position</code>속성을 <code>absolute</code>로 설정하고 <code>top</code>을 <code>50%</code>로 설정합니다. 이제 Margin을 마이너스 값으로 설정하여 자식요소를 중앙 정렬하는 대신에, 단순히 <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;
  /* 설정 */
  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.jpg" class="kg-image" alt="CSS를 통해 빨간 상자가 왼쪽 중앙에 위치한 모습" 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="flexbox-div--1">Flexbox를 사용하여 Div를 수직 중앙 정렬하는 방법</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.jpg" class="kg-image" alt="CSS를 통해 빨간 상자가 왼쪽 중앙에 위치한 모습" width="600" height="400" loading="lazy"></figure><h2 id="--2">상하좌우 정중앙 정렬하는 방법</h2><h3 id="css-absolute-margin-div--1">CSS Absolute 배치와 Margin을 마이너스 값으로 설정하여 Div를 상하좌우 정중앙 정렬하는 방법</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>자식 요소 전체를 중앙에 정렬하려면 자식 요소 높이의 절반 값에 마이너스를 붙인 <code>margin-top</code>과 자식 요소 너비의 절반 값에 마이너스를 붙인 <code>margin-left</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;
  /* 설정 */
  position: relative;
}

.child {
  width: 50px;
  height: 50px;
  background-color: red;
  /* 상하좌우 정중앙 정렬하기 */
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -25px 0 0 -25px; /* 자식 요소 전체를 중앙 정렬하기 위해, 상단 및 왼쪽 margin을 마이너스 값으로 적용하기 */
}
</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="CSS를 통해 빨간 상자가 정중앙에 위치한 모습" width="600" height="400" loading="lazy"></figure><h3 id="css-transform-translate-div--1">CSS의 Transform과 Translate를 사용하여 Div를 상하좌우 정중앙 정렬하는 방법</h3><p>중앙에 정렬하려는 요소의 높이와 너비를 정확히 모르고, Flexbox 또한 사용할 수 없을 경우에 이 방법을 사용하여 요소를 수직 및 수평으로 중앙에 정렬 할 수 있습니다.</p><p>먼저, 부모 요소의 <code>position</code>속성을 &nbsp;<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;
  /* 설정 */
  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.jpg" class="kg-image" alt="CSS를 통해 빨간 상자가 정중앙에 위치한 모습" width="600" height="400" loading="lazy"></figure><h3 id="flexbox-div--2">Flexbox를 사용하여 Div를 상하좌우 정중앙 정렬하는 방법</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.jpg" class="kg-image" alt="CSS를 통해 빨간 상자가 정중앙에 위치한 모습" width="600" height="400" loading="lazy"></figure><p>여러분들은 누구 못지않게 요소들을 중앙에 정렬할 수 있는 모든 방법을 배웠습니다. 자 이제 많은 것들을 중앙 정렬해 보세요.</p> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ HTML에 외부 CSS 스타일 시트를 적용하는 방법 ]]>
                </title>
                <description>
                    <![CDATA[ CSS를 HTML에 적용하는 여러 방법 중 외부 스타일 시트를 사용하는 방법이 가장 일반적인 방법입니다. 그럼 어떻게 CSS파일을 HTML과 연결할 수 있을까요? 외부 CSS 파일을 연결하는 것은 그 어떤 HTML 템플릿 [https://www.freecodecamp.org/news/basic-html5-template-boilerplate-code-example/] 에서도 중요한 부분입니다. 그럼 지금부터 이 글을 통해 어떻게 외부 CSS 파일을 연결하는지에 대해 알아보겠습니다. CSS 파일을 HTML 파일과 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/htmle-oebu-css-seutail-siteureul-jeogyonghaneun-bangbeob/</link>
                <guid isPermaLink="false">638b538537582306394d7cb6</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Seyoung Joo ]]>
                </dc:creator>
                <pubDate>Wed, 07 Dec 2022 07:19:36 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2022/12/pexels-martin-damboldt-814499.jpg" 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><!--kg-card-begin: markdown--><h4 id="csshtmlcsshtml">CSS를 HTML에 적용하는 여러 방법 중 외부 스타일 시트를 사용하는 방법이 가장 일반적인 방법입니다. 그럼 어떻게 CSS파일을 HTML과 연결할 수 있을까요?</h4>
<p>외부 CSS 파일을 연결하는 것은 그 어떤 <a href="https://www.freecodecamp.org/news/basic-html5-template-boilerplate-code-example/">HTML 템플릿</a>에서도 중요한 부분입니다. 그럼 지금부터 이 글을 통해 어떻게 외부 CSS 파일을 연결하는지에 대해 알아보겠습니다.</p>
<h2 id="csshtml">CSS 파일을 HTML 파일과 연결하기</h2>
<p>CSS 파일을 HTML 파일에 연결하기 위해서 HTML 파일의 <code>head</code> 요소 안에 <code>link</code> 요소를 추가합니다.</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"><code>rel</code> 속성</h2>
<p>두 가지 필수 속성 중 첫 번째인 rel 속성입니다. 이 속성을 사용하여 브라우저에 현재 문서와 링크된 문서 사이의 연관 관계를 알려줄 수 있습니다.</p>
<p><code>rel="stylesheet"</code>를 사용해 브라우저에 어떤 스타일시트를 사용할 것인지 알려줍니다.</p>
<h2 id="href"><code>href</code> 속성</h2>
<p>두 번째 필수 속성인 <code>href</code>는 가져올 파일을 지정하는 역할을 합니다.</p>
<p>보통의 경우에 CSS 파일과 HTML 파일은 같은 폴더 안에 있습니다. 이럴 때 <code>href="style.css"</code>를 사용할 수 있습니다.</p>
<p>만약 CSS 파일과 HTML 파일이 다른 폴더에 있다면&nbsp;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"><code>type</code> 속성</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"><code>media</code> 속성</h2>
<pre><code class="language-html">&lt;link rel="stylesheet" href="style.css" media="screen and (max-width: 600px)" /&gt;
</code></pre>
<p>media 속성은 선택적 속성으로, 언제 특정 스타일시트를 불러올지 지정하는 데에 사용합니다. 이 속성의 값은 반드시 미디어타입 / 미디어 쿼리여야 합니다.</p>
<p>이 속성은 다른 스크린 사이즈와 장치에 각각 다른 스타일을 적용하고자 할 때 유용합니다.<br>
이것을 위해서는 각각의 CSS파일을 자체 link 요소와 함께 가져와야 합니다.</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/news/css-media-queries-breakpoints-media-types-standard-resolutions-and-more/">미디어 쿼리 CSS 튜토리얼 - 표준 해상도, CSS 중단점, 디바이스별 분기점</a></li>
</ul>
<h2 id="">결론</h2>
<p>이 글에서는 <code>link</code> 요소와 <code>href</code>, <code>src</code> 속성을 사용하여 외부 스타일시트를 웹 페이지에 추가하는 방법을 배웠습니다.</p>
<p>또한 여러 개의 스타일시트를 불러오고 <code>media</code> 속성을 사용하여 언제 어떤 스타일시트를 적용할지에 대해 배웠습니다.</p>
<p>그럼 재밌게 웹 페이지를 만드세요!</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ CSS 버튼 스타일 - Hover, Color, Background ]]>
                </title>
                <description>
                    <![CDATA[ 이 글에서는 CSS로 버튼을 꾸미는 방법에 대해 알아보겠습니다. 제 목표는 각기 다른 CSS 규칙과 스타일들이 어떻게 적용되어 사용되는지 보여드리는 것입니다. 따라서 디자인적인 요소나 스타일링 방법은 다루지 않을 예정입니다. 이보다는, 스타일 자체가 어떻게 적용되고 어떠한 속성들이 흔히 사용되는지, 그리고 스타일과 속성이 어떻게 같이 사용되는지에 대해 개괄적으로 다루겠습니다. 첫째로는 HTML로 버튼을 만드는 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/css-beoteun-seutail-hover-color-background/</link>
                <guid isPermaLink="false">635a3e077c7a80063a4c8bf7</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Nayoung Gu ]]>
                </dc:creator>
                <pubDate>Sat, 05 Nov 2022 14:04:17 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2022/11/moises-de-paula-HPZZHJ-LuDI-unsplash.jpg" 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><!--kg-card-begin: markdown--><h4 id="css">이 글에서는 CSS로 버튼을 꾸미는 방법에 대해 알아보겠습니다.</h4>
<p>제 목표는 각기 다른 CSS 규칙과 스타일들이 어떻게 적용되어 사용되는지 보여드리는 것입니다. 따라서 디자인적인 요소나 스타일링 방법은 다루지 않을 예정입니다.</p>
<p>이보다는, 스타일 자체가 어떻게 적용되고 어떠한 속성들이 흔히 사용되는지, 그리고 스타일과 속성이 어떻게 같이 사용되는지에 대해 개괄적으로 다루겠습니다.</p>
<p>첫째로는 HTML로 버튼을 만드는 법에 대해 배우고 버튼의 기본 스타일을 덮을 수 있는 방법에 대해 알려드리겠습니다. 마지막으로는 버튼의 세 가지 다른 상태에 대해 어떻게 스타일링할 수 있는지에 대해서 간략하게 살펴보겠습니다.</p>
<h1 id="">목차</h1>
<ol>
<li><a href="#create-button-in-HTML">HTML에서 버튼 만들기</a></li>
<li><a href="#change-default-styling">버튼의 기본 스타일 바꾸기</a>
<ol>
<li><a href="#change-background-color">배경색 바꾸기</a></li>
<li><a href="#change-text-color">글자색 바꾸기</a></li>
<li><a href="#change-border-style">테두리 바꾸기</a></li>
<li><a href="#change-size">사이즈 바꾸기</a></li>
</ol>
</li>
<li><a href="#style-button-states">버튼 상태 꾸미기</a>
<ol>
<li><a href="#style-hover">hover 상태 꾸미기</a></li>
<li><a href="#style-focus">focus 상태 꾸미기</a></li>
<li><a href="#style-active">active 상태 꾸미기</a></li>
</ol>
</li>
<li><a href="#conclusion">결론</a></li>
</ol>
<p>그럼 시작해봅시다!</p>
<h3 id="create-button-in-HTML">HTML에서 버튼 만들기</h3>
<p>버튼을 만들기 위해서는 <code>&lt;button&gt;</code> 요소를 사용합니다.</p>
<p><code>&lt;div&gt;</code> 요소처럼 포괄적인 태그를 사용하는 것보다 <code>&lt;button&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>&lt;button&gt;</code> 태그의 <code>type="button"</code> 속성은 명시적으로 클릭 가능한 버튼을 생성합니다. 이 버튼은 양식을 제출하기 위한 용도가 아니기 때문에 코드를 깔끔하게 작성하고 불필요한 결과를 초래하지 않기 위해 시맨틱하게 <code>type="button"</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><code>index.html</code>에 <code>&lt;link rel="stylesheet" href="style.css"&gt;</code> 태그를 작성해서 두 개의 파일을 연결하면 HTML에 스타일을 적용할 수 있습니다.</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>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.29.02-PM.png" alt="스타일링을 통해 바디의 중앙에 위치한 버튼의 모습" width="600" height="400" loading="lazy"></p>
<p>버튼의 기본 스타일은 여러분이 사용하고 있는 브라우저에 따라 상이하게 보입니다.</p>
<p>위의 예시는 구글의 크롬 브라우저에서 보이는 버튼의 기본 스타일입니다.</p>
<h3 id="change-default-styling">버튼 기본 스타일 바꾸기</h3>
<h3 id="change-background-color">버튼 배경색 바꾸기</h3>
<p>버튼의 배경 색은 CSS <code>background-color</code> 속성에 원하는 색상 값을 넣어 변경해 줄 수 있습니다.</p>
<p><code>.button</code> 선택자의 배경색을 바꾸기 위해 <code>background-color:#0a0a23;</code>를 지정했습니다.</p>
<pre><code class="language-css">.button {
    position: absolute;
    top:50%;
    background-color:#0a0a23;
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.28.30-PM.png" alt="스타일링을 통해 어두운 배경색으로 바뀐 버튼의 모습" width="600" height="400" loading="lazy"></p>
<h3 id="change-text-color">버튼 글자색 바꾸기</h3>
<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>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.28.03-PM.png" alt="스타일링을 통해 흰 글자색으로 바뀐 버튼의 모습" width="600" height="400" loading="lazy"></p>
<h3 id="change-border-style">버튼 테두리 바꾸기</h3>
<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>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.27.33-PM.png" alt="스타일링을 통해 테두리가 지워진 버튼의 모습" width="600" height="400" loading="lazy"></p>
<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>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.26.57-PM.png" alt="스타일링을 통해 테두리를 둥글게 만든 버튼의 모습" width="600" height="400" loading="lazy"></p>
<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>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.25.55-PM.png" alt="스타일링을 통해 그림자 효과를 준 버튼의 모습" width="600" height="400" loading="lazy"></p>
<h3 id="change-size">버튼 사이즈 바꾸기</h3>
<p>버튼 테두리 내에 공간을 더 주고 싶으면 버튼에 <code>padding</code>을 추가합니다.</p>
<p>아래 코드에서 저는 버튼의 위, 아래, 오른쪽, 왼쪽에 padding을 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>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/Screenshot-2022-02-06-at-10.42.58-PM.png" alt="스타일링을 통해 크기가 변경된 버튼의 모습" width="600" height="400" loading="lazy"></p>
<h3 id="style-button-states">버튼의 상태 스타일 바꾸기</h3>
<p>버튼은 다음 세 가지 상태를 갖습니다.</p>
<ul>
<li><code>:hover</code></li>
<li><code>:focus</code></li>
<li><code>:active</code></li>
</ul>
<p>이 세 가지 상태는 각각 다른 스타일을 갖는 것이 좋습니다.</p>
<p>아래 섹션에서는 각각의 상태가 무엇을 의미하며 어떻게 발생하는지에 대해 간단히 설명하겠습니다. 그리고 각각의 상태에 따라 버튼에 스타일을 줄 수 있는 방법에 대해 살펴보겠습니다.</p>
<h3 id="style-hover">`hover` 상태 꾸미기</h3>
<p><code>:hover</code> 상태는 사용자가 버튼을 선택하거나 클릭하지 않고 마우스나 트랙패드를 올릴 때 발생합니다.</p>
<p>마우스를 올렸을 때의 버튼 스타일을 바꾸고 싶을 때는 <code>:hover</code>라는 CSS 가상 클래스(의사 클래스) 선택자를 사용할 수 있습니다.</p>
<p>보통 <code>:hover</code>를 사용해 버튼의 배경색을 바꾸곤 합니다.</p>
<p>부드럽게 배경색을 전환하려면 <code>:hover</code>와 <code>transition</code> 속성을 같이 사용합니다.</p>
<p><code>transition</code> 속성은 일반 상태에서 <code>:hover</code> 상태로 보다 부드럽게 바뀌는 <em>transition</em>을 만들어줍니다.</p>
<p><code>transition</code> 속성이 없을 때보다 배경색이 부드럽게 바뀌기 때문에 사용자 경험이 개선될 것입니다.</p>
<pre><code class="language-css">.button:hover {
      background-color:#002ead;
      transition: 0.7s;
  }
</code></pre>
<p>위 예시에서 버튼이 hover 되었을 때 배경색을 더 옅게 만들기 위해 Hex 색상 코드를 사용했습니다.</p>
<p>일반 상태에서 <code>:hover</code> 상태로 바뀔 때 <code>transition</code> 속성의 도움을 받아 <code>0.7s</code> 동안의 딜레이를 넣었습니다. 이렇게 함으로써 기존 배경 색인 <code>#0a0a23</code>에서 <code>#002ead</code>로 더 천천히 바뀌게 되는 것이죠.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/hover-2.gif" alt="hover 상태일 때 배경색이 바뀌는 버튼의 모습" width="600" height="400" loading="lazy"></p>
<p><code>:hover</code> 가상 클래스(의사 클래스)가 모바일 화면이나 앱에서 동작하지 않는다는 점에 유의하세요. hover 효과는 터치스크린이 아닌 데스크톱 웹 애플리케이션에서 사용하세요.</p>
<h3 id="style-focus">`focus` 상태 꾸미기</h3>
<p><code>:focus</code> 상태는 키보드를 사용하는 유저들에게 동작합니다 - 특히 <code>Tab</code>키(<code>⇥</code>)를 눌러 버튼이 포커스 되었을 때 활성화되는 상태입니다.</p>
<p>잘 따라오고 계신다면 <code>Tab</code> 키를 눌러 버튼을 포커스 했을 때 다음과 같이 보일 것입니다.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/focus-5.gif" alt="focus 상태일 때 파란색 테두리가 생기는 버튼의 모습" width="600" height="400" loading="lazy"></p>
<p>버튼이 포커스 되었을 때 쳐지는 얇은 파란색 테두리가 보이시나요?</p>
<p>브라우저는 키보드로 조작했을 때의 접근성 때문에 <code>:focus</code> 가상 클래스(의사 클래스)에 기본 스타일을 가지고 있습니다. <code>outline</code>을 같이 지워버리는 것은 권장하지 않습니다.</p>
<p>하지만 <code>outline</code>을 커스터마이징 해서 잘 보이게 할 수 있습니다.</p>
<p>먼저 <code>outline</code> 색상을 <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>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/focusend.gif" alt="focus 상태일 때 보라색 그림자가 생기는 버튼의 모습" width="600" height="400" loading="lazy"></p>
<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>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/focusend1.gif" alt="focus 상태일 때 천천히 보라색 그림자가 생기는 버튼의 모습" width="600" height="400" loading="lazy"></p>
<h3 id="style-active">`active` 상태 꾸미기</h3>
<p><code>:active</code> 상태는 마우스나 노트북 트랙 패드로 버튼을 눌렀을 때 <em>활성화</em> 됩니다.</p>
<p><code>:hover</code>와 <code>:focus</code> 상태를 적용한 버튼을 누르면 어떤 효과가 발생하는지 확인해 봅시다.</p>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/active-1.gif" alt="active 상태일 때 배경색과 그림자 스타일이 바뀌는 버튼의 모습" width="600" height="400" loading="lazy"></p>
<p><code>:hover</code> 상태의 스타일은 버튼을 클릭하기 전 마우스를 올렸을 때 적용됩니다.</p>
<p>버튼을 클릭하면 <code>:focus</code> 상태의 스타일도 적용됩니다. <code>:active</code>상태와 <code>:focus</code> 상태가 같이 적용되기 때문이죠.</p>
<p>하지만 <code>:focus</code>와 <code>:active</code>는 서로 다르다는 점에 유의하세요.</p>
<p><code>:focus</code> 상태는 요소가 포커스 되었을 때 적용되며 <code>:active</code> 상태는 유저가 요소를 <code>클릭</code>하기 위해 잡거나 누르고 있을 때 적용되는 상태입니다.</p>
<p>유저가 버튼을 클릭할 때의 스타일을 바꾸기 위해서는 <code>:active</code> CSS 가상 선택자(의사 선택자)에 스타일을 적용합니다.</p>
<p>이번에는 유저가 버튼을 클릭하고 있을 때의 배경색을 바꾸어보았습니다.</p>
<pre><code class="language-css">.button:active {
    background-color: #ffbf00;
}
</code></pre>
<p><img src="https://www.freecodecamp.org/news/content/images/2022/02/activefinal.gif" alt="클릭할 때 검정색에서 노란색으로 배경색이 바뀌는 버튼의 모습" width="600" height="400" loading="lazy"></p>
<h3 id="conclusion">결론</h3>
<p>수고하셨습니다! 여러분은 오늘 CSS로 버튼을 스타일링할 수 있는 기본 방법에 대해 학습했습니다.</p>
<p>버튼의 상태에 따라 스타일링할 수 있는 방법뿐만 아니라 버튼의 배경색과 글자색을 바꿀 수 있는 방법에 대해서도 살펴보았습니다.</p>
<p>웹 디자인에 대해 더 공부하고 싶다면 freeCodeCamp의 <a href="https://www.freecodecamp.org/learn/2022/responsive-web-design/">반응형 웹 디자인 자격증</a>을 확인해 보세요. 이 쌍방향 수업에서는 15개의 토이 프로젝트와 5개의 최종 결과물을 만들며 HTML과 CSS를 학습할 수 있습니다.</p>
<p>위 자격증 과정은 아직 베타 버전이기 때문에 가장 안정적인 최신 버전은 <a href="https://www.freecodecamp.org/learn/responsive-web-design/">이곳에서</a> 확인해 볼 수 있습니다.</p>
<p>읽어주셔서 감사드립니다. 즐거운 코딩하세요!</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ CSS로 이미지를 중앙 정렬하는 방법 ]]>
                </title>
                <description>
                    <![CDATA[ 많은 개발자들이 이미지 작업을 할 때 어려움을 느끼곤 합니다. 반응형 [https://www.freecodecamp.org/news/css-responsive-image-tutorial/]과 정렬, 특히 이미지를 페이지 정중앙에 배치하는 것을 어려워합니다. 이번 글에서는 다양한 CSS 속성을 활용해 이미지를 수직 및 수평으로 가운데 정렬할 수 있는 가장 일반적인 방법을 소개해 드리려고 합니다. CSS Position [https://www.freecodecamp.org/news/how-to-use-the-position-property-in-css-to-align-elements-d8f49c403a26/] 과 Display [https://www.youtube.com/watch?v=hgoFi0fCv3w] 속성은 이전 글에서 다룬 적이 ]]>
                </description>
                <link>https://www.freecodecamp.org/korean/news/how-to-center-an-image-in-css/</link>
                <guid isPermaLink="false">62dfb47ab9e78405860290e7</guid>
                
                    <category>
                        <![CDATA[ CSS ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Nayoung Gu ]]>
                </dc:creator>
                <pubDate>Thu, 28 Jul 2022 05:21:28 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/korean/news/content/images/2022/07/5f9c9a4c740569d1a4ca24c2.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><!--kg-card-begin: markdown--><h3 id="">많은 개발자들이 이미지 작업을 할 때 어려움을 느끼곤 합니다. <a href="https://www.freecodecamp.org/news/css-responsive-image-tutorial/">반응형</a>과 정렬, 특히 이미지를 페이지 정중앙에 배치하는 것을 어려워합니다.</h3>
<p>이번 글에서는 다양한 CSS 속성을 활용해 이미지를 수직 및 수평으로 가운데 정렬할 수 있는 가장 일반적인 방법을 소개해 드리려고 합니다.</p>
<p>CSS <a href="https://www.freecodecamp.org/news/how-to-use-the-position-property-in-css-to-align-elements-d8f49c403a26/">Position</a>과 <a href="https://www.youtube.com/watch?v=hgoFi0fCv3w">Display</a> 속성은 이전 글에서 다룬 적이 있습니다. 아직 이 속성들이 낯설게 느껴지신다면, 이번 글을 읽기 전에 이전 포스트를 읽어보시길 추천해 드립니다.</p>
<p>관심 있는 분들을 위해 영상 버전도 첨부합니다:<br><br>
<a href="https://www.youtube.com/watch?v=mwVNVxpkly0?t=0s"><img src="https://img.youtube.com/vi/mwVNVxpkly0/0.jpg" alt="Video Label" width="480" height="360" loading="lazy"></a></p>
<h2 id="">수평적으로 이미지 가운데 정렬하기</h2>
<p>먼저 CSS 속성을 사용해 이미지를 수평 중앙에 정렬할 수 있는 세 가지 방법에 대해 알아봅시다.</p>
<h3 id="textalign">Text-Align</h3>
<p>이미지를 가로 중앙에 배치할 수 있는 첫 번째 방법은 <code>text-align</code> 속성을 사용하는 것입니다. 하지만 이 방법은 이미지가 <code>&lt;div&gt;</code>와 같은 블록 레벨 컨테이너 안에 있을 때만 작동합니다:</p>
<pre><code>&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="marginauto">Margin: Auto</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>img {
    margin: auto;
    display: block;
}
</code></pre>
<p>두 번째는 너비입니다. 왼쪽과 오른쪽 마진이 나머지 빈 공간에 자리를 잡아 자동으로 가운데 정렬이 적용되기 때문입니다. 단, 너비가 100%로 지정되지 않은 경우에 한해서요.</p>
<pre><code>img {
    width: 60%;
    margin: auto;
    display: block;
}
</code></pre>
<h3 id="displayflex">Display: Flex</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>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> <code>display: flex</code> 속성은 오래된 버전의 브라우저에서는 지원되지 않습니다. 구체적인 내용은 <a href="https://caniuse.com/?search=display%20flex">이 링크</a>를 참고하세요.</p>
<h2 id="">수직적으로 이미지 가운데 정렬하기</h2>
<h3 id="displayflex">Display: Flex</h3>
<p>수직 정렬을 할 때도 <code>display: flex</code>가 큰 도움이 될 수 있습니다.</p>
<p>컨테이너 요소의 높이가 800px이고, 이미지의 높이가 500px밖에 되지 않는다고 가정해 봅시다.</p>
<pre><code>div {
    display: flex;
    justify-content: center;
    height: 800px;
}
img {
    width: 60%;
    height: 500px;
}
</code></pre>
<p>이때는 <code>align-items: center</code>라는 한 줄의 코드만으로 중앙 정렬을 할 수 있습니다.</p>
<pre><code>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="positionabsolutetransform">Position: Absolute &amp; Transform 속성</h3>
<p>또 다른 방법은 <code>position</code>과 <code>transform</code> 속성을 함께 사용하는 것입니다. 이 방법은 조금 복잡하기 때문에 한 단계씩 해보겠습니다.</p>
<h3 id="step1positionabsolute">Step 1: Position Absolute 설정하기</h3>
<p>먼저, 이미지의 <code>position</code> 속성을 <code>static</code>에서 <code>absolute</code>로 바꿔줍니다.</p>
<pre><code>div {
    height: 800px;
    position: relative;
    background: red;
}
img {
    width: 80%;
    position: absolute;
}
</code></pre>
<p>이미지가 상대적으로 위치한 컨테이너 요소 안에 위치해야 하므로, 컨테이너 <code>div</code>에 <code>position: relative</code> 속성을 부여해줍니다.</p>
<h3 id="step2topleft">Step 2: Top &amp; Left 속성 부여하기</h3>
<p>두 번째로, 이미지의 위와 왼쪽 속성을 50%로 설정합니다. 이렇게 하면 이미지의 시작 지점(좌상단)이 컨테이너의 중간 지점이 될 것입니다.</p>
<pre><code>img {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
}
</code></pre>
<h3 id="step3transform">Step 3: Transform 속성 부여하기</h3>
<p>위의 두 번째 단계까지 적용하면 이미지의 일부가 컨테이너의 밖으로 빠져나오게 됩니다. 이제 이미지를 다시 돌려놓아야 합니다.</p>
<p><code>transform</code> 속성으로 X축, Y축 모두 -50%를 적용하면 비로소 이미지가 중앙에 배치됩니다.</p>
<pre><code>img {
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
</code></pre>
<p>이 외에도 다른 방법들이 더 있지만 가장 일반적으로 사용되는 방법들을 소개해 드렸습니다. 이 글이 이미지 가운데 정렬을 이해하는 데 도움이 되었으면 좋겠습니다. 영어 원문을 읽고 싶으시다면 <a href="https://www.freecodecamp.org/news/how-to-center-an-image-in-css/">How to Center an Image Vertically and Horizontally with CSS</a>를 읽어보세요.</p>
<p><strong>웹 개발을 더 공부하고 싶으시다면 제 <a href="https://www.youtube.com/channel/UC1EgYPCvKCXFn8HlpoJwY3Q?view_as=subscriber">유튜브 채널</a>을 방문해 주세요.</strong></p>
<p>읽어주셔서 감사합니다!</p>
<!--kg-card-end: markdown--> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
