<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>제민의 velog</title>
        <link>https://velog.io/</link>
        <description>초보부터 시작하는 개발자 생활</description>
        <lastBuildDate>Wed, 27 Nov 2024 02:01:36 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>제민의 velog</title>
            <url>https://velog.velcdn.com/images/jam_developer1/profile/f43a2070-fce0-4c34-becc-6f855d842bca/image.jpg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. 제민의 velog. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jam_developer1" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[6. window 객체]]></title>
            <link>https://velog.io/@jam_developer1/6.-window-%EA%B0%9D%EC%B2%B4</link>
            <guid>https://velog.io/@jam_developer1/6.-window-%EA%B0%9D%EC%B2%B4</guid>
            <pubDate>Wed, 27 Nov 2024 02:01:36 GMT</pubDate>
            <description><![CDATA[<p>JavaScript의 <code>window</code> 객체는 최상위 객체로, 브라우저와 관련된 다양한 기능을 제공합니다. <code>window</code> 객체는 Browser Object Model(BOM)과 Document Object Model(DOM)을 포함하며, 브라우저 창 관리, 화면 정보, 위치 정보 등을 제어할 수 있습니다. 이번 글에서는 <code>window</code> 객체의 기본 사용법과 주요 메소드에 대해 살펴보겠습니다.</p>
<h2 id="1-windowopen을-사용한-새-창-열기">1. window.open()을 사용한 새 창 열기</h2>
<p><code>window.open()</code> 메소드는 새로운 창을 열 수 있는 기능을 제공합니다. 여러 매개변수를 통해 창의 URL, 이름, 크기 및 옵션을 지정할 수 있습니다.</p>
<h3 id="예제-코드">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function test1(){
    window.open(&quot;https://www.naver.com&quot;, &quot;test&quot;, &quot;width=500, height=500, resizable=no, location=no&quot;);
}</code></pre>
</blockquote>
<ul>
<li>첫 번째 인자: 열고자 하는 URL 주소를 설정합니다.</li>
<li>두 번째 인자: 창의 이름을 지정하며, 동일한 이름으로 열면 새로운 창이 아닌 기존 창에서 내용이 갱신됩니다.</li>
<li>세 번째 인자: 창의 크기와 기능을 설정하며, <code>width</code>, <code>height</code>, <code>resizable</code> 등을 지정할 수 있습니다.</li>
</ul>
<h2 id="2-타이머-관련-메소드">2. 타이머 관련 메소드</h2>
<h3 id="windowsettimeout">window.setTimeout()</h3>
<p><code>window.setTimeout()</code>은 지정한 시간 후에 함수가 한 번만 실행되도록 설정합니다. 비동기적으로 동작하여 특정 시간이 지난 후 코드를 실행할 때 유용합니다.</p>
<h4 id="예제-코드-1">예제 코드</h4>
<blockquote>
<pre><code class="language-javascript">function test2(){
    setTimeout(function(){
        console.log(&quot;서버에서 데이터 도착&quot;);
    }, 3000);
}</code></pre>
</blockquote>
<ul>
<li>3초 후에 <code>console.log</code> 문이 실행되어 데이터 도착을 알립니다.</li>
</ul>
<h3 id="windowsetinterval">window.setInterval()</h3>
<p><code>window.setInterval()</code>은 일정 시간마다 주기적으로 함수를 실행합니다. 카운트 증가와 같은 반복적인 작업에 사용하기 적합합니다.</p>
<h4 id="예제-코드-2">예제 코드</h4>
<blockquote>
<pre><code class="language-javascript">function test3(){
    const area1 = document.getElementById(&quot;area1&quot;);
    setInterval(() =&gt; {
        area1.innerHTML = getNowTimeHHMMSS();
    }, 1000);
}
</code></pre>
</blockquote>
<p>function getNowTimeHHMMSS(){
    const now = new Date();
    return <code>${now.getHours()} : ${now.getMinutes()} : ${now.getSeconds()}</code>;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>setInterval</code>을 사용해 1초마다 <code>getNowTimeHHMMSS()</code> 함수를 호출하여 현재 시간을 화면에 표시합니다.</li>
</ul>
<h2 id="3-bombrowser-object-model">3. BOM(Browser Object Model)</h2>
<h3 id="location-객체">location 객체</h3>
<p><code>location</code> 객체는 브라우저의 현재 주소와 관련된 기능을 제공합니다. 현재 URL을 변경하거나 페이지를 새로고침하는 등의 작업이 가능합니다.</p>
<h4 id="예제-코드-3">예제 코드</h4>
<blockquote>
<pre><code class="language-html">&lt;button onclick=&quot;location.href = &#39;http://www.naver.com&#39;&quot;&gt;네이버로 이동&lt;/button&gt;
&lt;button onclick=&quot;location.reload()&quot;&gt;새로고침&lt;/button&gt;</code></pre>
</blockquote>
<ul>
<li><code>location.href</code>로 URL을 변경해 페이지를 이동할 수 있습니다.</li>
<li><code>location.reload()</code>로 현재 페이지를 새로고침합니다.</li>
</ul>
<h3 id="screen-객체">screen 객체</h3>
<p><code>screen</code> 객체는 사용자의 화면 정보를 제공합니다. 화면의 너비와 높이 등 디스플레이와 관련된 정보를 확인할 수 있습니다.</p>
<blockquote>
<pre><code class="language-javascript">&lt;button onclick=&quot;console.log(screen)&quot;&gt;screen 객체 확인&lt;/button&gt;</code></pre>
</blockquote>
<ul>
<li>화면의 너비, 높이 등의 정보를 콘솔에 출력합니다.</li>
</ul>
<h3 id="navigator-객체">navigator 객체</h3>
<p><code>navigator</code> 객체는 브라우저의 정보를 제공하며, 사용자의 브라우저가 지원하는 기능을 확인할 때 유용합니다.</p>
<blockquote>
<pre><code class="language-javascript">&lt;button onclick=&quot;console.log(navigator)&quot;&gt;navigator 객체 확인&gt;&lt;/button&gt;</code></pre>
</blockquote>
<h3 id="history-객체">history 객체</h3>
<p><code>history</code> 객체는 사용자가 방문한 페이지의 히스토리를 관리합니다. 앞으로 가기, 뒤로 가기 기능을 사용할 수 있습니다.</p>
<pre><code class="language-javascript">&lt;button onclick=&quot;console.log(history)&quot;&gt;history 객체 확인&lt;/button&gt;</code></pre>
<h2 id="4-dom을-사용하여-요소-조작">4. DOM을 사용하여 요소 조작</h2>
<p><code>window</code> 객체의 <code>document</code> 객체는 DOM을 통해 HTML 요소를 조작할 수 있도록 합니다. 새로운 요소를 추가하거나, 기존 요소의 내용을 변경할 수 있습니다.</p>
<h3 id="예제-코드-4">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function test4(){
    const area2 = document.querySelector(&quot;#area2&quot;);
    let h3El = document.createElement(&#39;h3&#39;);
    h3El.innerText = &quot;안녕하세요.&quot;;
    area2.appendChild(h3El);
}</code></pre>
</blockquote>
<ul>
<li><code>document.createElement</code>를 사용하여 새로운 <code>h3</code> 요소를 생성합니다.</li>
<li><code>appendChild</code>를 통해 생성한 요소를 DOM에 추가합니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[5. 객체]]></title>
            <link>https://velog.io/@jam_developer1/5.-%EA%B0%9D%EC%B2%B4</link>
            <guid>https://velog.io/@jam_developer1/5.-%EA%B0%9D%EC%B2%B4</guid>
            <pubDate>Tue, 10 Sep 2024 12:45:43 GMT</pubDate>
            <description><![CDATA[<p>JavaScript에서 객체는 다양한 데이터와 기능을 하나의 단위로 묶을 수 있는 중요한 구조입니다.
객체는 속성(key)과 값(value)을 갖는 형태로 정의됩니다.
이번 글에서는 객체의 선언 및 사용, 메소드 속성, 그리고 객체 배열을 사용한 데이터 관리 방법에 대해 살펴보겠습니다.</p>
<h2 id="1-객체-선언-및-사용">1. 객체 선언 및 사용</h2>
<p>객체는 중괄호 <code>{}</code>를 사용하여 생성되며, 속성명과 속성값을 <code>key: value</code> 형식으로 정의합니다. 속성값은 문자열, 숫자, 배열 등 다양한 자료형을 가질 수 있습니다.</p>
<h3 id="예제-코드">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function test1(){
    const product = {
        pName : &quot;Dry Mango&quot;,
        price : 4000,
        kind : &quot;pickle&quot;,
        ingredient :[&quot;mango&quot;, &quot;sugar&quot;]
    }
</code></pre>
</blockquote>
<pre><code>const area1 = document.getElementById(&quot;area1&quot;);
area1.innerHTML += &quot;pName : &quot; + product[&#39;pName&#39;] + &quot;&lt;br&gt;&quot;;
area1.innerHTML += `price : ${product.price}&lt;br&gt;`;
area1.innerHTML += `ingredient : ${product.ingredient[0]}, ${product.ingredient[1]}`;</code></pre><p>}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li>객체 <code>product</code>는 속성 <code>pName</code>, <code>price</code>, <code>kind</code>, <code>ingredient</code>를 가집니다.</li>
<li>객체의 속성에 접근하는 방법은 두 가지가 있습니다:<ol>
<li><code>객체명[&quot;속성명&quot;]</code>으로 접근</li>
<li><code>객체명.속성명</code>으로 접근</li>
</ol>
</li>
</ul>
<h2 id="2-객체의-메소드-속성">2. 객체의 메소드 속성</h2>
<p>객체의 속성 중에서 함수 자료형을 가지는 속성을 메소드라고 부릅니다. 메소드는 객체 내부에서 동작하는 함수를 의미하며, <code>this</code> 키워드를 사용하여 객체 자신의 속성에 접근할 수 있습니다.</p>
<h3 id="예제-코드-1">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function test2(){
    const dog = {
        name : &quot;복실이&quot;,
        kind : &quot;비글&quot;,
        eat : function(food){
            area2.innerHTML += `${this.kind} 종류인 ${this.name}가 ${food}를 먹고 있습니다.&lt;br&gt;`;
        }
    }
    dog.eat(&quot;사과&quot;);
}</code></pre>
</blockquote>
<ul>
<li><code>dog</code> 객체의 메소드 <code>eat</code>은 <code>this</code> 키워드를 사용하여 객체 자신의 속성 <code>name</code>과 <code>kind</code>에 접근합니다.</li>
<li>메소드 호출 시 객체의 속성을 기반으로 동작하는 것을 확인할 수 있습니다.</li>
</ul>
<h2 id="3-객체-배열을-사용한-다량의-데이터-관리">3. 객체 배열을 사용한 다량의 데이터 관리</h2>
<p>객체 배열을 사용하면 다량의 데이터를 효율적으로 관리할 수 있습니다. 각 객체는 특정한 데이터를 포함하고 있으며, 배열을 통해 반복적으로 객체의 속성에 접근하고, 메소드를 호출할 수 있습니다.</p>
<h3 id="예제-코드-2">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function test3(){
    const studentList = [
        {name: &quot;전제민1&quot;, java: 85, db: 70, front: 60},
        {name: &quot;전제민2&quot;, java: 70, db: 65, front: 75},
        {name: &quot;전제민3&quot;, java: 65, db: 50, front: 65},
        {name: &quot;전제민4&quot;, java: 50, db: 70, front: 100},
        {name: &quot;전제민5&quot;, java: 100, db: 65, front: 65}
    ];
</code></pre>
</blockquote>
<pre><code>for(let i in studentList){
    studentList[i].getSum = function(){
        return this.java + this.db + this.front;
    }</code></pre><blockquote>
</blockquote>
<pre><code>    studentList[i].getAvg = function(){
        return this.getSum() / 3;
    }
}</code></pre><blockquote>
</blockquote>
<pre><code>const area3 = document.querySelector(&quot;#area3&quot;);
for(let student of studentList){
    area3.innerHTML += `이름: ${student.name}, 총점: ${student.getSum()}, 평균: ${student.getAvg()}&lt;br&gt;`;
}</code></pre><p>}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>studentList</code>는 객체 배열로, 각 객체는 학생의 정보와 성적을 담고 있습니다.</li>
<li><code>getSum</code>과 <code>getAvg</code> 메소드를 각 객체에 추가하여 총점과 평균을 계산합니다.</li>
<li>반복문을 통해 각 학생의 정보를 출력합니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[4. 함수(function)]]></title>
            <link>https://velog.io/@jam_developer1/4.-%ED%95%A8%EC%88%98function</link>
            <guid>https://velog.io/@jam_developer1/4.-%ED%95%A8%EC%88%98function</guid>
            <pubDate>Tue, 10 Sep 2024 12:35:15 GMT</pubDate>
            <description><![CDATA[<p>JavaScript에서 함수는 코드를 재사용하고, 더 효율적으로 작성할 수 있도록 돕는 중요한 개념입니다. 이번 글에서는 선언적 함수, 익명 함수, 함수의 매개변수, 리턴값 등 다양한 함수의 사용 방법에 대해 알아보겠습니다.</p>
<h2 id="1-선언적-함수">1. 선언적 함수</h2>
<p>선언적 함수는 함수 이름을 사용하여 정의되며, 호출 시 해당 이름으로 호출할 수 있습니다. 일반적으로 많이 사용되는 함수 정의 방법입니다.</p>
<h3 id="예제-코드">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function test1(){
    document.querySelector(&quot;#area1&quot;).innerHTML += &quot;test1()함수 실행됨&lt;hr&gt;&quot;;
}</code></pre>
</blockquote>
<ul>
<li><code>function 함수명(매개변수, 매개변수)</code> 형식으로 함수를 선언합니다.</li>
<li>해당 함수는 어디서든 호출 가능하며, 미리 정의된 로직을 실행합니다.</li>
</ul>
<h2 id="2-익명-함수">2. 익명 함수</h2>
<p>익명 함수는 이름이 없는 함수로, 변수에 할당하거나 이벤트 핸들러로 사용할 수 있습니다.</p>
<h3 id="예제-코드-1">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">const btn = document.getElementById(&quot;btn&quot;);
btn.onclick = function(){
    document.getElementById(&quot;area2&quot;).innerHTML += &quot;이벤트 핸들러로 실행&lt;br&gt;&quot;;
}</code></pre>
</blockquote>
<ul>
<li>함수에 이름을 붙이지 않고 변수나 속성에 바로 할당하여 사용할 수 있습니다.</li>
<li>버튼 클릭 시 익명 함수가 실행됩니다.</li>
</ul>
<h2 id="3-함수의-매개변수">3. 함수의 매개변수</h2>
<p>함수는 매개변수를 받아서 그에 따라 동작을 달리할 수 있습니다. 전달된 값에 따라 함수의 실행 결과를 유동적으로 변경할 수 있습니다.</p>
<h3 id="예제-코드-2">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function test2(name, age, address, isTrue){
    console.log(arguments);
    document.getElementById(&quot;area3&quot;).innerHTML = name + &quot; &quot; + age + &quot; &quot; + address;
}</code></pre>
</blockquote>
<ul>
<li>매개변수를 통해 함수 실행 시 값을 전달할 수 있습니다.</li>
<li><code>arguments</code> 객체는 함수 호출 시 전달된 모든 매개변수를 배열 형태로 담고 있습니다.</li>
</ul>
<h2 id="4-함수를-매개변수로-활용">4. 함수를 매개변수로 활용</h2>
<p>함수를 다른 함수의 매개변수로 전달할 수 있습니다. 콜백 함수를 통해 비동기 처리나 함수의 실행을 제어할 수 있습니다.</p>
<h3 id="예제-코드-3">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function sendUserInfo(userInfo, callBack){
    let user = {
        name : &quot;전제민&quot;,
        age : 21,
    }
    callBack(user);
}
</code></pre>
</blockquote>
<p>sendUserInfo({userId: &quot;user01&quot;, userPwd: &quot;pass01&quot;}, function(userInfo){
    console.log(userInfo);
});</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>sendUserInfo</code> 함수는 콜백 함수 <code>callBack</code>을 매개변수로 받아, 특정 작업이 완료된 후 콜백 함수를 실행합니다.</li>
</ul>
<h2 id="5-this-키워드">5. this 키워드</h2>
<p><code>this</code>는 현재 객체를 가리키며, 함수 내부에서 동적으로 변할 수 있습니다. 특히 이벤트 핸들러 내에서 <code>this</code>는 해당 이벤트가 발생한 요소를 참조합니다.</p>
<h3 id="예제-코드-4">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function test3(tmp){
    console.log(tmp);
}</code></pre>
</blockquote>
<ul>
<li><code>this</code>는 함수 호출 시점에서 그 함수를 호출한 객체를 참조합니다.</li>
<li>HTML 요소 내에서 <code>this</code>를 사용하면 해당 요소를 참조합니다.</li>
</ul>
<h2 id="6-함수의-리턴">6. 함수의 리턴</h2>
<p>함수는 값을 반환할 수 있으며, 반환된 값은 함수 호출한 곳에서 사용 가능합니다.</p>
<h3 id="예제-코드-일반-값-반환">예제 코드 (일반 값 반환)</h3>
<blockquote>
<pre><code class="language-javascript">function ran(){
    const random = parseInt(Math.random() * 100 + 1);
    return random;
}
</code></pre>
</blockquote>
<p>function test5(){
    document.querySelector(&quot;#area5&quot;).innerHTML += &quot;랜덤값 : &quot; + ran() + &quot;<br>&quot;;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>return</code> 문을 사용하여 함수의 실행 결과를 반환할 수 있습니다.</li>
<li>이 함수는 1부터 100까지의 난수를 반환합니다.</li>
</ul>
<h3 id="예제-코드-함수-리턴">예제 코드 (함수 리턴)</h3>
<blockquote>
<pre><code class="language-javascript">function test6(){
    const inputE1 = document.getElementById(&quot;userName&quot;);

    let alFunk = function(){
        alert(inputE1.value);
    }

    return alFunk;
}</code></pre>
</blockquote>
<ul>
<li>함수는 다른 함수도 반환할 수 있습니다.</li>
<li>반환된 함수는 이후 호출되어 실행될 수 있습니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[3. JavaScript 요소(Content) 접근]]></title>
            <link>https://velog.io/@jam_developer1/3.-JavaScript-%EC%9A%94%EC%86%8CContent-%EC%A0%91%EA%B7%BC</link>
            <guid>https://velog.io/@jam_developer1/3.-JavaScript-%EC%9A%94%EC%86%8CContent-%EC%A0%91%EA%B7%BC</guid>
            <pubDate>Sun, 01 Sep 2024 08:58:12 GMT</pubDate>
            <description><![CDATA[<p>JavaScript를 사용하면 HTML 문서 내의 요소들에 접근하고, 이들의 스타일이나 내용을 동적으로 변경할 수 있습니다. 이번 글에서는 다양한 방법으로 HTML 요소에 접근하는 방법을 다루어 보겠습니다.</p>
<h2 id="1-아이디를-이용해서-요소-가져오기">1. 아이디를 이용해서 요소 가져오기</h2>
<p><code>id</code> 속성은 HTML 요소를 고유하게 식별하기 위해 사용됩니다. 이를 통해 특정 요소에 직접 접근할 수 있습니다.</p>
<h3 id="예제-코드">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function accessId(){
    let area1 = document.getElementById(&quot;area1&quot;);
</code></pre>
</blockquote>
<pre><code>area1.style.background = &quot;yellow&quot;;
area1.style.color = &quot;red&quot;;
area1.style.width = &quot;200px&quot;;
area1.style.height = &quot;200px&quot;;</code></pre><blockquote>
</blockquote>
<pre><code>area1.innerText = &quot;클릭된 area1 영역&quot;;</code></pre><p>}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>document.getElementById(&quot;아이디명&quot;)</code>을 사용하면 해당 <code>id</code>를 가진 요소에 접근할 수 있습니다.</li>
<li><code>style</code> 속성을 이용해 요소의 스타일을 동적으로 변경할 수 있습니다.</li>
<li><code>innerText</code>를 통해 요소의 텍스트를 수정할 수 있습니다.</li>
</ul>
<h2 id="2-태그명으로-요소-가져오기">2. 태그명으로 요소 가져오기</h2>
<p>HTML 문서에서 특정 태그를 가진 모든 요소를 가져오고 싶을 때, <code>getElementsByTagName()</code> 메서드를 사용할 수 있습니다.</p>
<h3 id="예제-코드-1">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function accessTagName(){
    let list = document.getElementsByTagName(&quot;li&quot;);
</code></pre>
</blockquote>
<pre><code>for(let i = 0; i &lt; list.length; i++){
    list[i].innerHTML = (i+1) + &quot;번째 요소입니다.&quot;;
    list[i].style.color = &quot;red&quot;;
}</code></pre><p>}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>document.getElementsByTagName(&quot;태그명&quot;)</code>을 사용하면 지정한 태그를 가진 모든 요소가 배열 형태로 반환됩니다.</li>
<li>반복문을 통해 각 요소에 접근하여 내용을 수정하거나 스타일을 변경할 수 있습니다.</li>
</ul>
<h2 id="3-name-속성값을-이용해서-요소-가져오기">3. <code>name</code> 속성값을 이용해서 요소 가져오기</h2>
<p><code>name</code> 속성은 보통 폼 요소에서 그룹화된 입력 필드를 참조할 때 사용됩니다. 이를 통해 동일한 <code>name</code>을 가진 요소들에 접근할 수 있습니다.</p>
<h3 id="예제-코드-2">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function allCheck(){
    let allCheckBox = document.getElementById(&quot;all&quot;);
    let hobbyList = document.getElementsByName(&quot;hobby&quot;);
</code></pre>
</blockquote>
<pre><code>for(let checkbox of hobbyList){
    checkbox.checked = allCheckBox.checked;
}</code></pre><p>}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>document.getElementsByName(&quot;name값&quot;)</code>을 사용하면 해당 <code>name</code>을 가진 모든 요소를 배열로 반환받습니다.</li>
<li>이를 활용해 여러 체크박스의 상태를 일괄적으로 제어할 수 있습니다.</li>
</ul>
<h2 id="4-class로-접근하기">4. <code>class</code>로 접근하기</h2>
<p>HTML 요소는 <code>class</code> 속성을 통해 그룹화할 수 있습니다. <code>class</code>로 요소에 접근할 때는 <code>getElementsByClassName()</code> 메서드를 사용합니다.</p>
<h3 id="예제-코드-3">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function accessClass(){
    let arr = document.getElementsByClassName(&quot;test&quot;);
</code></pre>
</blockquote>
<pre><code>for(let unit of arr){
    unit.innerHTML = &quot;text를 클래스로 가지고 있는 요소&quot;;
}</code></pre><p>}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>document.getElementsByClassName(&quot;클래스명&quot;)</code>을 사용하면 해당 <code>class</code>를 가진 모든 요소가 배열로 반환됩니다.</li>
<li>반환된 요소들에 접근하여 내용을 변경할 수 있습니다.</li>
</ul>
<h2 id="5-선택자-활용하기">5. 선택자 활용하기</h2>
<p>보다 복잡한 CSS 선택자를 사용하여 요소를 선택할 수 있습니다. 이때 <code>querySelector()</code>와 <code>querySelectorAll()</code>을 사용합니다.</p>
<h3 id="예제-코드-4">예제 코드</h3>
<blockquote>
<pre><code class="language-javascript">function accessSelector(){
    const divT1 = document.querySelector(&quot;#tmp1&quot;);
    const h2T1 = document.querySelectorAll(&quot;#tmp2 &gt; h2&quot;);
    const spanE1 = document.querySelector(&quot;#tmp2 + span&quot;);
</code></pre>
</blockquote>
<pre><code>console.log(divT1);
console.log(h2T1);
console.log(spanE1);</code></pre><p>}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>querySelector()</code>는 지정한 선택자와 일치하는 첫 번째 요소만을 반환합니다.</li>
<li><code>querySelectorAll()</code>은 지정한 선택자와 일치하는 모든 요소를 배열로 반환합니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[2. JavaScript 데이터 입출력]]></title>
            <link>https://velog.io/@jam_developer1/2.-JavaScript-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9E%85%EC%B6%9C%EB%A0%A5</link>
            <guid>https://velog.io/@jam_developer1/2.-JavaScript-%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%9E%85%EC%B6%9C%EB%A0%A5</guid>
            <pubDate>Sun, 01 Sep 2024 08:51:26 GMT</pubDate>
            <description><![CDATA[<p>JavaScript는 웹 페이지에서 사용자와의 상호작용을 가능하게 해줍니다. 이번 글에서는 JavaScript에서 데이터를 입력받고 출력하는 다양한 방법을 소개합니다.</p>
<h2 id="1-데이터를-출력하는-구문">1. 데이터를 출력하는 구문</h2>
<p>JavaScript에서 데이터를 출력하는 방법에는 여러 가지가 있습니다. 대표적인 출력 방법은 <code>alert</code>, <code>console.log</code>, <code>document.write</code>, 그리고 특정 HTML 요소의 <code>innerHTML</code>이나 <code>innerText</code> 속성을 사용하는 것입니다.</p>
<h3 id="1-alert">1) <code>alert()</code></h3>
<blockquote>
<pre><code class="language-javascript">// alert 창에 메시지 출력
alert(&quot;안녕하세요&quot;);</code></pre>
</blockquote>
<ul>
<li><code>alert()</code> 함수는 브라우저에서 간단한 경고창을 띄워줍니다.</li>
</ul>
<h3 id="2-consolelog">2) <code>console.log()</code></h3>
<blockquote>
<pre><code class="language-javascript">// 콘솔에 메시지 출력
console.log(&quot;콘솔에 입력&quot;);</code></pre>
</blockquote>
<ul>
<li><code>console.log()</code>는 개발자 도구의 콘솔에 메시지를 출력합니다. 디버깅 시 유용하게 사용됩니다.</li>
</ul>
<h3 id="3-documentwrite">3) <code>document.write()</code></h3>
<blockquote>
<pre><code class="language-javascript">function documentWrite(){
    let str = &quot;&lt;table border=&#39;1&#39;&gt;&quot;
            + &quot;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&quot;
            + &quot;&lt;/table&gt;&quot;;
    document.write(str);
}</code></pre>
</blockquote>
<ul>
<li><code>document.write()</code>는 페이지에 직접 HTML을 작성하여 출력합니다. HTML 태그도 포함될 수 있습니다.</li>
</ul>
<h3 id="4-innerhtml-및-innertext">4) <code>innerHTML</code> 및 <code>innerText</code></h3>
<blockquote>
<pre><code class="language-javascript">function tagValue(){
    let divE1 = document.getElementById(&quot;area1&quot;);
    divE1.innerHTML = &quot;&lt;h3&gt;속성이 변경됨&lt;/h3&gt;&quot;;
    divE1.style.background = &quot;yellow&quot;;
}</code></pre>
</blockquote>
<ul>
<li><code>innerHTML</code>은 선택한 요소의 HTML 콘텐츠를 가져오거나 설정합니다.</li>
<li><code>innerText</code>는 선택한 요소의 텍스트만을 가져오거나 설정합니다.</li>
</ul>
<h2 id="2-데이터를-입력받는-구문">2. 데이터를 입력받는 구문</h2>
<p>JavaScript에서는 사용자가 입력한 데이터를 받아올 수 있는 방법도 다양합니다. 그 중 가장 흔하게 사용되는 방법들은 <code>confirm()</code>, <code>prompt()</code>, 그리고 특정 요소의 <code>value</code> 속성입니다.</p>
<h3 id="1-confirm">1) <code>confirm()</code></h3>
<blockquote>
<pre><code class="language-javascript">function testConfirm(){
    let result = confirm(&quot;졸리면 확인, 아니면 취소&quot;);
    let divE2 = document.getElementById(&quot;area2&quot;);
    if(result){
        divE2.innerHTML = &quot;&lt;h3&gt;정신차리세요.&lt;/h3&gt;&quot;;
    }else{
        divE2.innerHTML = &quot;&lt;h3&gt;굳&lt;/h3&gt;&quot;;
    }
}</code></pre>
</blockquote>
<ul>
<li><code>confirm()</code> 함수는 사용자가 확인 또는 취소 버튼을 누를 수 있는 알림창을 띄웁니다. 사용자가 확인을 누르면 <code>true</code>, 취소를 누르면 <code>false</code>를 반환합니다.</li>
</ul>
<h3 id="2-prompt">2) <code>prompt()</code></h3>
<blockquote>
<pre><code class="language-javascript">function testPrompt(){
    let name = prompt(&quot;당신의 이름은 무엇입니까?&quot;);
    let age = prompt(&quot;당신의 나이는 몇 살입니까?&quot;);
    let divE3 = document.getElementById(&quot;area3&quot;);
    divE3.innerHTML = &quot;당신은 &quot; + age + &quot;살 &lt;b&gt;&quot; + name + &quot;&lt;/b&gt;이시군요.&quot;;
}</code></pre>
</blockquote>
<ul>
<li><code>prompt()</code> 함수는 사용자가 텍스트를 입력할 수 있는 창을 띄웁니다. 입력된 텍스트는 문자열로 반환되며, 취소를 누르면 <code>null</code>을 반환합니다.</li>
</ul>
<h3 id="3-특정-요소의-value-속성">3) 특정 요소의 <code>value</code> 속성</h3>
<blockquote>
<pre><code class="language-javascript">function testInput(){
    let input1 = document.getElementById(&quot;userId&quot;);
    let input2 = document.getElementById(&quot;userPwd&quot;);
</code></pre>
</blockquote>
<pre><code>console.log(&quot;아이디 &quot; + input1.value);
console.log(&quot;비밀번호 &quot; + input2.value);</code></pre><blockquote>
</blockquote>
<pre><code>let area4 = document.getElementById(&quot;area4&quot;);
area4.value = input1.value + &quot; &quot; + input2.value;</code></pre><blockquote>
</blockquote>
<pre><code>input1.value = &quot;&quot;;
input2.value = &quot;&quot;;</code></pre><p>}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li>입력 요소(<code>input</code>)의 <code>value</code> 속성은 사용자가 입력한 값을 가져오거나 설정할 수 있게 해줍니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[1. JavaScript 개요]]></title>
            <link>https://velog.io/@jam_developer1/1.-JavaScript-%EA%B0%9C%EC%9A%94</link>
            <guid>https://velog.io/@jam_developer1/1.-JavaScript-%EA%B0%9C%EC%9A%94</guid>
            <pubDate>Sun, 01 Sep 2024 08:43:51 GMT</pubDate>
            <description><![CDATA[<p>JavaScript는 웹 개발에서 필수적인 요소로, 웹 페이지에 동적 기능을 추가하는 스크립트 언어입니다. 이번 글에서는 JavaScript의 개요, 장단점, 그리고 기본적인 사용법에 대해 알아보겠습니다.</p>
<h2 id="1-스크립트-언어란">1. 스크립트 언어란?</h2>
<p>스크립트 언어는 프로그램의 동작을 사용자의 요구에 맞게 수행되도록 해주는 용도로 사용됩니다. 일반적으로 배우기 쉽고, 짧은 소스코드로 상호작용을 구현할 수 있도록 설계되어 있습니다.</p>
<h2 id="2-javascript">2. JavaScript</h2>
<p>JavaScript는 웹 브라우저에서 많이 사용되는 &quot;인터프리터 방식&quot;의 스크립트 언어입니다. 인터프리터 방식은 코드를 한 줄씩 읽어가며 바로 실행하는 방식으로, 실시간으로 텍스트를 분석해서 실행합니다. 이 방식은 문법 오류가 있는 경우, 실행 시점에서야 오류를 알려주는 특징이 있습니다.</p>
<pre><code class="language-html">&lt;!-- JavaScript를 외부 파일로 불러오는 방법 --&gt;
&lt;script src=&quot;resources/js/sample.js&quot;&gt;&lt;/script&gt;</code></pre>
<ul>
<li>외부에서 JavaScript 파일을 불러와서 사용할 수 있습니다.</li>
</ul>
<h2 id="3-javascript의-장단점">3. JavaScript의 장단점</h2>
<h3 id="장점">장점</h3>
<ol>
<li><strong>빠른 수행 속도</strong>: 컴파일 과정 없이 인터프리터로 코드를 한 줄씩 읽어가며 바로 실행하기 때문에 수행 속도가 빠릅니다.</li>
<li><strong>쉽고 간단한 코드 작성</strong>: 코드 작성이 간단하여 초보자가 접하기 쉬운 구조를 가지고 있습니다.<ul>
<li>예: 접근 제한 개념이 없고, 변수 선언 시 자료형을 미리 정해둘 필요가 없습니다.</li>
</ul>
</li>
</ol>
<h3 id="단점">단점</h3>
<ol>
<li><strong>웹에 특화된 기술</strong>: JavaScript는 웹에 특화되어 있어 내부에서 제공하는 기능이 제한적입니다.</li>
<li><strong>보안 취약점</strong>: HTML 소스코드와 함께 작성되면 외부에 공개될 수 있어 보안 취약점이 발생할 수 있습니다.</li>
</ol>
<h2 id="4-javascript-사용법">4. JavaScript 사용법</h2>
<p>JavaScript는 여러 가지 방법으로 웹 페이지에 포함될 수 있습니다. 여기서는 대표적인 세 가지 방법을 소개합니다.</p>
<h3 id="1-inline인라인">1) Inline(인라인)</h3>
<p>인라인 방식은 태그 내에서 간단한 소스코드를 작성하여 바로 실행되게 하는 방법입니다.</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<!-- 인라인 방식으로 이벤트 처리 -->
<p><button onclick="window.alert('알림창 출력 버튼 클릭!')">알림창 출력</button>
<button onclick="console.log('콘솔창 출력 버튼 클릭!')">콘솔 출력</button></p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li>버튼 클릭 시, <code>alert</code>와 <code>console.log</code>를 통해 각각 알림창과 콘솔에 메시지를 출력합니다.</li>
</ul>
<h3 id="2-internal내부">2) Internal(내부)</h3>
<p>Internal 방식은 HTML 문서 내의 <code>&lt;script&gt;</code> 태그 안에 JavaScript 코드를 작성하여 실행하는 방법입니다.</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<!-- 내부 스크립트 작성 -->
<p><button id="btn">알림창 출력</button>
<button onclick="btnClick()">콘솔 출력</button></p>
<blockquote>
</blockquote>
<script>
    // 자바스크립트 영역
    // 이벤트를 부여할 요소를 선택하여 변수에 담기
    let btn = document.getElementById("btn");
    btn.onclick = function(){
        window.alert("알림창 출력 버튼 클릭");
    }
>    
    // 함수 정의
    function btnClick(){
        console.log("콘솔 버튼 클릭");
    }
</script>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>getElementById</code> 메서드를 사용해 버튼 요소를 선택하고, 클릭 이벤트를 부여합니다.</li>
<li><code>btnClick</code> 함수는 콘솔에 메시지를 출력합니다.</li>
</ul>
<h3 id="3-external외부">3) External(외부)</h3>
<p>External 방식은 JavaScript 코드를 별도의 <code>.js</code> 파일로 작성하고, HTML 문서에서 해당 파일을 불러와 사용하는 방법입니다.</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<!-- 외부 스크립트 파일 호출 -->
<p><button onclick="test()">알림창 출력</button></p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>test()</code> 함수는 외부의 <code>sample.js</code> 파일에서 정의된 함수로, 버튼 클릭 시 실행됩니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[5. CSS 텍스트 관련 스타일]]></title>
            <link>https://velog.io/@jam_developer1/5.-CSS-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC-sirvailf</link>
            <guid>https://velog.io/@jam_developer1/5.-CSS-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC-sirvailf</guid>
            <pubDate>Sun, 01 Sep 2024 08:34:41 GMT</pubDate>
            <description><![CDATA[<p>웹페이지에서 텍스트의 스타일을 조절하는 것은 디자인의 중요한 요소 중 하나입니다.
이번 글에서는 CSS를 사용하여 텍스트의 색상, 줄 간격, 정렬, 장식 등 다양한 스타일을 설정하는 방법을 살펴보겠습니다.</p>
<h2 id="1-텍스트-색상-지정-color">1. 텍스트 색상 지정: <code>color</code></h2>
<p><code>color</code> 속성은 텍스트의 색상을 지정하는 데 사용됩니다. 색상은 이름, 16진수 코드, RGB, RGBA 등의 다양한 방식으로 표현할 수 있습니다.</p>
<h3 id="예제-코드와-설명">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#c {
    color: red;
    color: #f57230;
    color: rgb(15, 94, 48);
    color: rgba(15, 94, 48, 0.452);
}</code></pre>
</blockquote>
<ul>
<li><code>color: red;</code>: 텍스트를 빨간색으로 지정합니다.</li>
<li><code>color: #f57230;</code>: 텍스트를 16진수 코드를 사용해 주황색으로 지정합니다.</li>
<li><code>color: rgb(15, 94, 48);</code>: RGB 값을 사용해 초록색으로 지정합니다.</li>
<li><code>color: rgba(15, 94, 48, 0.452);</code>: RGBA 값을 사용해 투명도가 포함된 초록색으로 지정합니다.</li>
</ul>
<h2 id="2-텍스트-장식-text-decoration">2. 텍스트 장식: <code>text-decoration</code></h2>
<p><code>text-decoration</code> 속성은 텍스트에 밑줄, 취소선, 윗줄 등의 장식을 추가하거나 없앨 때 사용됩니다.</p>
<h3 id="예제-코드와-설명-1">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#td1 { text-decoration: underline; }
#td2 { text-decoration: line-through; }
#td3 { text-decoration: overline; }</code></pre>
</blockquote>
<ul>
<li><code>text-decoration: underline;</code>: 텍스트 아래에 밑줄을 긋습니다.</li>
<li><code>text-decoration: line-through;</code>: 텍스트 가운데에 취소선을 긋습니다.</li>
<li><code>text-decoration: overline;</code>: 텍스트 위에 윗줄을 긋습니다.</li>
</ul>
<h3 id="실습-예제">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<ul>
    <li id="td1">텍스트 영역 아래 줄 긋기</li>
    <li id="td2">텍스트 영역 중간에 줄 긋기</li>
    <li id="td3">텍스트 영역 위에 줄 긋기</li>
</ul>
>```

<ul>
<li>각 텍스트는 지정된 <code>text-decoration</code> 속성에 따라 밑줄, 취소선, 윗줄이 추가됩니다.</li>
</ul>
<h2 id="3-텍스트-정렬-text-align">3. 텍스트 정렬: <code>text-align</code></h2>
<p><code>text-align</code> 속성은 텍스트의 정렬 방식을 설정하는 데 사용됩니다. 왼쪽, 오른쪽, 중앙, 양쪽 정렬이 가능합니다.</p>
<h3 id="예제-코드와-설명-2">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<p style="text-align: left;">왼쪽 정렬된 텍스트입니다.</p>
<p style="text-align: justify;">양쪽 정렬된 텍스트입니다.</p>
<p style="text-align: center;">중앙 정렬된 텍스트입니다.</p>
<p style="text-align: right;">오른쪽 정렬된 텍스트입니다.</p>
>```

<ul>
<li><code>text-align: left;</code>: 텍스트를 왼쪽에 정렬합니다.</li>
<li><code>text-align: justify;</code>: 텍스트를 양쪽에 정렬합니다.</li>
<li><code>text-align: center;</code>: 텍스트를 중앙에 정렬합니다.</li>
<li><code>text-align: right;</code>: 텍스트를 오른쪽에 정렬합니다.</li>
</ul>
<h2 id="4-줄-간격-조절-line-height">4. 줄 간격 조절: <code>line-height</code></h2>
<p><code>line-height</code> 속성은 텍스트 줄 간격을 조절하는 데 사용됩니다. 이 속성은 텍스트의 가독성을 높이는 데 중요한 역할을 합니다.</p>
<h3 id="예제-코드와-설명-3">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">p {
    line-height: 30px;
}</code></pre>
</blockquote>
<ul>
<li><code>line-height: 30px;</code>: 텍스트의 줄 간격을 30픽셀로 설정합니다.</li>
</ul>
<h3 id="실습-예제-1">실습 예제</h3>
<pre><code class="language-html">&lt;p style=&quot;line-height: 30px;&quot;&gt;줄 간격이 30픽셀로 설정된 텍스트입니다.&lt;/p&gt;</code></pre>
<ul>
<li>이 텍스트는 줄 간격이 30픽셀로 설정되어 가독성이 높아집니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[4. CSS 글꼴 관련 스타]]></title>
            <link>https://velog.io/@jam_developer1/4.-CSS-%EA%B8%80%EA%BC%B4-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80</link>
            <guid>https://velog.io/@jam_developer1/4.-CSS-%EA%B8%80%EA%BC%B4-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80</guid>
            <pubDate>Sun, 01 Sep 2024 08:05:04 GMT</pubDate>
            <description><![CDATA[<p>CSS에서 글꼴과 관련된 스타일을 설정하는 방법은 웹 페이지의 디자인과 가독성에 큰 영향을 미칩니다.
이번 글에서는 글꼴을 설정하고, 크기와 굵기를 조절하는 방법을 살펴보겠습니다.</p>
<h2 id="1-글꼴-설정-font-family">1. 글꼴 설정: <code>font-family</code></h2>
<p><code>font-family</code> 속성은 텍스트의 글꼴을 지정하는 데 사용됩니다. 여러 글꼴을 쉼표로 구분하여 지정할 수 있으며, 지정한 글꼴이 없을 경우를 대비해 대체 글꼴을 나열하는 것이 좋습니다.</p>
<h3 id="예제-코드와-설명">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#ff1 {
    font-family: 궁서체;
    font-size: 24px;
}
</code></pre>
</blockquote>
<p>#ff2 {
    font-family: 고딕체;
}</p>
<blockquote>
</blockquote>
<p>#ff3 {
    font-family: &#39;Courier New&#39;, Courier, monospace;
}</p>
<blockquote>
</blockquote>
<p>#ff4 {
    font-family: &quot;Noto Sans KR&quot;, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>font-family: 궁서체;</code>: 텍스트를 &#39;궁서체&#39;로 표시합니다.</li>
<li><code>font-family: &#39;Courier New&#39;, Courier, monospace;</code>: 여러 글꼴을 지정하여, 첫 번째 글꼴이 없는 경우 다음 글꼴로 대체합니다.</li>
<li><code>font-family: &quot;Noto Sans KR&quot;, sans-serif;</code>: 웹폰트인 &quot;Noto Sans KR&quot;을 사용하며, 이 글꼴이 없을 경우 기본 sans-serif 글꼴로 표시합니다.</li>
</ul>
<h3 id="실습-예제">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<p id="ff1">글꼴 테스트</p>
<p id="ff2">글꼴 테스트</p>
<p id="ff3">글꼴 테스트</p>
<p id="ff4">글꼴테스트 Font Style Test</p>
>```

<ul>
<li>각 텍스트는 설정된 글꼴에 따라 표시됩니다.</li>
</ul>
<h3 id="웹폰트-사용">웹폰트 사용</h3>
<p>웹폰트를 사용하면 다양한 글꼴을 쉽게 적용할 수 있습니다. 예를 들어, Google Fonts를 이용해 원하는 글꼴을 사용할 수 있습니다.</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap" rel="stylesheet">
>```

<ul>
<li>이 코드는 &quot;Noto Sans KR&quot; 웹폰트를 불러오는 코드입니다. 웹 페이지에 포함하여 사용할 수 있습니다.</li>
</ul>
<h2 id="2-글꼴-크기-설정-font-size">2. 글꼴 크기 설정: <code>font-size</code></h2>
<p><code>font-size</code> 속성은 글꼴의 크기를 설정하는 데 사용됩니다. 크기는 <code>px</code>, <code>em</code>, <code>rem</code> 등 다양한 단위로 지정할 수 있습니다.</p>
<h3 id="예제-코드와-설명-1">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#ff1 {
    font-size: 24px;
}</code></pre>
</blockquote>
<ul>
<li><code>font-size: 24px;</code>: 글꼴 크기를 24픽셀로 설정합니다.</li>
</ul>
<h2 id="3-글꼴-굵기-설정-font-weight">3. 글꼴 굵기 설정: <code>font-weight</code></h2>
<p><code>font-weight</code> 속성은 글꼴의 굵기를 조절하는 데 사용됩니다. 기본적으로 <code>normal</code>, <code>bold</code>, <code>lighter</code>, <code>bolder</code> 등이 있으며, 숫자 값(100~900)을 사용하여 세밀하게 조정할 수도 있습니다.</p>
<h3 id="예제-코드와-설명-2">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#fw1 { font-weight: bold; }
#fw2 { font-weight: 900; }
#fw3 { font-weight: 100; }</code></pre>
</blockquote>
<ul>
<li><code>font-weight: bold;</code>: 텍스트를 굵게 표시합니다.</li>
<li><code>font-weight: 900;</code>: 텍스트를 매우 굵게 표시합니다.</li>
<li><code>font-weight: 100;</code>: 텍스트를 매우 얇게 표시합니다.</li>
</ul>
<h3 id="실습-예제-1">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<ul>
    <li>원래굵기</li>
    <li id="fw1">굵은 글꼴로 변경</li>
    <li id="fw2">원래 굵기보다 더 굵게</li>
    <li id="fw3">원래 굵기보다 더 얇게</li>
</ul>
>```

<ul>
<li>각 항목은 설정된 <code>font-weight</code> 속성에 따라 굵기가 다르게 표시됩니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[8. CSS Flexbox]]></title>
            <link>https://velog.io/@jam_developer1/8.-CSS-Flexbox</link>
            <guid>https://velog.io/@jam_developer1/8.-CSS-Flexbox</guid>
            <pubDate>Thu, 29 Aug 2024 10:16:57 GMT</pubDate>
            <description><![CDATA[<p>CSS의 Flexbox는 웹페이지 레이아웃을 효율적으로 구성할 수 있는 도구입니다. Flexbox를 사용하면 요소들을 부모 컨테이너 안에서 유연하게 정렬하고 배치할 수 있습니다.</p>
<h2 id="1-flexbox-기본-설정-display-flex">1. Flexbox 기본 설정: <code>display: flex</code></h2>
<p>Flexbox를 사용하려면 먼저 부모 요소에 <code>display: flex</code>를 설정합니다. 이로 인해 자식 요소들이 Flex 컨테이너의 영향을 받게 됩니다.</p>
<h3 id="예제-코드와-설명">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">.container {
    border: 3px solid black;
    display: flex;
    flex-direction: row;
}</code></pre>
</blockquote>
<ul>
<li><code>display: flex;</code>: 부모 요소를 Flex 컨테이너로 만듭니다.</li>
<li><code>flex-direction: row;</code>: 자식 요소들을 수평으로 배치합니다. 다른 옵션으로는 <code>column</code>(수직), <code>row-reverse</code>, <code>column-reverse</code>가 있습니다.</li>
</ul>
<h3 id="실습-예제">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<div class="container">
    <div class="flex-item item1">1번</div>
    <div class="flex-item item2">2번</div>
    <div class="flex-item item3">3번</div>
</div>
>```

<ul>
<li>위 코드는 세 개의 자식 요소를 수평으로 배치합니다.</li>
</ul>
<h2 id="2-flex-아이템의-크기와-정렬">2. Flex 아이템의 크기와 정렬</h2>
<p>Flex 아이템의 크기와 정렬은 매우 유연하게 설정할 수 있습니다. <code>flex</code> 속성을 사용하면 각 아이템의 크기를 유연하게 조절할 수 있습니다.</p>
<h3 id="예제-코드와-설명-1">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">.flex-item {
    color: black;
    font-size: 50px;
    padding: 24px;
    text-align: center;
    border: 1px solid red;
    width: 100px;
    flex: 1;
}</code></pre>
</blockquote>
<ul>
<li><code>flex: 1;</code>: 각 아이템이 Flex 컨테이너 내에서 동일한 비율로 공간을 차지하도록 합니다.</li>
</ul>
<h3 id="실습-예제-1">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<div class="container">
    <div class="flex-item item1">1번</div>
    <div class="flex-item item2">2번</div>
    <div class="flex-item item3">3번</div>
</div>
>```

<ul>
<li>각 아이템이 컨테이너 내에서 동일한 공간을 차지합니다.</li>
</ul>
<h2 id="3-flexbox의-고급-정렬-justify-content와-align-items">3. Flexbox의 고급 정렬: <code>justify-content</code>와 <code>align-items</code></h2>
<p>Flexbox는 주축과 교차축을 기준으로 요소를 정렬할 수 있습니다. <code>justify-content</code>와 <code>align-items</code> 속성을 사용하면 요소들이 어떻게 정렬될지 결정할 수 있습니다.</p>
<h3 id="예제-코드와-설명-2">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">.container2 {
    border: 3px solid black;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}</code></pre>
</blockquote>
<ul>
<li><code>justify-content: space-between;</code>: 자식 요소들이 주축(가로축)을 기준으로 양 끝에 배치되며, 요소 간의 간격을 균등하게 조절합니다.</li>
<li><code>align-items: center;</code>: 자식 요소들이 교차축(세로축) 기준으로 가운데 정렬됩니다.</li>
</ul>
<h3 id="실습-예제-2">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<div class="container2">
    <div class="flex-item2 item1">1번</div>
    <div class="flex-item2 item2">2번</div>
    <div class="flex-item2 item3">3번</div>
    <div class="flex-item2 item4">4번</div>
    <div class="flex-item2 item5">5번</div>
    <div class="flex-item2 item6">6번</div>
</div>
>```

<ul>
<li>여러 개의 아이템이 Flexbox의 주축과 교차축에 따라 균등하게 정렬됩니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[7. CSS 레이아웃 관련 스타일]]></title>
            <link>https://velog.io/@jam_developer1/7.-CSS-%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC</link>
            <guid>https://velog.io/@jam_developer1/7.-CSS-%EB%A0%88%EC%9D%B4%EC%95%84%EC%9B%83-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC</guid>
            <pubDate>Thu, 29 Aug 2024 09:29:19 GMT</pubDate>
            <description><![CDATA[<p>웹 페이지에서 레이아웃을 구성하는 것은 매우 중요합니다. CSS는 다양한 스타일 속성을 통해 요소의 크기, 배치, 가시성 등을 조절할 수 있게 해줍니다. 이번 글에서는 이러한 CSS 레이아웃 관련 스타일을 다루어보겠습니다.</p>
<h2 id="1-요소의-크기-조절-width와-height">1. 요소의 크기 조절: <code>width</code>와 <code>height</code></h2>
<p><code>width</code>와 <code>height</code> 속성은 요소의 가로와 세로 길이를 설정하는 데 사용됩니다. 고정 크기(px) 또는 가변 크기(%)로 설정할 수 있습니다.</p>
<h3 id="예제-코드와-설명">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">.size-test {
    border: 1px solid red;
}
</code></pre>
</blockquote>
<p>#test1 {
    width: 400px;
    height: 200px;
}</p>
<blockquote>
</blockquote>
<p>#test2 {
    width: calc(100% - 100px);
    height: 150px;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>#test1</code>: 고정된 크기(px)를 설정하여 요소의 가로, 세로 크기를 지정했습니다.</li>
<li><code>#test2</code>: 가변 크기(%)를 사용하여 부모 요소 크기의 100%에서 100px을 뺀 크기로 설정했습니다.</li>
</ul>
<h3 id="실습-예제">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>width, height</h3>
<p>기본적으로 내용을 차지하는 content영역의 가로, 세로 길이를 조정하는데 사용하는 스타일</p>
>
<h4>고정크기(px)</h4>
<div id="test1" class="size-test"></div>
>
<h4>가변크기(%)</h4>
<div id="test2" class="size-test"></div>
>```

<ul>
<li>고정 크기와 가변 크기를 설정하여 요소의 크기를 조절할 수 있습니다.</li>
</ul>
<h2 id="2-화면-배치-방법-display">2. 화면 배치 방법: <code>display</code></h2>
<p><code>display</code> 속성은 요소가 화면에 배치되는 방식을 결정합니다. <code>inline</code>, <code>block</code>, <code>inline-block</code> 등이 있습니다.</p>
<h3 id="예제-코드와-설명-1">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">.display-test {
    border: 1px solid black;
    width: 150px;
    height: 150px;
}
</code></pre>
</blockquote>
<p>.inline {
    display: inline;
}</p>
<blockquote>
</blockquote>
<p>.inline-block {
    display: inline-block;
}</p>
<blockquote>
</blockquote>
<p>.block {
    display: block;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>inline</code>: 요소가 다른 요소와 한 줄에 배치되며, 크기 조절이 불가능합니다.</li>
<li><code>block</code>: 요소가 한 줄 전체를 차지하며, 크기 조절이 가능합니다.</li>
<li><code>inline-block</code>: inline과 block의 특성을 결합하여 한 줄에 배치되면서도 크기 조절이 가능합니다.</li>
</ul>
<h3 id="실습-예제-1">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>display : 화면 배치 방법 변경</h3>
>
<h4>display : inline</h4>
<div class="display-test red inline">첫번째</div>
<div class="display-test yellow inline">두번째</div>
<div class="display-test pink inline">세번째</div>
>
<h4>display : block</h4>
<div class="display-test red block">첫번째</div>
<div class="display-test yellow block">두번째</div>
<div class="display-test pink block">세번째</div>
>
<h4>display : inline-block</h4>
<div class="display-test red inline-block">첫번째</div>
<div class="display-test yellow inline-block">두번째</div>
<div class="display-test pink inline-block">세번째</div>
>```

<ul>
<li><code>display</code> 속성을 사용해 요소를 인라인, 블록, 인라인-블록으로 배치할 수 있습니다.</li>
</ul>
<h2 id="3-요소의-위치-조절-position">3. 요소의 위치 조절: <code>position</code></h2>
<p><code>position</code> 속성은 요소를 특정 위치에 배치하는 데 사용됩니다. <code>relative</code>, <code>absolute</code>, <code>fixed</code> 등이 있습니다.</p>
<h3 id="예제-코드와-설명-2">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">.outer {
    position: relative; /* 기준 */
    border: 1px solid black;
}
</code></pre>
</blockquote>
<p>#first {
    width: 300px;
    height: 300px;
    background: yellow;
}</p>
<blockquote>
</blockquote>
<p>#second {
    width: 200px;
    height: 200px;
    background: yellowgreen; 
    position: absolute; /* 내가 원하는 위치에 두기 */
    left: 50px;
    top: 50px;
}</p>
<blockquote>
</blockquote>
<p>#third {
    width: 100px;
    height: 100px;
    background: red;
    position: absolute;
    top: 100px;
    left: 100px;
}</p>
<blockquote>
</blockquote>
<p>#fixed-area {
    width: 100px;
    height: 100px;
    background: blue;
    position: fixed;
    right: 20px;
    bottom: 20px;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>relative</code>: 요소를 기준 위치에서 상대적으로 이동시킵니다.</li>
<li><code>absolute</code>: 부모 요소를 기준으로 절대 위치에 배치합니다.</li>
<li><code>fixed</code>: 화면의 특정 위치에 고정하여 스크롤에도 위치가 변하지 않습니다.</li>
</ul>
<h3 id="실습-예제-2">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>position: 상대위치(relative)와 절대위치(absolute)</h3>
<div class="outer">
    <div class="positioning" id="first">첫번째 자식</div>
    <div class="positioning" id="second">두번째 자식</div>
    <div class="positioning" id="third">세번째 자식</div>
</div>
>
<h3>position: 고정위치(fixed)</h3>
<div class="positioning" id="fixed-area"></div>
>```

<ul>
<li><code>position</code> 속성을 사용해 요소를 상대적, 절대적, 고정 위치에 배치할 수 있습니다.</li>
</ul>
<h2 id="4-가시성-제어-visibility와-opacity">4. 가시성 제어: <code>visibility</code>와 <code>opacity</code></h2>
<p><code>visibility</code>와 <code>opacity</code> 속성은 요소의 가시성을 제어합니다. 요소를 숨기거나 투명도를 조절할 수 있습니다.</p>
<h3 id="예제-코드와-설명-3">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">.vis-test {
    width: 100px;
    height: 100px;
}
</code></pre>
</blockquote>
<p>.opacity-zero {
    opacity: 0;
}</p>
<blockquote>
</blockquote>
<p>.hidden {
    visibility: hidden;
}</p>
<blockquote>
</blockquote>
<p>.none {
    display: none;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>opacity: 0;</code>: 요소를 완전히 투명하게 만들어 보이지 않게 합니다.</li>
<li><code>visibility: hidden;</code>: 요소를 보이지 않게 하지만, 레이아웃에서 공간을 차지합니다.</li>
<li><code>display: none;</code>: 요소를 완전히 제거하여 레이아웃에서도 사라지게 합니다.</li>
</ul>
<h3 id="실습-예제-3">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>visibility: 특정요소를 보이거나 보이지 않게하는 스타일 속성</h3>
<div class="vis-test" style="background: red; opacity: 0;">첫번째 영역</div>
<div class="vis-test" style="background: green; visibility: hidden;">두번째 영역</div>
<div class="vis-test" style="background: yellow; display: none;">세번째 영역</div>
>```

<ul>
<li>요소의 가시성을 조절하여 화면에 보이게 하거나 숨길 수 있습니다.</li>
</ul>
<h2 id="5-요소의-정렬-float">5. 요소의 정렬: <code>float</code></h2>
<p><code>float</code> 속성은 요소를 왼쪽 또는 오른쪽으로 띄워서 다른 요소들과 함께 배치할 수 있도록 합니다.</p>
<h3 id="예제-코드와-설명-4">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">.float-test {
    border: 1px solid black;
    width: 70px;
    height: 30px;
    float: left;
}</code></pre>
</blockquote>
<ul>
<li><code>float: left;</code>: 요소를 왼쪽으로 띄워서 배치합니다.</li>
</ul>
<h3 id="실습-예제-4">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>float</h3>
<p>페이지 내의 요소들을 띄워서 화면으로부터 왼쪽 또는 오른쪽으로 배치하는 속성</p>
>
<div class="float-test">요소1</div>
<div class="float-test">요소2</div>
<div class="float-test">요소3</div>
<div class="float-test">요소4</div>
<div class="float-test">요소5</div>
>```

<ul>
<li><code>float</code> 속성을 사용해 요소를 좌우로 정렬할 수 있습니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[6. CSS 영역 관련 스타일]]></title>
            <link>https://velog.io/@jam_developer1/6.-CSS-%EC%98%81%EC%97%AD-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC</link>
            <guid>https://velog.io/@jam_developer1/6.-CSS-%EC%98%81%EC%97%AD-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC</guid>
            <pubDate>Wed, 28 Aug 2024 23:59:24 GMT</pubDate>
            <description><![CDATA[<p>CSS에서 요소의 영역을 다루는 것은 웹 디자인의 기본입니다. 영역 스타일은 콘텐츠의 배치, 여백, 테두리, 배경 등을 설정하여 레이아웃을 구성하는 데 중요한 역할을 합니다. 이번 글에서는 CSS의 영역 관련 스타일 속성들을 살펴보겠습니다.</p>
<h2 id="1-요소의-기본-구조">1. 요소의 기본 구조</h2>
<p>CSS에서 요소의 영역은 <code>content(내용)</code> + <code>padding(내부 여백)</code> + <code>border(테두리)</code>로 구성됩니다. 이를 통해 요소 간의 간격을 조절하고, 레이아웃을 정리할 수 있습니다.</p>
<h3 id="예제-코드와-설명">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">body {
    margin: 0px;
}
</code></pre>
</blockquote>
<p>.test {
    background: yellow;
    width: 100px;
    height: 100px;
    border: 10px solid black;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>body</code> 요소는 기본 여백(margin)을 없애기 위해 <code>margin: 0px;</code>로 설정했습니다.</li>
<li><code>.test</code> 클래스는 기본적인 배경색, 크기, 테두리를 설정한 div 요소입니다.</li>
</ul>
<h3 id="실습-예제">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h2>요소 영역 --> content(내용) + padding(여백) + border(테두리)</h2>
<h4>기존 div</h4>
<div class="test">기존 div</div>
>```

<ul>
<li>이 코드에서는 요소가 배경색과 테두리를 갖춘 기본 div로 렌더링됩니다.</li>
</ul>
<h2 id="2-내부-여백padding">2. 내부 여백(padding)</h2>
<p><code>padding</code> 속성은 요소의 내용(content)과 테두리(border) 사이의 거리를 조절하는 데 사용됩니다. 다양한 방식으로 padding을 설정하여 원하는 레이아웃을 만들 수 있습니다.</p>
<h3 id="예제-코드와-설명-1">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#test1 {
    padding: 100px; /* 사방으로 100px */
}
</code></pre>
</blockquote>
<p>#test2 {
    padding-top: 100px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 10px;
}</p>
<blockquote>
</blockquote>
<p>#test3 {
    padding: 100px 20px 30px 10px; /* 위에서부터 시계 방향으로 <em>/
    padding: 100px 50px; /</em> 위아래 양쪽 */
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>#test1</code>: 사방에 100px의 padding을 적용합니다.</li>
<li><code>#test2</code>: 각각의 방향에 대해 다른 값을 설정합니다.</li>
<li><code>#test3</code>: 시계 방향으로 padding을 설정하고, 간소화된 문법으로 위아래 양쪽에 동일한 padding을 적용합니다.</li>
</ul>
<h3 id="실습-예제-1">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>padding</h3>
<p>내용물 영역(content)과 테두리 영역(border) 사이의 거리를 조절하는 스타일 속성</p>
<div class="test" id="test1">컨텐츠 영역</div>
<div class="test" id="test2">컨텐츠 영역</div>
<div class="test" id="test3">컨텐츠 영역</div>
>```

<ul>
<li>padding을 통해 요소의 내부 여백을 설정할 수 있습니다.</li>
</ul>
<h2 id="3-외부-여백margin">3. 외부 여백(margin)</h2>
<p><code>margin</code> 속성은 요소 간의 간격을 조절하는 데 사용됩니다. padding과는 달리 요소 외부의 여백을 조절합니다.</p>
<h3 id="예제-코드와-설명-2">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#test4 {
    margin: 50px;
}
</code></pre>
</blockquote>
<p>#test5 {
    margin-top: 50px;
    margin-left: 10px;
    margin: 100px 20px 30px 10px;
}</p>
<blockquote>
</blockquote>
<p>#test6 {
    margin: auto;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><code>#test4</code>: 모든 방향에 50px의 margin을 적용합니다.</li>
<li><code>#test5</code>: 각각의 방향에 대해 다른 margin 값을 설정합니다.</li>
<li><code>#test6</code>: <code>auto</code>로 설정해, 요소를 가운데 정렬합니다.</li>
</ul>
<h3 id="실습-예제-2">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>margin</h3>
<p>타 요소들 간의 간격을 조절할 때 사용</p>
<div class="test" id="test4">컨텐츠 영역</div>
<div class="test" id="test5">컨텐츠 영역</div>
<div class="test" id="test6">컨텐츠 영역</div>
>```

<ul>
<li>margin을 이용해 요소 간의 외부 여백을 설정할 수 있습니다.</li>
</ul>
<h2 id="4-테두리border">4. 테두리(border)</h2>
<p><code>border</code> 속성은 요소의 테두리를 정의합니다. 테두리의 두께, 스타일, 색상을 설정하여 다양한 시각적 효과를 줄 수 있습니다.</p>
<h3 id="예제-코드와-설명-3">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#test7 {
    border: 1px solid black;
    border-width: 5px;
    border-style: double;
    border-color: aquamarine;
    border-left: 1px solid black;
    border-right-color: blue;
}</code></pre>
</blockquote>
<ul>
<li><code>#test7</code>: 테두리의 두께, 스타일, 색상을 각각 설정하여 테두리를 구성합니다.</li>
</ul>
<h3 id="실습-예제-3">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>테두리</h3>
<div class="test" id="test7">컨텐츠 영역</div>
>```

<ul>
<li>테두리를 이용해 요소의 경계선을 정의할 수 있습니다.</li>
</ul>
<h2 id="5-배경-스타일background">5. 배경 스타일(background)</h2>
<p><code>background</code> 속성은 요소의 배경색이나 배경 이미지를 설정하는 데 사용됩니다. 배경 이미지의 위치, 반복 여부 등을 세부적으로 설정할 수 있습니다.</p>
<h3 id="예제-코드와-설명-4">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#test8 {
    width: 1000px;
    height: 500px;
    border-width: 10px;
    box-sizing: border-box;
    background-color: aqua;
    background-image: url(&#39;https://menu.mtn.co.kr/upload/article/2024/08/26/2024082612473657679_00_169.jpg&#39;);
    background-repeat: no-repeat;
    background-position: 100px 50px 10px;
}</code></pre>
</blockquote>
<ul>
<li><code>#test8</code>: 배경 색상과 이미지를 설정하고, 이미지의 위치와 반복 여부를 정의합니다.</li>
</ul>
<h3 id="실습-예제-4">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>배경관련 스타일</h3>
<div class="test" id="test8">배경</div>
>```

<ul>
<li>배경 이미지를 설정하고 다양한 속성을 통해 시각적 효과를 줄 수 있습니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[5. CSS 텍스트 관련 스타일]]></title>
            <link>https://velog.io/@jam_developer1/5.-CSS-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC</link>
            <guid>https://velog.io/@jam_developer1/5.-CSS-%ED%85%8D%EC%8A%A4%ED%8A%B8-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC</guid>
            <pubDate>Wed, 28 Aug 2024 09:07:31 GMT</pubDate>
            <description><![CDATA[<p>CSS를 통해 텍스트 색상, 정렬, 줄 간격 등 다양한 스타일 속성을 이용해 텍스트를 꾸밀 수 있습니다. 이번 글에서는 CSS의 텍스트 관련 스타일 속성들을 살펴보겠습니다.</p>
<h2 id="1-텍스트-색상-지정-color">1. 텍스트 색상 지정: <code>color</code></h2>
<p><code>color</code> 속성은 텍스트의 색상을 지정하는 데 사용됩니다. 색상은 기본 색상명, 16진수 코드, RGB, RGBA 값 등 다양한 방법으로 지정할 수 있습니다.</p>
<h3 id="예제-코드와-설명">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#c {
    color: red;
    color: #f57230;
    color: rgb(15, 94, 48);
    color: rgba(15, 94, 48, 0.452);
}</code></pre>
</blockquote>
<ul>
<li><code>#c</code> 요소에 다양한 방식으로 색상을 지정했습니다.</li>
<li><strong>red</strong>: 기본 색상명</li>
<li><strong>#f57230</strong>: 16진수 색상 코드</li>
<li><strong>rgb(15, 94, 48)</strong>: RGB 색상 값</li>
<li><strong>rgba(15, 94, 48, 0.452)</strong>: 투명도를 포함한 RGBA 색상 값</li>
</ul>
<h3 id="실습-예제">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h2>color : 텍스트 색상 지정</h2>
<pre id="c">
    선택자{
        color: 색상명 | #16진수(코드값) | rgb(x,x,x) | rgba(x,x,x,x) 
    }
</pre>
>```

<ul>
<li>다양한 색상 지정 방법을 이용해 텍스트의 색상을 설정할 수 있습니다.</li>
</ul>
<h2 id="2-텍스트에-줄-긋기-text-decoration">2. 텍스트에 줄 긋기: <code>text-decoration</code></h2>
<p><code>text-decoration</code> 속성은 텍스트에 줄을 긋거나 줄을 없애는 데 사용됩니다. <code>underline</code>, <code>overline</code>, <code>line-through</code> 등 다양한 옵션을 제공하여 텍스트를 꾸밀 수 있습니다.</p>
<h3 id="예제-코드와-설명-1">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#td1 { text-decoration: underline; }
#td2 { text-decoration: line-through; }
#td3 { text-decoration: overline; }</code></pre>
</blockquote>
<ul>
<li><code>#td1</code>: 텍스트 아래에 줄을 긋습니다.</li>
<li><code>#td2</code>: 텍스트 가운데에 줄을 긋습니다.</li>
<li><code>#td3</code>: 텍스트 위에 줄을 긋습니다.</li>
</ul>
<h3 id="실습-예제-1">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h2>text-decoration : 텍스트에 줄을 긋거나 줄을 없앨 때 사용</h2>
<pre>
    선택자{
        text-decoration : none | underline | overline | line-through;
    }
</pre>
>
<ul>
    <li id="td1">텍스트 영역 아래 줄 긋기</li>
    <li id="td2">텍스트 영역 중간에 줄 긋기</li>
    <li id="td3">텍스트 영역 위에 줄 긋기</li>
</ul>
>```

<ul>
<li>텍스트에 다양한 방식으로 줄을 그어 시각적 효과를 줄 수 있습니다.</li>
</ul>
<h2 id="3-텍스트-정렬-text-align">3. 텍스트 정렬: <code>text-align</code></h2>
<p><code>text-align</code> 속성은 텍스트를 좌우 또는 중앙에 정렬할 때 사용됩니다. <code>left</code>, <code>right</code>, <code>center</code>, <code>justify</code> 등의 값을 사용하여 텍스트를 원하는 위치에 정렬할 수 있습니다.</p>
<h3 id="예제-코드와-설명-2">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">p {
    text-align: left;
    text-align: right;
    text-align: center;
    text-align: justify;
}</code></pre>
</blockquote>
<ul>
<li><strong>left</strong>: 텍스트를 왼쪽으로 정렬합니다.</li>
<li><strong>right</strong>: 텍스트를 오른쪽으로 정렬합니다.</li>
<li><strong>center</strong>: 텍스트를 중앙으로 정렬합니다.</li>
<li><strong>justify</strong>: 텍스트를 양쪽 정렬합니다.</li>
</ul>
<h3 id="실습-예제-2">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>text-align : 텍스트 정렬할 때 사용</h3>
<pre>
    선택자{
        text-align: left(기본값) | right | center | justify
    }
</pre>
>
<h4>왼쪽정렬(기본값)</h4>
<p style="text-align: left;">텍스트 예제</p>
>
<h4>양쪽정렬</h4>
<p style="text-align: justify;">텍스트 예제</p>
>
<h4>중앙정렬</h4>
<p style="text-align: center;">텍스트 예제</p>
>
<h4>오른쪽정렬</h4>
<p style="text-align: right;">텍스트 예제</p>
>```

<ul>
<li>다양한 텍스트 정렬 방법을 통해 레이아웃을 조정할 수 있습니다.</li>
</ul>
<h2 id="4-줄-간격-조절-line-height">4. 줄 간격 조절: <code>line-height</code></h2>
<p><code>line-height</code> 속성은 텍스트 줄 간격을 조절할 때 사용됩니다. 픽셀 단위, em 단위, 백분율 등 다양한 단위를 사용하여 줄 간격을 조정할 수 있습니다.</p>
<h3 id="예제-코드와-설명-3">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">p {
    line-height: normal;
    line-height: 30px;
}</code></pre>
</blockquote>
<ul>
<li><strong>normal</strong>: 기본 줄 간격으로 설정합니다.</li>
<li><strong>30px</strong>: 고정된 픽셀 단위로 줄 간격을 설정합니다.</li>
</ul>
<h3 id="실습-예제-3">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>line-height : 줄 간격 조절할 때 사용</h3>
>
<pre>
    선택자{
        line-height: normal | px | em | %
    }
</pre>
>
<h4>px고정단위 간격</h4>
<p style="line-height: 30px;">텍스트 예제</p>
>```

<ul>
<li>줄 간격을 조절하여 텍스트의 가독성을 높일 수 있습니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[4. CSS 글꼴 관련 스타일]]></title>
            <link>https://velog.io/@jam_developer1/4.-CSS-%EA%B8%80%EA%BC%B4-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC</link>
            <guid>https://velog.io/@jam_developer1/4.-CSS-%EA%B8%80%EA%BC%B4-%EA%B4%80%EB%A0%A8-%EC%8A%A4%ED%83%80%EC%9D%BC</guid>
            <pubDate>Tue, 27 Aug 2024 06:56:01 GMT</pubDate>
            <description><![CDATA[<p>CSS에서 텍스트의 스타일을 조정하는 것은 웹 디자인의 중요한 부분입니다.
이 글에서는 CSS를 이용해 글꼴을 설정하고, 글꼴의 크기와 굵기를 조절하는 방법에 대해 알아보겠습니다. </p>
<h2 id="글꼴-설정-font-family">글꼴 설정: <code>font-family</code></h2>
<p><code>font-family</code> 속성은 요소의 글꼴을 지정할 때 사용합니다. 여러 글꼴을 지정하면, 사용자의 시스템에 첫 번째 글꼴이 없을 경우 다음 글꼴이 적용됩니다.
웹 페이지에 적절한 글꼴을 사용하면 페이지의 가독성과 디자인이 크게 향상됩니다.</p>
<h3 id="예제-코드와-설명">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#ff1 {
    font-family: 궁서체;
    font-size: 24px;
}
</code></pre>
</blockquote>
<p>#ff2 {
    font-family: 고딕체;
}</p>
<blockquote>
</blockquote>
<p>#ff3 {
    font-family: &#39;Courier New&#39;, Courier, monospace;
}</p>
<blockquote>
</blockquote>
<p>#ff4 {
    font-family: &quot;Noto Sans KR&quot;, sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 24px;
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><p><code>#ff1</code>은 <strong>궁서체</strong> 글꼴을 사용하며, 글씨 크기는 24px입니다.</p>
</li>
<li><p><code>#ff2</code>은 <strong>고딕체</strong> 글꼴을 사용합니다.</p>
</li>
<li><p><code>#ff3</code>은 <strong>Courier New</strong> 글꼴을 사용하며, 이는 고정폭 글꼴입니다.</p>
</li>
<li><p><code>#ff4</code>는 구글 웹폰트를 이용한 <strong>Noto Sans KR</strong> 글꼴을 사용합니다. 또한 글꼴의 크기, 굵기, 스타일이 지정되어 있습니다.</p>
</li>
</ul>
<h3 id="실습-예제">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<p id="ff1">글꼴 테스트</p>
<p id="ff2">글꼴 테스트</p>
<p id="ff3">글꼴 테스트</p>
<p id="ff4">글꼴테스트 Font Style Test</p>
>```

<ul>
<li>각 <code>&lt;p&gt;</code> 태그에 다른 글꼴이 적용됩니다. 웹폰트를 사용하고자 할 경우, 구글 웹 폰트 사이트에서 필요한 폰트를 검색해 사용할 수 있습니다.</li>
</ul>
<h2 id="글꼴-크기-font-size">글꼴 크기: <code>font-size</code></h2>
<p><code>font-size</code> 속성은 글꼴의 크기를 조절합니다. 글꼴의 크기를 <strong>px</strong>(픽셀) 단위로 지정할 수 있으며, 반응형 웹 디자인에서는 <strong>em</strong>이나 <strong>rem</strong> 단위도 자주 사용됩니다.</p>
<h3 id="예제-코드와-설명-1">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#ff1 {
    font-size: 24px;
}</code></pre>
</blockquote>
<ul>
<li><code>#ff1</code>은 글꼴 크기가 24px로 지정되어 있습니다. 이 속성을 사용해 텍스트의 크기를 변경할 수 있습니다.</li>
</ul>
<h3 id="실습-예제-1">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>font-size : 글꼴의 크기를 변경할 때 사용</h3>
<pre>선택자{font-size : 크기(px, em, rm)}</pre>
>```

<ul>
<li><code>font-size</code> 속성으로 다양한 크기의 텍스트를 설정할 수 있습니다.</li>
</ul>
<h2 id="글꼴-굵기-font-weight">글꼴 굵기: <code>font-weight</code></h2>
<p><code>font-weight</code> 속성은 글꼴의 굵기를 설정합니다. 굵기는 <code>normal</code>, <code>bold</code>, <code>light</code> 등의 키워드 또는 숫자 값(100~900)을 사용하여 설정할 수 있습니다.</p>
<h3 id="예제-코드와-설명-2">예제 코드와 설명</h3>
<blockquote>
<pre><code class="language-css">#fw1 {font-weight: bold;}
#fw2 {font-weight: 900;}
#fw3 {font-weight: 100;}</code></pre>
</blockquote>
<ul>
<li><p><code>#fw1</code>은 글꼴이 <strong>굵게(bold)</strong> 설정되어 있습니다.</p>
</li>
<li><p><code>#fw2</code>는 글꼴이 <strong>가장 굵은(900)</strong> 설정입니다.</p>
</li>
<li><p><code>#fw3</code>은 글꼴이 <strong>가장 얇게(100)</strong> 설정되어 있습니다.</p>
</li>
</ul>
<h3 id="실습-예제-2">실습 예제</h3>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h1>font-weight : 글꼴의 굵기를 표현할 때 사용</h1>
<pre>선택자{font-weight : normal | bold | light}</pre>
>
<ul>
    <li>원래굵기</li>
    <li id="fw1">굵은 글꼴로 변경</li>
    <li id="fw2">원래 굵기보다 더 굵게</li>
    <li id="fw3">원래 굵기보다 더 얇게</li>
</ul>
>```

<ul>
<li>이 예제에서 <code>&lt;li&gt;</code> 태그에 적용된 <code>font-weight</code> 속성을 통해 글씨의 굵기가 어떻게 변하는지 확인할 수 있습니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[3. CSS 선택자 우선순위]]></title>
            <link>https://velog.io/@jam_developer1/3.-CSS-%EC%84%A0%ED%83%9D%EC%9E%90-%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84</link>
            <guid>https://velog.io/@jam_developer1/3.-CSS-%EC%84%A0%ED%83%9D%EC%9E%90-%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84</guid>
            <pubDate>Tue, 27 Aug 2024 06:36:55 GMT</pubDate>
            <description><![CDATA[<p>CSS에서는 여러 스타일이 동일한 요소에 적용될 때, 어떤 스타일이 우선적으로 적용될지를 결정하는 규칙이 존재합니다.
이 규칙을 <strong>선택자 우선순위</strong>라고 합니다. 우선순위를 이해하면 원하는 스타일을 정확하게 적용할 수 있으며, 불필요한 오류를 줄일 수 있습니다.</p>
<h2 id="기본-우선순위-규칙">기본 우선순위 규칙</h2>
<p>CSS의 기본적인 적용 순서는 <strong>위에서 아래로</strong>입니다. 
즉, 아래에 위치한 스타일이 위의 스타일을 덮어쓰게 됩니다. 하지만 동일한 요소에 여러 선택자가 적용될 경우, 선택자의 <strong>우선순위</strong>에 따라 스타일이 적용됩니다.</p>
<h3 id="선택자-우선순위">선택자 우선순위</h3>
<p>CSS에서 선택자의 우선순위는 다음과 같은 순서로 결정됩니다:</p>
<ol>
<li><strong>태그 선택자</strong> (예: <code>h1</code>, <code>p</code>)</li>
<li><strong>클래스 선택자</strong> (예: <code>.class1</code>)</li>
<li><strong>아이디 선택자</strong> (예: <code>#id1</code>)</li>
<li><strong>인라인 스타일</strong> (예: <code>&lt;h1 style=&quot;color: red;&quot;&gt;</code>)</li>
<li><strong><code>!important</code> 규칙</strong> </li>
</ol>
<p>위의 순서에 따라, 동일한 요소에 여러 스타일이 적용될 경우, 가장 높은 우선순위를 가진 스타일이 적용됩니다.</p>
<h3 id="예제-코드와-설명">예제 코드와 설명</h3>
<p>다음은 선택자 우선순위를 보여주는 예제입니다:</p>
<blockquote>
<pre><code class="language-css">h1 {
    background: pink;
}
</code></pre>
</blockquote>
<p>h1 {
    background: red;<br>    /* 동일한 요소에 중복된 선택자. 후자의 스타일이 적용됩니다. */
}</p>
<blockquote>
</blockquote>
<p>#id1 {
    background: blue;
    /* 아이디 선택자는 클래스 선택자보다 우선순위가 높습니다. */
}</p>
<blockquote>
</blockquote>
<p>.class1 {
    background: yellow;
    /* 클래스 선택자는 태그 선택자보다 우선순위가 높습니다. */
}</p>
<blockquote>
</blockquote>
<p>div {
    background: aqua!important;
    color: black;
    /* !important 규칙이 적용된 스타일은 최우선으로 적용됩니다. */
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><p>첫 번째 <code>h1</code> 선택자는 <code>background: pink;</code>를 지정합니다. 그러나 두 번째 <code>h1</code> 선택자가 바로 뒤에 위치해 있으므로, <code>background: red;</code>가 최종적으로 적용됩니다.</p>
</li>
<li><p><code>#id1</code> 선택자는 <code>background: blue;</code>를 지정합니다. 이 아이디 선택자는 클래스 선택자보다 우선순위가 높아, 클래스에서 지정한 스타일을 덮어씁니다.</p>
</li>
<li><p><code>.class1</code> 선택자는 <code>background: yellow;</code>를 지정합니다. 클래스 선택자는 태그 선택자보다 우선순위가 높습니다.</p>
</li>
<li><p><code>div</code> 선택자에 <code>background: aqua!important;</code>를 사용했습니다. <code>!important</code>는 모든 다른 우선순위 규칙보다 우선적으로 적용되므로, <code>background: aqua;</code>가 최종적으로 적용됩니다.</p>
</li>
</ul>
<h3 id="실습-예제">실습 예제</h3>
<p>다음 HTML 코드에서는 선택자 우선순위에 따라 스타일이 적용되는 것을 확인할 수 있습니다:</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h1>선택자 우선순위</h1>
<p>
    기본적으로 CSS는 위에서부터 아래로 적용됩니다.<br>
    동일한 요소에 다양한 선택자로 CSS를 부여한 경우 우선순위는 다음과 같습니다:<br>
    태그 선택자 → 클래스 선택자 → 아이디 선택자 → 인라인 스타일 방식 → `!important`
</p>
>
<div id="id1" class="class1">우선순위 테스트</div>
>```

<ul>
<li><p>이 코드에서는 <code>&lt;div&gt;</code> 요소에 <code>id=&quot;id1&quot;</code>과 <code>class=&quot;class1&quot;</code>이 적용되었습니다. 기본적으로 <code>#id1</code>의 스타일이 <code>.class1</code>의 스타일보다 우선합니다.</p>
</li>
<li><p>그러나, <code>div</code> 선택자에 <code>!important</code>를 사용했기 때문에, 해당 스타일이 최종적으로 적용됩니다.</p>
</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[2. CSS 기타 선택자]]></title>
            <link>https://velog.io/@jam_developer1/2.-CSS-%EA%B8%B0%ED%83%80-%EC%84%A0%ED%83%9D%EC%9E%90</link>
            <guid>https://velog.io/@jam_developer1/2.-CSS-%EA%B8%B0%ED%83%80-%EC%84%A0%ED%83%9D%EC%9E%90</guid>
            <pubDate>Tue, 27 Aug 2024 06:30:49 GMT</pubDate>
            <description><![CDATA[<p>CSS에서는 기본 선택자 외에도 다양한 기타 선택자를 제공하여 웹 페이지의 스타일을 더욱 세밀하게 제어할 수 있습니다. 이번 글에서는 속성 선택자, 자손 및 후손 선택자, 동위 선택자, 반응 선택자, 그리고 상태 선택자에 대해 설명하겠습니다.</p>
<h2 id="1-속성-선택자">1. 속성 선택자</h2>
<p>속성 선택자는 특정 속성과 그 값을 가진 HTML 요소를 선택할 때 사용됩니다. 선택자 뒤에 대괄호 <code>[]</code>를 사용하여 속성과 속성값을 지정합니다.</p>
<blockquote>
<pre><code class="language-css">선택자[속성  = 속성값]
선택자[속성 ~= 속성값]
선택자[속성 |= 속성값]
선택자[속성 ^= 속성값]
선택자[속성 $= 속성값]
선택자[속성 *= 속성값]{
    스타일 속성: 값;
    ...
}</code></pre>
</blockquote>
<ul>
<li><p><code>선택자[속성=값]</code>: 특정 속성에 특정 값을 가진 요소를 선택합니다.</p>
</li>
<li><p><code>선택자[속성~=값]</code>: 특정 속성에 지정된 단어를 포함하는 요소를 선택합니다.</p>
</li>
<li><p><code>선택자[속성|=값]</code>: 특정 속성 값이 지정된 값으로 시작하거나, <code>-</code>로 연결된 요소를 선택합니다.</p>
</li>
<li><p><code>선택자[속성^=값]</code>: 특정 속성 값이 지정된 값으로 시작하는 요소를 선택합니다.</p>
</li>
<li><p><code>선택자[속성$=값]</code>: 특정 속성 값이 지정된 값으로 끝나는 요소를 선택합니다.</p>
</li>
<li><p><code>선택자[속성*=값]</code>: 특정 속성 값에 지정된 값이 포함된 요소를 선택합니다.</p>
</li>
</ul>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<div class="div-class" name="name1">div1</div>
<div class="div-class" name="name2">div2</div>
<div class="div-class" name="name3 name1">div3</div>
<div class="class-div" name="name4">div4</div>
>```

<h2 id="2-자손-선택자와-후손-선택자">2. 자손 선택자와 후손 선택자</h2>
<p>자손 및 후손 선택자는 요소들 간의 관계를 기반으로 특정 요소를 선택할 때 사용됩니다.</p>
<blockquote>
<pre><code class="language-css">/* 자손 선택자 */
a &gt; b {
    스타일 속성: 값;
    ...
}
/* 후손 선택자 */
a b {
    스타일 속성: 값;
    ...
}</code></pre>
</blockquote>
<ul>
<li><p><code>a &gt; b</code>: <code>a</code> 요소의 바로 하위에 있는 <code>b</code> 요소만을 선택합니다.</p>
</li>
<li><p><code>a b</code>: <code>a</code> 요소의 모든 하위 요소 중에서 <code>b</code> 요소를 선택합니다.</p>
</li>
</ul>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<div id="test1">
    <h4>div의 자손이면서 후손입니다</h4>
    <h4>div의 자손이면서 후손입니다</h4>
    <ul>div의 자손이면서 후손입니다
        <li>ul태그의 자손이면서 div의 후손</li>
        <li>ul태그의 자손이면서 div의 후손</li>
    </ul>
</div>
>```


<h2 id="3-동위같은-레벨-선택자">3. 동위(같은 레벨) 선택자</h2>
<p>동위 선택자는 같은 레벨에 위치한 특정 요소를 선택할 때 사용됩니다.</p>
<blockquote>
<pre><code class="language-css">/* a 요소 바로 뒤에 있는 b 요소 하나만 선택 */
a + b {
    스타일 속성: 값;
    ...
}
/* a 요소 뒤에 있는 모든 b 요소를 선택 */
a ~ b {
    스타일 속성: 값;
    ...
}</code></pre>
</blockquote>
<ul>
<li><code>a + b</code>: <code>a</code> 요소 바로 뒤에 있는 <code>b</code> 요소 하나만을 선택합니다.</li>
<li><code>a ~ b</code>: <code>a</code> 요소 뒤에 있는 모든 <code>b</code> 요소를 선택합니다.</li>
</ul>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<div id="test2">div1</div>
<div>div2</div>
<div>div3</div>
<div>div4</div>
<ul>ul</ul>
<div>div5</div>
>```

<h2 id="4-반응-선택자">4. 반응 선택자</h2>
<p>반응 선택자는 사용자의 상호작용에 따라 스타일을 적용할 때 사용됩니다.</p>
<blockquote>
<pre><code class="language-css">/* 해당 요소가 클릭되었을 때 스타일 부여 */
선택자:active {
    스타일 속성: 값;
    ...
}
/* 해당 요소에 마우스가 올라갔을 때 스타일 부여 */
선택자:hover {
    스타일 속성: 값;
    ...
}</code></pre>
</blockquote>
<ul>
<li><code>선택자:active</code>: 요소가 클릭된 상태일 때 스타일을 적용합니다.</li>
<li><code>선택자:hover</code>: 요소에 마우스가 올라갔을 때 스타일을 적용합니다.</li>
</ul>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<div id="active-test" class="area">activetest</div>
<br><br>
<div id="hover-test" class="area">hovertest</div>
<br><br>
>```

<h2 id="5-상태-선택자">5. 상태 선택자</h2>
<p>상태 선택자는 요소의 상태에 따라 스타일을 적용할 때 사용됩니다.</p>
<blockquote>
<pre><code class="language-css">/* 체크된 상태의 요소 선택 */
선택자:checked {
    스타일 속성: 값;
    ...
}
/* 초점이 맞춰진 input 요소 선택 */
선택자:focus {
    스타일 속성: 값;
    ...
}
/* 활성화된 요소 선택 */
선택자:enabled {
    스타일 속성: 값;
    ...
}
/* 비활성화된 요소 선택 */
선택자:disabled {
    스타일 속성: 값;
    ...
}</code></pre>
</blockquote>
<ul>
<li><code>선택자:checked</code>: 체크된 상태의 요소에 스타일을 적용합니다.</li>
<li><code>선택자:focus</code>: 초점이 맞춰진 요소에 스타일을 적용합니다.</li>
<li><code>선택자:enabled</code>: 활성화된 요소에 스타일을 적용합니다.</li>
<li><code>선택자:disabled</code>: 비활성화된 요소에 스타일을 적용합니다.</li>
</ul>
<blockquote>
<pre><code class="language-html">&lt;input type=&quot;checkbox&quot; id=&quot;apple&quot;&gt;
&lt;label for=&quot;apple&quot;&gt;사과&lt;/label&gt;
</code></pre>
</blockquote>
<input type="checkbox" id="banana">
<label for="banana">바나나</label>
<br>
아이디: <input type="text" name="userID"> <br>
비밀번호: <input type="password" name="userPwd" id="">
<br><br>
>
<input type="button" value="클릭불가" disabled>
<button>클릭가능</button>
<button disabled>클릭기능사용불가</button>
>```]]></description>
        </item>
        <item>
            <title><![CDATA[1. CSS 기본선택자]]></title>
            <link>https://velog.io/@jam_developer1/1.-CSS-%EA%B8%B0%EB%B3%B8%EC%84%A0%ED%83%9D%EC%9E%90</link>
            <guid>https://velog.io/@jam_developer1/1.-CSS-%EA%B8%B0%EB%B3%B8%EC%84%A0%ED%83%9D%EC%9E%90</guid>
            <pubDate>Tue, 27 Aug 2024 06:22:04 GMT</pubDate>
            <description><![CDATA[<p>CSS(Cascading Style Sheets)는 웹 페이지의 스타일을 지정하는 언어입니다.
스타일을 적용할 HTML 요소를 선택하기 위해 다양한 선택자가 사용되며, 이를 통해 특정 요소에 원하는 스타일을 지정할 수 있습니다.</p>
<h2 id="선택자란">선택자란?</h2>
<p>CSS 선택자는 특정 HTML 요소를 선택하여 스타일을 적용하는 기능입니다.
선택자를 사용하여 HTML 요소를 선택하고, 해당 요소에 원하는 스타일을 지정할 수 있습니다.</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>선택자란?</h3>
<p>
   특정 html 요소를 선택하고자 할때 사용하는 기능<br>
   해당 요소를 선택해서 원하는 "스타일"과 "기능"을 적용시킬 수 있다.
</p>
>```

<ul>
<li>HTML 요소를 선택하여 스타일이나 기능을 적용할 때 사용됩니다.</li>
</ul>
<h2 id="1-모든전체-선택자-">1. 모든(전체) 선택자: <code>*</code></h2>
<p>전체 선택자는 문서 내의 모든 요소를 선택할 때 사용됩니다.</p>
<blockquote>
<pre><code class="language-css"></code></pre>
</blockquote>
<ul>
<li><p>{
  스타일속성: 값;
  스타일속성: 값;
  ...
}</p>
<blockquote>
<pre><code></code></pre></blockquote>
</li>
<li><p><code>*</code>: 문서의 모든 요소에 스타일을 적용할 때 사용됩니다.</p>
</li>
</ul>
<h2 id="2-태그-선택자-태그명">2. 태그 선택자: 태그명</h2>
<p>태그 선택자는 특정 태그를 선택하여 스타일을 적용합니다. 문서 내에 해당 태그가 여러 개 있을 경우, 모든 해당 태그에 동일한 스타일이 적용됩니다.</p>
<blockquote>
<pre><code class="language-css">태그명 {
    스타일속성: 값;
    ...
}</code></pre>
</blockquote>
<ul>
<li><code>태그명</code>: 문서 내 특정 태그(예: <code>h1</code>, <code>p</code>, <code>div</code>)에 스타일을 적용할 때 사용됩니다.</li>
</ul>
<h2 id="3-아이디-선택자-아이디">3. 아이디 선택자: <code>#아이디</code></h2>
<p>아이디 선택자는 특정 HTML 요소 하나만을 선택할 때 사용됩니다. 이때 선택하려는 요소에는 반드시 고유한 <code>id</code> 속성이 있어야 합니다.</p>
<blockquote>
<pre><code class="language-css">#id1 {
    color: skyblue;
}</code></pre>
</blockquote>
<pre><code>```html
&lt;ol&gt;
    &lt;li id=&quot;id1&quot;&gt;아이디선택자&lt;/li&gt;
    &lt;li&gt;아이디선택자&lt;/li&gt;
    &lt;li&gt;아이디선택자&lt;/li&gt;
    &lt;li&gt;아이디선택자&lt;/li&gt;
&lt;/ol&gt;
&gt;```

- `#아이디`: 특정 요소 하나에 스타일을 적용합니다. 문서 내에서 유일해야 합니다.

## 4. 클래스 선택자: `.클래스명`
클래스 선택자는 여러 요소에 동일한 스타일을 적용할 때 사용됩니다. 동일한 클래스를 여러 요소에 중복하여 사용할 수 있으며, 여러 개의 클래스를 한 요소에 적용할 수도 있습니다.

&gt;```css
.cl1 {
    color: blueviolet;
}
&gt;
.cl2 {
    font-size: 25px;
    color: black;
}
&gt;
.cl1.cl2 {
    background: beige;
}</code></pre><p>```html</p>
<ul>
    <li class="cl1">클래스1</li>
    <li class="cl2">클래스2</li>
    <li class="cl1 cl2">클래스3</li>
    <li class="cl2">클래스4</li>
    <li class="cl1">클래스5</li>
</ul>
>```

<ul>
<li><code>.클래스명</code>: 문서 내 여러 요소에 스타일을 적용할 때 사용됩니다.</li>
<li>여러 클래스를 조합하여 스타일을 복합적으로 적용할 수 있습니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[7. HTML 입력양식폼 관련 태그]]></title>
            <link>https://velog.io/@jam_developer1/7.-HTML-%EC%9E%85%EB%A0%A5%EC%96%91%EC%8B%9D%ED%8F%BC-%EA%B4%80%EB%A0%A8-%ED%83%9C%EA%B7%B8</link>
            <guid>https://velog.io/@jam_developer1/7.-HTML-%EC%9E%85%EB%A0%A5%EC%96%91%EC%8B%9D%ED%8F%BC-%EA%B4%80%EB%A0%A8-%ED%83%9C%EA%B7%B8</guid>
            <pubDate>Sun, 25 Aug 2024 06:58:01 GMT</pubDate>
            <description><![CDATA[<p>HTML에서 사용자로부터 데이터를 입력받기 위한 다양한 태그들이 존재합니다. 이 글에서는 HTML에서 자주 사용하는 입력 양식 태그들에 대해 알아보겠습니다.</p>
<h2 id="1-input-태그">1. input 태그</h2>
<p><code>input</code> 태그는 사용자가 값을 입력할 수 있는 다양한 형태의 입력 상자를 제공합니다.</p>
<blockquote>
<pre><code class="language-html">아이디 : &lt;input type=&quot;text&quot;&gt; &lt;br&gt;
비밀번호 : &lt;input type=&quot;password&quot;&gt; &lt;br&gt;
성별 : &lt;input type=&quot;radio&quot; name=&quot;gender&quot;&gt;남
       &lt;input type=&quot;radio&quot; name=&quot;gender&quot;&gt;여
&lt;br&gt;
&lt;input type=&quot;submit&quot; value=&quot;회원가입&quot;&gt;</code></pre>
</blockquote>
<ul>
<li><code>type=&quot;text&quot;</code>: 한 줄짜리 텍스트를 입력받습니다.</li>
<li><code>type=&quot;password&quot;</code>: 비밀번호 입력 상자입니다. 입력된 문자가 보이지 않습니다.</li>
<li><code>type=&quot;radio&quot;</code>: 여러 개 중 하나만 선택 가능한 라디오 버튼입니다.</li>
<li><code>type=&quot;submit&quot;</code>: 입력된 데이터를 서버로 전송하는 버튼입니다.</li>
</ul>
<h2 id="2-form-태그">2. form 태그</h2>
<p><code>form</code> 태그는 사용자가 입력한 데이터를 서버로 전송하는 역할을 합니다.</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<form action="https://search.naver.com/search.naver" method="get">
    <fieldset>
        검색어 : <input type="text" name="query"><br>
        <input type="submit" value="검색">
    </fieldset>
</form>
>```

<ul>
<li><code>action</code>: 데이터를 전송할 서버의 URL을 지정합니다.</li>
<li><code>method</code>: 데이터를 전송하는 방식입니다. <code>get</code>과 <code>post</code>가 있으며, <code>get</code>은 데이터를 URL에 노출시키고, <code>post</code>는 데이터를 숨깁니다.</li>
<li><code>fieldset</code>: 관련된 입력 양식을 그룹화하여 테두리로 묶습니다.</li>
<li><code>legend</code>: <code>fieldset</code> 그룹에 제목을 붙입니다.</li>
</ul>
<h2 id="3-text와-관련된-input-태그의-타입">3. Text와 관련된 input 태그의 타입</h2>
<p>텍스트와 관련된 다양한 <code>input</code> 태그들이 존재합니다.</p>
<blockquote>
<pre><code class="language-html">아이디 : &lt;input type=&quot;text&quot; name=&quot;userId&quot; placeholder=&quot;아이디를 입력해주세요.&quot; maxlength=&quot;12&quot; required&gt;&lt;br&gt;
비밀번호 : &lt;input type=&quot;password&quot; name=&quot;userPwd&quot; placeholder=&quot;영문, 숫자 포함 8~12자리&quot; maxlength=&quot;12&quot; required&gt;&lt;br&gt;
검색 : &lt;input type=&quot;search&quot; name=&quot;keyword&quot;&gt;&lt;br&gt;
홈페이지 : &lt;input type=&quot;url&quot; name=&quot;url&quot;&gt;&lt;br&gt;
이메일 : &lt;input type=&quot;email&quot; name=&quot;email&quot;&gt;&lt;br&gt;
전화번호 : &lt;input type=&quot;phone&quot; name=&quot;phone&quot;&gt;&lt;br&gt;
&lt;input type=&quot;submit&quot;&gt;</code></pre>
</blockquote>
<ul>
<li><code>type=&quot;text&quot;</code>: 일반 텍스트 입력.</li>
<li><code>type=&quot;password&quot;</code>: 비밀번호 입력.</li>
<li><code>type=&quot;search&quot;</code>: 검색어 입력.</li>
<li><code>type=&quot;url&quot;</code>: URL 입력.</li>
<li><code>type=&quot;email&quot;</code>: 이메일 입력.</li>
<li><code>type=&quot;phone&quot;</code>: 전화번호 입력.</li>
</ul>
<h2 id="4-textarea-태그">4. textarea 태그</h2>
<p><code>textarea</code> 태그는 여러 줄의 텍스트를 입력받을 수 있습니다.</p>
<blockquote>
<pre><code class="language-html">설명 : &lt;textarea name=&quot;description&quot; cols=&quot;30&quot; rows=&quot;10&quot; style=&quot;resize: none;&quot;&gt;&lt;/textarea&gt;</code></pre>
</blockquote>
<ul>
<li><code>textarea</code>: 여러 줄의 텍스트를 입력받습니다. <code>cols</code>와 <code>rows</code> 속성을 통해 크기를 지정할 수 있으며, <code>resize: none;</code>을 통해 크기 조정을 막을 수 있습니다.</li>
</ul>
<h2 id="5-숫자와-관련된-input-태그의-타입">5. 숫자와 관련된 input 태그의 타입</h2>
<p>숫자를 입력받을 때 사용되는 <code>input</code> 태그 타입입니다.</p>
<blockquote>
<pre><code class="language-html">수량 : &lt;input type=&quot;number&quot; name=&quot;amount&quot; min=&quot;0&quot; max=&quot;20&quot; step=&quot;5&quot; value=&quot;10&quot;&gt;&lt;br&gt;
점수 : &lt;input type=&quot;range&quot; name=&quot;score&quot; min=&quot;0&quot; max=&quot;100&quot; step=&quot;20&quot;&gt;&lt;br&gt;
&lt;input type=&quot;submit&quot;&gt;</code></pre>
</blockquote>
<ul>
<li><code>type=&quot;number&quot;</code>: 숫자만 입력 가능하며, 스핀 박스가 표시됩니다.</li>
<li><code>type=&quot;range&quot;</code>: 슬라이드 바를 통해 숫자를 선택할 수 있습니다.</li>
</ul>
<h2 id="6-날짜-및-시간과-관련된-input-태그의-타입">6. 날짜 및 시간과 관련된 input 태그의 타입</h2>
<p>날짜와 시간을 입력받을 수 있는 태그입니다.</p>
<blockquote>
<pre><code class="language-html">date : &lt;input type=&quot;date&quot;&gt;&lt;br&gt;
month : &lt;input type=&quot;month&quot;&gt;&lt;br&gt;
week : &lt;input type=&quot;week&quot;&gt;&lt;br&gt;
time : &lt;input type=&quot;time&quot;&gt;&lt;br&gt;
datetime-local : &lt;input type=&quot;datetime-local&quot;&gt;&lt;br&gt;</code></pre>
</blockquote>
<ul>
<li><code>type=&quot;date&quot;</code>: 연도, 월, 일을 입력받습니다.</li>
<li><code>type=&quot;month&quot;</code>: 연도와 월을 입력받습니다.</li>
<li><code>type=&quot;week&quot;</code>: 연도, 월, 주를 입력받습니다.</li>
<li><code>type=&quot;time&quot;</code>: 시와 분을 입력받습니다.</li>
<li><code>type=&quot;datetime-local&quot;</code>: 연도, 월, 일, 시, 분을 입력받습니다.</li>
</ul>
<h2 id="7-selectbox">7. selectbox</h2>
<p><code>select</code> 태그는 드롭다운 목록을 만듭니다.</p>
<blockquote>
<pre><code class="language-html">&lt;select name=&quot;color&quot;&gt;
    &lt;option value=&quot;red&quot;&gt;빨간색&lt;/option&gt;
    &lt;option value=&quot;blue&quot;&gt;파란색&lt;/option&gt;
&lt;/select&gt;</code></pre>
</blockquote>
<ul>
<li><code>select</code>: 여러 개 중 하나를 선택할 수 있는 목록입니다.</li>
<li><code>option</code>: 선택 가능한 항목을 정의합니다.</li>
</ul>
<h2 id="8-radio-button">8. radio button</h2>
<p><code>radio</code> 버튼은 여러 개 중 하나를 선택할 때 사용합니다.</p>
<blockquote>
<pre><code class="language-html">&lt;input type=&quot;radio&quot; name=&quot;gender&quot; id=&quot;man&quot; value=&quot;man&quot; checked&gt;
&lt;label for=&quot;man&quot;&gt;남자&lt;/label&gt;
</code></pre>
</blockquote>
<input type="radio" name="gender" id="woman" value="woman">
<label for="woman">여자</label>
>```

<ul>
<li><code>type=&quot;radio&quot;</code>: 여러 개 중 하나를 선택하는 버튼입니다.</li>
<li><code>name</code>: 같은 이름을 가진 버튼들은 하나의 그룹으로 묶입니다.</li>
<li><code>checked</code>: 기본 선택된 버튼을 지정합니다.</li>
<li><code>label</code>: 라벨과 버튼을 연결해줍니다.</li>
</ul>
<h2 id="9-checkbox">9. checkbox</h2>
<p><code>checkbox</code>는 여러 개 중 여러 개를 선택할 수 있는 버튼입니다.</p>
<blockquote>
<pre><code class="language-html">&lt;input type=&quot;checkbox&quot; id=&quot;red&quot; value=&quot;red&quot; name=&quot;color&quot;&gt;
&lt;label for=&quot;red&quot;&gt;빨간색&lt;/label&gt;
</code></pre>
</blockquote>
<input type="checkbox" id="blue" value="blue" name="color">
<label for="blue">파란색</label>
>
<input type="checkbox" id="yellow" value="yellow" name="color">
<label for="yellow">노란색</label>
<input type="submit">
>```

<ul>
<li><code>type=&quot;checkbox&quot;</code>: 여러 개를 선택할 수 있는 버튼입니다.</li>
<li><code>checked</code>: 기본 선택된 버튼을 지정합니다.</li>
<li><code>label</code>: 라벨과 버튼을 연결해줍니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[6. HTML 하이퍼링크 관련 태그]]></title>
            <link>https://velog.io/@jam_developer1/6.-HTML-%ED%95%98%EC%9D%B4%ED%8D%BC%EB%A7%81%ED%81%AC-%EA%B4%80%EB%A0%A8-%ED%83%9C%EA%B7%B8</link>
            <guid>https://velog.io/@jam_developer1/6.-HTML-%ED%95%98%EC%9D%B4%ED%8D%BC%EB%A7%81%ED%81%AC-%EA%B4%80%EB%A0%A8-%ED%83%9C%EA%B7%B8</guid>
            <pubDate>Sun, 25 Aug 2024 06:42:14 GMT</pubDate>
            <description><![CDATA[<p>웹페이지에서 하이퍼링크는 사용자가 다른 페이지로 이동하거나, 특정 문서나 외부 웹사이트에 접속할 수 있도록 도와주는 핵심적인 기능입니다. 하이퍼링크는 텍스트, 이미지, 그리고 페이지 내의 특정 위치로 연결할 수 있습니다.</p>
<hr>
<h4 id="기본-html-구조">기본 HTML 구조</h4>
<blockquote>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;</code></pre>
</blockquote>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>하이퍼링크 관련태그</title>
</head>
<body>
>```

<hr>
<h4 id="하이퍼링크의-기본-개념">하이퍼링크의 기본 개념</h4>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<!--
    하이퍼링크 기능은 웹문서의 가장 핵심적인 기능입니다.
    사용자가 클릭을 통해 링크된 페이지로 이동하여, 사용성을 높입니다.
    텍스트나 이미지를 클릭하여 링크를 통해 이동할 수 있으며, 페이지 내에서도 링크를 통해 특정 위치로 이동할 수 있습니다.
-->
<blockquote>
<pre><code></code></pre></blockquote>
<ul>
<li><strong>하이퍼링크</strong>는 웹 문서의 중요한 기능으로, 다른 웹 페이지나 문서로의 이동을 지원합니다.</li>
<li><strong>텍스트</strong>나 <strong>이미지</strong>를 클릭하여 다른 페이지로 넘어가는 링크를 만들 수 있습니다.</li>
</ul>
<hr>
<h4 id="a-태그와-href-속성"><code>a</code> 태그와 <code>href</code> 속성</h4>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h1>하이퍼링크 관련태그</h1>
>
<ul>
    <li><a href="01_글자관련태그.html"> 글자관련태그 </a></li>
    <li><a href="02_목록관련태그.html"> 목록관련태그 </a></li>
    <li><a href="https://www.naver.com"> 네이버로 </a></li>
</ul>
>```

<ul>
<li><code>a</code> 태그는 <strong>하이퍼링크를 생성</strong>하는 데 사용됩니다.</li>
<li><code>href</code> 속성에 <strong>연결할 페이지의 URL</strong>을 입력하여 링크를 설정합니다.</li>
<li><strong>내부 페이지</strong>와 <strong>외부 페이지</strong>로 연결할 수 있습니다.</li>
</ul>
<hr>
<h4 id="target-속성-새로운-탭에서-열기"><code>target</code> 속성: 새로운 탭에서 열기</h4>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>target 속성 : 연결된 페이지를 새로운 탭에서 열지 지정 (_self(기본값), _blank)</h3>
<a href="https://www.naver.com" target="_blank"> 네이버로 </a>
>```

<ul>
<li><code>target</code> 속성을 사용하여 <strong>링크를 클릭했을 때의 동작</strong>을 지정할 수 있습니다.</li>
<li><code>_self</code>는 기본값으로, <strong>현재 창에서 열기</strong>를 의미합니다.</li>
<li><code>_blank</code>를 사용하면 <strong>새로운 탭에서 링크를 열기</strong>가 가능합니다.</li>
</ul>
<hr>
<h4 id="이미지-링크-만들기">이미지 링크 만들기</h4>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>img태그 이용해서 링크 만들기</h3>
<a href="https://www.naver.com" target="_blank"> 네이버로
    <img src="./img/BlueArchive.jpg" alt="">
</a>
>```

<ul>
<li><code>a</code> 태그 내부에 <code>img</code> 태그를 포함하여, <strong>이미지를 클릭했을 때 링크로 이동</strong>할 수 있습니다.</li>
<li>이미지에 <strong>링크를 적용</strong>하면, 사용자는 이미지를 클릭하여 다른 페이지로 이동할 수 있습니다.</li>
</ul>
<hr>
<h4 id="페이지-내에서의-링크-이동">페이지 내에서의 링크 이동</h4>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3 id="main">한 페이지 내에서 id 속성은 1개만 존재한다. -> 식별자로 사용된다.</h3>
<a href="#main">메인으로가기</a>
>```

<ul>
<li><strong>페이지 내에서 특정 위치로 이동</strong>하기 위해 <code>id</code> 속성을 사용합니다.</li>
<li><code>href</code> 속성에 <code>#id명</code>을 입력하여, <strong>해당 id가 적용된 위치로 이동</strong>할 수 있습니다.</li>
<li>이 기능은 <strong>긴 페이지 내에서 특정 섹션으로 빠르게 이동</strong>할 때 유용합니다.</li>
</ul>
<hr>
<h4 id="본문-내용">본문 내용</h4>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h4>본문내용</h4>
<p>한 페이지 내에서 id 속성은 1개만 존재하며, 이를 식별자로 사용할 수 있습니다.</p>
>```

<ul>
<li><strong>id 속성</strong>은 한 페이지 내에서 <strong>유일</strong>하게 사용되어야 하며, 특정 요소를 식별하는 데 사용됩니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[5. HTML 영역 관련 태그]]></title>
            <link>https://velog.io/@jam_developer1/5.-HTML-%EC%98%81%EC%97%AD-%EA%B4%80%EB%A0%A8-%ED%83%9C%EA%B7%B8</link>
            <guid>https://velog.io/@jam_developer1/5.-HTML-%EC%98%81%EC%97%AD-%EA%B4%80%EB%A0%A8-%ED%83%9C%EA%B7%B8</guid>
            <pubDate>Sun, 25 Aug 2024 06:27:11 GMT</pubDate>
            <description><![CDATA[<p>HTML에서 영역을 정의하는 다양한 태그들이 있습니다. 이 태그들은 웹 페이지의 레이아웃을 구성하고, 콘텐츠를 배치하는 데 사용됩니다. 이번 포스트에서는 대표적인 영역 관련 태그인 <code>div</code>, <code>span</code>, 그리고 <code>iframe</code> 태그에 대해 알아보겠습니다.</p>
<hr>
<h4 id="기본-html-구조">기본 HTML 구조</h4>
<blockquote>
<pre><code class="language-html">&lt;!DOCTYPE html&gt;</code></pre>
</blockquote>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>영역관련태그</title>
>
    <style>
        div {
            width: 200px;
            height: 200px;
            border: 1px solid black;
        }
        span {
            width: 200px;
            height: 200px;
            border: 1px solid black;
        }
    </style>
</head>
<body>
>```

<hr>
<h4 id="블록-요소와-인라인-요소">블록 요소와 인라인 요소</h4>
<p>HTML 태그는 블록 요소와 인라인 요소로 나뉩니다. 이 요소들은 페이지에서 어떻게 영역을 차지하고 표시되는지에 따라 구분됩니다.</p>
<p><code>블록 요소</code>
한 줄 단위로 영역을 차지하며, 줄바꿈이 자동으로 적용됩니다.
(예: p, div, h1-h6 등)</p>
<p><code>인라인 요소</code>
콘텐츠 영역만 차지하며, 줄바꿈이 적용되지 않고, 다른 요소와 같은 줄에 위치합니다.
(예: span, a, img 등)</p>
<hr>
<h4 id="div-태그와-span-태그의-차이점"><code>div</code> 태그와 <code>span</code> 태그의 차이점</h4>
<h5 id="줄바꿈-적용">줄바꿈 적용</h5>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h2>div 태그와 span 태그의 차이점 1: 줄바꿈 적용</h2>
>
<h3>div 태그</h3>
<p>div 태그는 블록 요소로, 한 줄 단위로 영역을 차지합니다. 이미 존재하는 태그 다음 줄에 영역이 잡힙니다.</p>
<div style="background: red;">첫 번째 영역</div>
<div style="background: orange;">두 번째 영역</div>
<div style="background: yellow;">세 번째 영역</div>
>
<h3>span 태그</h3>
<p>span 태그는 인라인 요소로, 콘텐츠 영역만 차지합니다. 줄바꿈이 발생하지 않고 같은 줄에 다른 요소가 함께 표시됩니다.</p>
<span style="background: red;">첫 번째 영역</span>
<span style="background: orange;">두 번째 영역</span>
<span style="background: yellow;">세 번째 영역</span>
>```

<ul>
<li><code>div</code> 태그는 블록 요소로, 각 요소가 화면에 한 줄을 차지하며 자동으로 줄바꿈이 적용됩니다.</li>
<li><code>span</code> 태그는 인라인 요소로, 줄바꿈 없이 요소가 이어서 표시됩니다.</li>
</ul>
<h5 id="영역-지정-방식">영역 지정 방식</h5>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h2>div 태그와 span 태그의 차이점 2: 영역 지정 방식</h2>
>
<h3>div 태그: 사각형 박스로 영역을 지정</h3>
<div style="height: auto;">
    이 텍스트는 `div` 태그 안에 위치하며, 전체 문장이 하나의 사각형 박스로 감싸져 있습니다.
</div>
>
<h3>span 태그: 문장 단위로 영역을 지정</h3>
<span>
    이 텍스트는 `span` 태그 안에 위치하며, 문장 단위로 영역이 지정됩니다. 블록 요소와 다르게 줄바꿈이 발생하지 않습니다.
</span>
>```

<ul>
<li><code>div</code> 태그는 문단이나 큰 영역을 감싸는 데 사용되며, 블록 전체를 사각형 박스로 표시합니다.</li>
<li><code>span</code> 태그는 문장 내에서 특정 부분만을 감싸는 데 사용되며, 특정 텍스트에 스타일을 적용할 때 유용합니다.</li>
</ul>
<hr>
<h4 id="iframe-태그"><code>iframe</code> 태그</h4>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h1>iframe</h1>
<p>`iframe` 태그는 웹 문서 안에 다른 웹페이지를 삽입할 때 사용됩니다. 이 태그는 인라인 요소입니다.</p>
>
<iframe src="./04_이미지및멀티미디어태그.html" width="600" height="800"></iframe>
<iframe width="992" height="558" src="https://www.youtube.com/embed/DQIgW0wYaxc" title="YouTube Video" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
>```

<ul>
<li><code>iframe</code> 태그는 웹 페이지 안에 다른 웹 페이지를 삽입하는 데 사용됩니다.</li>
<li><code>src</code> 속성에 삽입할 페이지의 URL을 지정하며, <code>width</code>와 <code>height</code> 속성으로 크기를 조정할 수 있습니다.</li>
<li><code>iframe</code>은 웹 페이지에 유튜브 동영상, 다른 웹 페이지 등을 삽입할 때 많이 사용됩니다.</li>
</ul>
]]></description>
        </item>
        <item>
            <title><![CDATA[4. HTML 이미지 및 멀티미디어 관련 태그]]></title>
            <link>https://velog.io/@jam_developer1/4.-HTML-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B0%8F-%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4-%EA%B4%80%EB%A0%A8-%ED%83%9C%EA%B7%B8</link>
            <guid>https://velog.io/@jam_developer1/4.-HTML-%EC%9D%B4%EB%AF%B8%EC%A7%80-%EB%B0%8F-%EB%A9%80%ED%8B%B0%EB%AF%B8%EB%94%94%EC%96%B4-%EA%B4%80%EB%A0%A8-%ED%83%9C%EA%B7%B8</guid>
            <pubDate>Sun, 25 Aug 2024 06:20:59 GMT</pubDate>
            <description><![CDATA[<p>HTML에서 이미지와 멀티미디어(오디오, 비디오)를 삽입하고 제어하는 방법은 웹 페이지에 풍부한 콘텐츠를 제공하는 데 필수적입니다. 여기에서는 이미지 태그와 멀티미디어 태그에 대해 알아보겠습니다.</p>
<hr>
<h4 id="기본-html-구조">기본 HTML 구조</h4>
<blockquote>
<pre><code class="language-html">&lt;!DOCTYPE html&gt; &lt;!-- HTML5 문서 형식을 선언 --&gt;</code></pre>
</blockquote>
<html lang="en"> <!-- 문서의 언어를 영어로 설정 -->
<head>
    <meta charset="UTF-8"> <!-- 문서의 문자 인코딩을 UTF-8로 설정 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 화면 크기에 맞춰 콘텐츠를 조정 -->
    <title>이미지 및 멀티미디어 관련 태그</title> <!-- 문서 제목 -->
</head>
<body>
>```

<hr>
<h4 id="이미지-관련-태그">이미지 관련 태그</h4>
<p>이미지를 웹 페이지에 삽입하려면 <code>&lt;img&gt;</code> 태그를 사용합니다.</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h1>이미지 관련 태그</h1>
<!--
    <img src="삽입하려는 이미지의 경로" [alt="이미지 설명 문구"] width="가로길이(px/%)" height="세로길이">
-->
<h3>src 속성</h3>
<img src="./img/smaple01.jpg" alt="옥지와빵빵이투샷">
>```

<ul>
<li><code>&lt;img&gt;</code> 태그는 HTML에서 이미지를 삽입하기 위한 태그입니다.</li>
<li><code>src</code> 속성은 삽입하려는 이미지 파일의 경로를 지정합니다.</li>
</ul>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>alt 속성</h3>
<p>
    - 이미지의 경로가 잘못되었거나 이미지를 제대로 표시할 수 없을 때 대체 텍스트로 사용됩니다.<br>
    - 시각장애인들을 위한 스크린리더에서 이미지를 읽어주는 설명 문구로도 활용됩니다.
</p>
>```

<ul>
<li><code>alt</code> 속성은 이미지가 표시되지 않을 때 대신 표시될 텍스트를 지정합니다. 이 속성은 접근성을 높이는 데 중요한 역할을 합니다.</li>
</ul>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>width 속성과 height 속성</h3>
>
<h4>고정 길이 단위(px): 화면 크기가 변경되어도 이미지 크기는 고정됩니다.</h4>
<img src="./img/smaple01.jpg" width="200px" height="150px">
<img src="./img/smaple01.jpg" width="200px" height="100px">
<img src="./img/smaple01.jpg" width="100px" height="150px">
<img src="./img/smaple01.jpg" width="100px" height="100px">
>```

<ul>
<li><code>width</code>와 <code>height</code> 속성은 이미지의 너비와 높이를 지정합니다.</li>
<li>고정 길이 단위(px)는 화면 크기가 변경되어도 이미지 크기가 고정된 상태로 유지됩니다.</li>
</ul>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h4>가변 길이 단위(%): 화면 크기 또는 부모 요소 크기에 따라 이미지 크기가 변경됩니다.</h4>
<img src="./img/smaple01.jpg" width="10%" height="150px">
<img src="./img/smaple01.jpg" width="15%" height="100px">
<img src="./img/smaple01.jpg" width="15%" height="150px">
<img src="./img/smaple01.jpg" width="20%" height="100px">
>```

<ul>
<li>가변 길이 단위(%)를 사용하면 화면 크기나 부모 요소의 크기에 따라 이미지 크기가 자동으로 조정됩니다.</li>
</ul>
<hr>
<h4 id="미디어-관련-태그">미디어 관련 태그</h4>
<p>HTML에서는 오디오와 비디오를 삽입하고 제어하기 위해 각각 <code>&lt;audio&gt;</code> 태그와 <code>&lt;video&gt;</code> 태그를 사용합니다.</p>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h1>미디어 관련 태그</h1>
<h3>오디오 관련 태그</h3>
<!--
    <audio src="오디오 파일 경로" controls autoplay loop></audio>
    src: 오디오 파일의 경로
    controls: 재생 도구의 표시 여부
    autoplay: 자동 재생 여부(크롬에서는 제한될 수 있음)
    loop: 반복 재생
-->
<audio src="audio/sample.mp3" controls loop autoplay></audio>
>```

<ul>
<li><code>&lt;audio&gt;</code> 태그는 웹 페이지에 오디오를 삽입합니다.</li>
<li><code>src</code> 속성은 오디오 파일의 경로를 지정합니다.</li>
<li><code>controls</code> 속성은 사용자가 오디오를 제어할 수 있는 재생 도구를 표시합니다.</li>
<li><code>autoplay</code> 속성은 페이지 로드 시 오디오가 자동으로 재생되도록 합니다.</li>
<li><code>loop</code> 속성은 오디오를 반복 재생합니다.</li>
</ul>
<blockquote>
<pre><code class="language-html"></code></pre>
</blockquote>
<h3>비디오 관련 태그</h3>
<!--
    <video src="비디오 파일 경로" controls autoplay loop width="가로 크기" height="세로 크기" poster="썸네일 이미지 경로"></video>
    poster: 비디오가 로드되기 전에 표시되는 이미지(썸네일)
-->
>
<video src="video/sample.mp4"
        controls
        autoplay
        loop
        width="300"
        height="200"
        poster="./img/smaple01.jpg"></video>
>```

<ul>
<li><code>&lt;video&gt;</code> 태그는 웹 페이지에 비디오를 삽입합니다.</li>
<li><code>poster</code> 속성은 비디오가 로드되기 전에 표시될 썸네일 이미지를 지정합니다.</li>
<li><code>width</code>와 <code>height</code> 속성은 비디오의 크기를 지정합니다.</li>
</ul>
]]></description>
        </item>
    </channel>
</rss>