๐Ÿ”Ž HTML (2)

์„œ๊ฐ€ํฌยท2022๋…„ 3์›” 30์ผ
0

HTML

๋ชฉ๋ก ๋ณด๊ธฐ
2/6
post-thumbnail

1. Text-level semantics


๐ŸŒท Grouping content VS text-level semantics
=> ๊ณต๊ฐ„์„ ์–ด๋–ป๊ฒŒ ์ฐจ์ง€ํ•˜๋Š”์ง€
section ์˜ ๊ณต๊ฐ„์„ ํ•œ ์ค„ ์˜์—ญ(๋ธ”๋ก๋ ˆ๋ฒจ์š”์†Œ)์„ ๋‹ค ์ฐจ์ง€ํ•˜์ง€๋งŒ,
text-level ์€ ์ž๊ธฐ์˜์—ญ๋งŒ ์ฐจ์ง€ํ•จ (์ธ๋ผ์ธ์š”์†Œ)


<br>, <wbr>

<br> ํƒœ๊ทธ๋Š” ์ค„๋ฐ”๊ฟˆ์„ ์œ„ํ•œ ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค. <wbr> ํƒœ๊ทธ๋„ ๊ฐ„ํ˜น ์‚ฌ์šฉํ•˜๋Š”๋ฐ์š”. <wbr>์€ ํ…์ŠคํŠธ ๋ฐ•์Šค์—์„œ ํ•œ ์ค„๋กœ ๋ชจ๋‘ ํ‘œ์‹œ๊ฐ€ ์•ˆ๋  ๋•Œ์—๋งŒ ์ค„๋ฐ”๊ฟˆ์ด ์ผ์–ด๋‚˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

<p>
    <!-- ๊ณต๋ฐฑ๋ณ‘ํ•ฉ(ํ™”์ดํŠธ ์ŠคํŽ˜์ด์Šค๋ฅผ ํ•ฉ์ณ๋ฒ„๋ฆผ) ๐Ÿ‘‰ ๋”ฐ๋ผ์„œ br ํƒœ๊ทธ ์‚ฌ์šฉ -->
    Lorem 
            
            
            
    ipsum <br> 
    <br> 
    <br> 
    dolor sit amet
</p>
<p>ํ’€๋ฐญ์— ๊ฐ™์ง€ ์ „์ธ ๋…ธ๋…„์—๊ฒŒ์„œ ์ฒญ์ถ˜์˜์ฒญ์ถ˜์˜์ฒญ์ถ˜์˜<wbr> ๋ฐฉ์ง€. ์ „์ธ ์—ด๋ฝ์˜ ํ’€์ด ๊ฒƒ์ด๋‹ค.</p>

๐Ÿงฒ ์ฐธ๊ณ 

  • ํ™”์ดํŠธ ์ŠคํŽ˜์ด์Šค ๋งŒ๋‚ฌ์„ ๋•Œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ <p style="white-space: normal;"(ํ™”๋ฉด ๋‚ด์— ๋‚˜์˜ค๊ฒŒ),nowrap(ํ…์ŠคํŠธ๊ฐ€ ํ™”๋ฉดํฌ๊ธฐ๋ฅผ ๋„˜์œผ๋ฉด ์•ˆ๋ณด์ž„)> -> ์ด๋•Œ wbrํ•˜๋ฉด ์ค„๋ฐ”๊ฟˆ๋จ. white-space ์—†์„ ๋• ์•„๋ฌด ํšจ๊ณผ ์—†์—ˆ์Œ
  • ํ•œ๊ธ€, ์ค‘๊ตญ์–ด, ์ผ๋ณธ์–ด๋Š” ํ™”๋ฉด ์ค„์˜€๋‹ค๊ฐ€ ํ‚ค๋ฉด ํ•œ๊ธ€์ž์”ฉ ์‚ฌ๋ผ์ง ๐Ÿ‘‰ <p style="word-break:keep-all"> ํ•˜๋ฉด ๋‹จ์–ด๋Œ€๋กœ ์›€์ง์ž„
<p style="word-break:keep-all">
      ๊ณฐ ์„ธ๋งˆ๋ฆฌ๊ฐ€ ํ•œ ์ง‘์— ์žˆ์–ด ์•„๋น  ๊ณฐ ์—„๋งˆ ๊ณฐ ์•„๊ธฐ ๊ณฐ
      <wbr> ์•„๋น  ๊ณฐ์€ ๋šฑ๋šฑํ•ด
      </p>

<a href="๊ฒฝ๋กœ">

<a> ์š”์†Œ๋Š” HTML์˜ ํ•ต์‹ฌ์ ์ธ ์š”์†Œ๋กœ์จ ํ•˜์ดํผ ํ…์ŠคํŠธ ์ฆ‰, ๋งํฌ๋ฅผ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉ
href ์†์„ฑ์„ ํ†ตํ•ด ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ. href ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ด๋Š” ์›น ์ ‘๊ทผ์„ฑ์— ์œ„๋ฐฐ๋จ์œผ๋กœ href ์†์„ฑ์„ ์‚ฌ์šฉํ•ด์ฃผ๋Š”๊ฒŒ ์ข‹๋‹ค!!!.
html ๋ฌธ๋ฒ•์ƒ sections, grouping content ์š”์†Œ(์ด๊ฒŒ ๋ถ€๋ชจ๋กœ ์“ฐ์ธ๋‹ค๋Š” ๊ฒƒ)๋“ค์€ ํ…์ŠคํŠธ ๋ ˆ๋ฒจ ์š”์†Œ์˜ ์ž์‹์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š์ง€๋งŒ, ์•ต์ปค ํƒœ๊ทธ๋งŒ ์˜ˆ์™ธ์ ์œผ๋กœ sections, grouping content ์š”์†Œ๋ฅผ ์ž์‹์œผ๋กœ ํ•˜๋Š”๊ฒƒ์ด ํ—ˆ์šฉ.
๋˜ํ•œ <a> ์š”์†Œ์•ˆ์˜ ์ž์‹์œผ๋กœ๋Š” <a> ์š”์†Œ๋‚˜ <button> ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ์ž์™€ ์ธํ„ฐ๋ ‰์…˜์ด ๊ฐ€๋Šฅํ•œ ์š”์†Œ๋ฅผ ์ž์‹์œผ๋กœ ๋‘์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜๊ฐ€ ํ•„์š”

๐Ÿ’ก Internet Explorer ๋Š” download ์†์„ฑ์„ ์ง€์›ํ•˜์ง€ โŒ

<a href="https://www.naver.com">click</a>

<a href="https://www.naver.com" target="_blank">click</a> 
  ๐Ÿ‘‰target="_blank": ์ƒˆ์ฐฝ์œผ๋กœ ์ด๋™

<a href="./index.html">click</a>
<a href="#three">click</a> <!-- ํ•ด์‹œ ๋งํฌ ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” html ๋‚ด์—์„œ ์ด๋™-->
<a href="./index.html" download>click</a>
  <!-- ํ•ด๋‹นํ•˜๋Š” href๋ฅผ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Œ -->
<a href="./hello.hwp">hwp click</a>
<a href="./hello.hwp" download="a.hwp">hwp download click</a>
  <!-- ์†์„ฑ ๊ฐ’์œผ๋กœ ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ -->
<a href="./hello.pdf">pdf click</a>
<a href="./hello.pdf" download="a.pdf">pdf download click</a>

ํ•ด์‹œ ๋งํฌ : ๋ชฉ์ฐจ๋กœ ์‚ฌ์šฉ (id ์‚ฌ์šฉ โญ• class โŒ)

<a href="#one">click1</a>
<a href="#two">click2</a>
<a href="#three">click3</a>

<section id="one" style="height: 600px;">
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. 
</section>
<section id="two" style="height: 600px;">
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. 
</section>
<section id="three" style="height: 600px;">
    Lorem ipsum, dolor sit amet consectetur adipisicing elit. 
</section>

์ฐธ๊ณ  https://developer.mozilla.org/ko/

<b>, <strong>

<b>
๊ตต์€ ๊ธ€๊ผด์„ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ. ์˜ค์ง ํ…์ŠคํŠธ๋ฅผ ๊ตต์€ ๊ธ€์”จ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ ์ž˜ โŒ
<strong>
๊ตต์€ ๊ธ€๊ผด์— ์ค‘์š”๋„๋ฅผ ๋”ํ•ด ๊ฐ•์กฐํ•  ๋•Œ ์‚ฌ์šฉ. ์ค‘์š”๋„๋ฅผ ๋” ๊ฐ•์กฐํ•˜๊ณ  ์‹ถ์„ ๋•Œ์—๋Š” strong์„ ์ค‘์ฒฉํ•˜๊ธฐ๋„ ํ•จ.

<p>
    <strong>hello</strong> 
    adipisicing <b>elit</b>. 
</p>

<i>, <em>

<i>
๊ธฐ์šธ์ž„ ๊ธ€๊ผด์„ ๋‚˜ํƒ€๋ƒ„. ์ฃผ์œ„์™€ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ.
<em>
๊ฐ™์€ ๊ธฐ์šธ์ž„ ๊ธ€๊ผด๋กœ ํ‘œํ˜„๋˜์ง€๋งŒ* * ๊ฐ•์กฐ์˜ ์˜๋ฏธ๊ฐ€ ์žˆ์Œ.** strong ํƒœ๊ทธ๋ณด๋‹ค ์•ฝํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ.

<p>์‹œ์žฅ์•ˆ์€ ์‚ฌ๋žŒ๋“ค์˜ ํ™œ๊ธฐ๋กœ ๊ฐ€๋“์ฐจ ์žˆ์—ˆ๋‹ค.</p>
<p>
    ์ƒ์ธ : ์ด ์ƒํ’ˆ์€ ํ˜„์žฌ <em>30%</em> ํ• ์ธ์ค‘์ž…๋‹ˆ๋‹ค!
    ๋‚˜ : ์•„ํ•˜ ๊ทธ๋ ‡๊ตฐ์š”! <i> 'ํ .. ์™œ ํ•˜ํ•„ ์ง€๊ธˆ ํ• ์ธํ•˜๋Š”๊ฑธ๊นŒ?!' </i> ์ข€ ๋” ๊ตฌ๊ฒฝํ•˜๊ณ  ์˜ฌ๊ฒŒ์š”!
</p>
<p>๋‚˜๋Š” ์ƒ์ธ์˜ ์˜๋„๋ฅผ ์˜์‹ฌํ•  ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๋‹ค.</p>

<dfn>

define. ํ˜„์žฌ ๋ฌธ๋งฅ์—์„œ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š” ์šฉ์–ด๋ฅผ ๋‚˜ํƒ€๋ƒ„. dfn์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋ถ€๋ชจ๊ฐ€ <p> ํ˜น์€ <dt><dd> ์Œ, <section> ์š”์†Œ์ผ ๊ฒฝ์šฐ ๊ทธ ์ปจํ…์ธ ๋ฅผ dfn์˜ ์ •์˜์— ๋Œ€ํ•œ ์„ค๋ช…์œผ๋กœ ๊ฐ„์ฃผ. ๋ฌธ์„œ์—์„œ ์ตœ์ดˆ๋กœ ๋‚˜ํƒ€๋‚ฌ์„ ๋•Œ ์‚ฌ์šฉ.

<dl>
   <dt>WWW</dt>
   <dd>
       <dfn>WWW</dfn>๋Š” 
         ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ „ ์„ธ๊ณ„์ ์ธ ์ •๋ณด ๊ณต๊ฐ„์„ ๋งํ•œ๋‹ค.
       - ์œ„ํ‚ค๋ฐฑ๊ณผ
   </dd>
</dl>
WWW WWW๋Š” ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ „ ์„ธ๊ณ„์ ์ธ ์ •๋ณด ๊ณต๊ฐ„์„ ๋งํ•œ๋‹ค. - ์œ„ํ‚ค๋ฐฑ๊ณผ

<abbr>

<abbr> ํƒœ๊ทธ๋Š” ์ค€๋ง, ์•ฝ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ. ๋ณดํ†ต์€ ํ™€๋กœ ์“ฐ์ด๊ณ  dfn ํƒœ๊ทธ๋กœ ๊ฐ์‹ธ์ฃผ๊ธฐ๋„ ํ•จ.

<dl>
   <dt>WWW</dt>
   <dd>
       <dfn><abbr title="World Wide Web">WWW</abbr></dfn>๋Š” 
         ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ „ ์„ธ๊ณ„์ ์ธ ์ •๋ณด ๊ณต๊ฐ„์„ ๋งํ•œ๋‹ค.
       - ์œ„ํ‚ค๋ฐฑ๊ณผ
   </dd>
</dl>
WWW WWW๋Š” ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐ๋œ ์ปดํ“จํ„ฐ๋ฅผ ํ†ตํ•ด ์‚ฌ๋žŒ๋“ค์ด ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ์ „ ์„ธ๊ณ„์ ์ธ ์ •๋ณด ๊ณต๊ฐ„์„ ๋งํ•œ๋‹ค. - ์œ„ํ‚ค๋ฐฑ๊ณผ

<sup>, <sub>

<sup> : ์œ—์ฒจ์ž ,<sub> : ์•„๋žซ์ฒจ์ž
์ž‘์€ ๊ธ€์ž๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์šฉ๋„๋กœ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ™”ํ•™๊ธฐํ˜ธ๋‚˜ ์ˆ˜ํ•™๊ณต์‹ ๋“ฑ ์ฒจ์ž ๊ธฐํ˜ธ๋ฅผ ์ด์šฉํ•ด์•ผ ํ•˜๋Š” ๊ณณ์—์„œ๋งŒ ์‚ฌ์šฉ.

<p>H<sub>2</sub>0</p> 
<p>x<sup>2</sup>=4</p>

H20

x2=4

<span>

  • ๋ณ„๋‹ค๋ฅธ ์˜๋ฏธ ์—†์ด ๋ณดํ†ต ์ค„ ๋ฐ”๊ฟˆ ์—†์ด ์˜์—ญ์„ ๋ฌถ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉ.
  • ์—ฌ๋Ÿฌ ์š”์†Œ๋ฅผ ๋ฌถ์–ด ์ปจํŠธ๋กคํ•˜๊ธฐ ์œ„ํ•œ ์˜์—ญ์œผ๋กœ id๋ฅผ ์ฃผ๊ฑฐ๋‚˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉ.
  • โ— div์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ตœํ›„ ์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉ
...์ค‘๋žต...
<style>
#๋ช…์–ธ {
    color:red;
}
</style>
...์ค‘๋žต...
<p><span id="๋ช…์–ธ">์ œ๋ฐœ ๊ทธ๋งŒํ•ด.. ์ด๋Ÿฌ๋‹ค ๋‹ค~~ ์ฃฝ์–ด!</span>๋ผ๊ณ  ์˜ค์ผ๋‚จ์ด ์†Œ๋ฆฌ์ณค์Šต๋‹ˆ๋‹ค.<p>

์†Œ์Šค์ฝ”๋“œ

<!DOCTYPE html>
<html>
    <head>
        <title>Document</title>
    </head>
    <body>
        <!-- 
            1. ์‹œ๋ฉ˜ํ‹ฑํ•œ HTML ๊ฐ•์กฐ(๊ธฐ๊ณ„๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด, SEO, ์œ ์ง€๋ณด์ˆ˜, ํ˜‘์—… ๋“ฑ)
            2. HTML Living Standard
        -->
        <h1>hello world</h1>
        <h2>hello world</h2>
        <h3>hello world</h3>
        <h4>hello world</h4>
        <h5>hello world</h5>
        <h6>hello world</h6>
        <p>H<sub>2</sub>0</p>
        <p>x<sup>2</sup>=4</p>
        <p>
            <!-- ๊ณต๋ฐฑ๋ณ‘ํ•ฉ -->
            Lorem 
            
            
            
            ipsum <br> 
            <br> 
            <br> 
            dolor sit amet 

            <a href="https://www.naver.com">click</a>
            <a href="https://www.naver.com" target="_blank">click</a>  
            <a href="./test.html">click</a>
            <a href="#move">click</a>
            <a href="./test.png" download>click</a>
        
            <strong>hello</strong> 
            adipisicing <b>elit</b>. 
            Quae <em>quisquam </em> 
            aperiam, <i> autem </i>, excepturi 
            <mark> corrupti </mark> architecto facilis saepe voluptatum, sit nulla quia voluptate at laudantium cupiditate iusto minima tempore consequatur!
        </p>
            <hr>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ratione accusantium inventore, quia, nisi natus necessitatibus, delectus consequatur eum vitae architecto numquam esse quae quasi consectetur debitis voluptatem nulla. Vero, consequatur?</p>
            <hr>
        <p>Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ratione accusantium inventore, quia, nisi natus necessitatibus, delectus consequatur eum vitae architecto numquam esse quae quasi consectetur debitis voluptatem nulla. Vero, consequatur?</p>
        <p id="move">Lorem, ipsum dolor sit amet consectetur adipisicing elit. Ratione accusantium inventore, quia, nisi natus necessitatibus, delectus consequatur eum vitae architecto numquam esse quae quasi consectetur debitis voluptatem nulla. Vero, consequatur?</p>
        <!-- 
            abbr : ์ค€๋ง ํ‘œํ˜„(NASA)
            kbd : ํ‚ค๋ณด๋“œ
            pre : ์žˆ๋Š” ๊ทธ๋Œ€๋กœ
            code : ์ฝ”๋“œ๋ธ”๋ก
            cite : ์ธ์šฉ(q๋Š” ์ธ์šฉ๊ตฌ, cite๋Š” ์ธ์šฉ๋ธ”๋ก)
        -->
        <!-- ์ฐธ๊ณ ๋ฌธ์„œ 1 : https://developer.mozilla.org/ko/docs/Web/HTML/Element -->
        <!-- ์ฐธ๊ณ ๋ฌธ์„œ 2 : html.spec.whatwg.org, multipage -->
    </body>
</html>

gruping๊ณผ text label์ฐจ์ด : ์ฐจ์ง€ํ•˜๋Š” ๋ฒ”์œ„ ๊ทธ๋ฃจํ•‘: ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ๊ฐ€์ง€ ์ „์ฒด ์ฐจ์ง€
text label์€ ์ž๊ธฐ ํ…์ŠคํŠธ ํฌ๊ธฐ๋งŒํผ๋งŒ ์˜์—ญ ์ฐจ์ง€

๐Ÿ’Œ


๋‚ด๊ฐ€ html์„ ์ž˜ ์งฐ๋Š”๊ฐ€ ? ๐Ÿ‘‰ https://validator.w3.org/#validate_by_input


2. Embedded content

<img>

<img> ํƒœ๊ทธ๋Š” html ํŽ˜์ด์ง€์— ์ด๋ฏธ์ง€๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํƒœ๊ทธ

src (source)

<img> ํƒœ๊ทธ๋Š” src๋ผ๋Š” ํ•„์ˆ˜ ์†์„ฑ์ด ์žˆ์–ด์•ผ ํ•จ. src ์†์„ฑ์€ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์ด๋ฏธ์ง€ ํŒŒ์ผ์˜ ์œ„์น˜ ๋ฐ ํŒŒ์ผ๋ช…์„ ์•Œ๋ ค์คŒ. ํฐ๋”ฐ์˜ดํ‘œ ์•ˆ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ๋กœ๋Š” ์ ˆ๋Œ€๊ฒฝ๋กœ์ด๊ฑฐ๋‚˜ ์ƒ๋Œ€๊ฒฝ๋กœ

  • / : root
  • ./ : ํ˜„์žฌ ์œ„์น˜
  • ../ : ํ˜„์žฌ ์œ„์น˜์˜ ๋ฐ”๋กœ ์œ„ ํด๋”

alt (alternative text)

alt ์†์„ฑ์€ ์ด๋ฏธ์ง€๊ฐ€ ๋ณด์ด์ง€ ์•Š์„ ๋•Œ alt ์†์„ฑ์— ์ ํžŒ ํ…์ŠคํŠธ๋ฅผ ์ด๋ฏธ์ง€ ๋Œ€์‹  ๋ณด์—ฌ์คŒ. ๋˜ํ•œ ์Šคํฌ๋ฆฐ๋ฆฌ๋”์™€ ๊ฐ™์€ ์ ‘๊ทผ์„ฑ์„ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ์— ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €์— ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•จ์œผ๋กœ์จ SEO(Search Engine Optimization)์— ๋„์›€์„ ์คŒ. ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ์ž˜๋ชป ์ผ์„ ๊ฒฝ์šฐ alt๋กœ ๋‚˜ํƒ€๋‚ด์คŒ
โ— alt๋Š” ๋น„์–ด์žˆ์–ด๋„ ์“ฐ๋Š”๊ฒŒ ๋‚จ

<img src="img/a.jpg" alt="์ด๋ฏธ์ง€ ์—†์Œ">
<img src="img/a.jpg" alt="">
<img src="img/a.jpg" alt="์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ฐ€ ์ฝ์–ด์•ผ ํ•˜๋Š” ๋ฌธ๊ตฌ">

๋ชจ๋“  ์ด๋ฏธ์ง€์— ์„ค๋ช… ์žˆ์„ ํ•„์š” โŒ (์žฅ์‹์šฉ ์ด๋ฏธ์ง€๊ฐ™์€ ๊ฒฝ์šฐ) ๐Ÿ‘‰ alt=""๋กœ.
alt๋ฅผ ์•„์˜ˆ ์ ์ง€ ์•Š์œผ๋ฉด ์Šคํฌ๋ฆฐ๋ฆฌ๋”์—์„œ ํŒŒ์ผ๋ช…์„ ์ฝ์Œ. alt๋ฅผ ๋นˆ๊ฐ’์œผ๋กœ ๋‘๋ฉด ์ฝ์ง€์•Š์•„๋„ ๋จ์„ ์ธ์‹

๋ฐ˜์‘ํ˜• ์ด๋ฏธ์ง€๋ฅผ ์œ„ํ•œ srcset

srcset ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ํ•ด์ƒ๋„์— ๋Œ€์‘ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ตœ์ƒ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋”ฉํ•˜๋Š”๋ฐ ๋„์›€ ์คŒ. srcset ์†์„ฑ์€ ๋‹ค์–‘ํ•œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋Š” ๋™์ผ ์ด๋ฏธ์ง€๋ฅผ ์ตœ์†Œ 2๊ฐœ ์ด์ƒ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์ด๋ฏธ์ง€์˜ ์„ ํƒ๊ถŒ์„ ์œ„์ž„ํ•˜๋Š” ์†์„ฑ
๐Ÿ‘‰ ์‚ฌ์ด์ฆˆ ๋‹ค๋ฅธ ์ด๋ฏธ์ง€ ์ค‘ ์–ด๋–ค๊ฒŒ ์ข‹์„์ง€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„ ํƒํ•ด์„œ ๋ณด์—ฌ์คŒ.

x์„œ์ˆ ์ž, w์„œ์ˆ ์ž, sizes ์†์„ฑ

srcset์€ ํฌ๊ธฐ๊ฐ€ ํฐ ์ด๋ฏธ์ง€ ๋จผ์ € ์จ์•ผํ•จ ๐Ÿ‘‰ ์‚ฌ๋ฐ”์‚ฌ ์ธ ๊ฒƒ ๊ฐ™์Œ!!!!!!!!!

x์„œ์ˆ ์ž

ํ™”์†Œ์˜ ๋ฐ€๋„(pixel density)๋ฅผ ๋‚˜ํƒ€๋ƒ„. ๋””๋ฐ”์ด์Šค์˜ ํ™”์†Œ ๋ฐ€๋„์— ๋”ฐ๋ฅธ ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋”ฉํ•˜๋„๋ก ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋ ค์คŒ.

<img
width="200px"
srcset="img/logo_1.png 2x,
        img/logo_2.png 3x"
src="a.png"
alt="test">

๐Ÿ’ก Pixel density : ๋™์ผํ•œ ๋ฉด์ ์— ๋“ค์–ด๊ฐ€๋Š” ํ™”์†Œ์˜ ์ˆ˜. ํ™”์†Œ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋งŽ์„์ˆ˜๋ก ๋” ๋†’์€ ํ•ด์ƒ๋„.
๋‚ด ํ™”๋ฉด์˜ ํ™”์†Œ ๋ฐ€๋„ ๐Ÿ‘‰ ๊ฐœ๋ฐœ์ž ํ™”๋ฉด์˜ ์ฝ˜์†”์ฐฝ์—์„œ window.devicePixelRatio ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅ

w์„œ์ˆ ์ž

์›๋ณธ ์ด๋ฏธ์ง€์˜ ๋„“์ด๊ฐ€ ์ฐจ๋ก€๋Œ€๋กœ 300px, 600px, 900px ์ž„์„ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์•Œ๋ ค์คŒ. px์ด ์•„๋‹Œ w๋กœ ํ‘œ๊ธฐํ•˜๋Š”๊ฒƒ์— ์ฃผ์˜!!

<img
width="200px"
srcset="img/logo_1.png 300w,
        img/logo_2.png 600w,
        img/logo_3.png 700w"
src="a.png"
alt="test">

์˜ˆ์‹œ> 300w๋กœ ํ™”๋ฉด ๋„ˆ๋น„๋ฅผ ์กฐ์ •ํ•  ๋•Œ ๋‚˜์˜ค๋Š” ์ด๋ฏธ์ง€

450w๋กœ ํ™”๋ฉด ๋„ˆ๋น„๋ฅผ ์กฐ์ •ํ•  ๋•Œ ๋‚˜์˜ค๋Š” ์ด๋ฏธ์ง€

๐Ÿ‘‰ srcset ๊ฐ€ ํ˜ธํ™˜์ด ์•ˆ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ €์ผ ๊ฒฝ์šฐ src ๋กœ ๋ณด์—ฌ์ค€๋‹ค๊ณ  ํ•œ๋‹ค.

๐Ÿ’ก w์„œ์ˆ ์ž์™€ x์„œ์ˆ ์ž๋Š” ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ๋˜ํ•œ src ์†์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. srcset ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋ธŒ๋ผ์šฐ์ €(Internet Explorer)๋ฅผ ๋Œ€๋น„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฏธ์ง€์ž…๋‹ˆ๋‹ค.

sizes

๋ทฐํฌํŠธ์˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€๊ฐ€ UI์•ˆ์—์„œ ์ฐจ์ง€ํ•˜๊ฒŒ ๋  ์‚ฌ์ด์ฆˆ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋ ค์คŒ. srcset์€ sizes ์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•จ.

<img
srcset="img/logo_1.png 300w,
        img/logo_2.png 600w,
        img/logo_3.png 700w"
sizes="(min-width: 960px) 250px,
          (min-width: 620px) 150px,
          300px"
src="a.png"
alt="test">
<!-- ๋ทฐํฌํŠธ 960px ์ด์ƒ์ด๋ฉด ์ด๋ฏธ์ง€ ๋„“์ด๋ฅผ 250px๋กœ , ๋ทฐํฌํŠธ 620์ด์ƒ 960 ๋ฏธ๋งŒ์ด๋ฉด ์ด๋ฏธ์ง€ ๋„“์ด๋ฅผ 150px๋กœ -->

๋ธŒ๋ผ์šฐ์ €๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•œ ์ด๋ฏธ์ง€์˜ ์›๋ณธ ์‚ฌ์ด์ฆˆ์™€ ๋ทฐํฌํŠธ์— ๋”ฐ๋ฅธ ์ด๋ฏธ์ง€์˜ ์‚ฌ์ด์ฆˆ ์ •๋ณด๋ฅผ ํ†ตํ•ฉํ•ด ๊ฐ€์žฅ ์ ์ ˆํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋กœ๋”ฉ.

๋ฌผ๋ก  srcset ์†์„ฑ์€ sizes ์†์„ฑ์ด ์—†๋‹ค๊ณ  ํ•ด๋„ ์ž˜ ๋™์ž‘ํ•˜๊ฒ ์ง€๋งŒ, ์›นํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” srcset ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ์— ๋งž๋Š” sizes ์†์„ฑ๋„ ๋ฐ˜๋“œ์‹œ ๋ช…์‹œ

๐Ÿ’ก sizes ์†์„ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์€ CSS๋ฅผ ํ†ตํ•œ ์ด๋ฏธ์ง€์˜ ์‚ฌ์ด์ฆˆ๋ฅผ ์ปจํŠธ๋กค ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ถฉ๋Œ ํ•  ์ˆ˜ ์žˆ์Œ (CSS ์Šคํƒ€์ผ์ด sizes ์†์„ฑ์— ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค.) ํ˜‘์—…ํ•  ๋•Œ๋Š” ์‚ฌ์ „์— ๋ฐ˜๋“œ์‹œ ๋™๋ฃŒ๋“ค์—๊ฒŒ ์–ด๋– ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ˜์‘ํ˜• ์ด๋ฏธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ–ˆ๋Š”์ง€ ๊ณต์œ ๐Ÿ˜ฒ

<picture>

<picture> ์š”์†Œ๋Š” <source> ์š”์†Œ์™€ <img> ์š”์†Œ๋ฅผ ํ†ตํ•ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋””์Šคํ”Œ๋ ˆ์ด ํ˜น์€ ๋””๋ฐ”์ด์Šค์— ๋”ฐ๋ผ ์กฐ๊ฑด์— ๋งž๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์š”์†Œ. <img> ์š”์†Œ์˜ srcset ์ด ํ™”๋ฉด์— ๋”ฐ๋ฅธ ์ด๋ฏธ์ง€์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•œ๋‹ค๋ฉด <picture> ์š”์†Œ๋Š” ์ด๋ฏธ์ง€ ํฌ๋งท ์ž์ฒด๋ฅผ ๋ณ€๊ฒฝ ํ•  ์ˆ˜ ์žˆ์Œ.
๐Ÿ‘‰ ์›€์ง์ผ ๋•Œ๋งˆ๋‹ค ์ด๋ฏธ์ง€ ๋ฐ”๋€œ

<picture>
    <source srcset="babies_large.jpeg" media="(min-width:960px)">
  ์œ„์˜ ์กฐ๊ฑด ๋งŒ์กฑํ•˜๋ฉด babies_large๋ฅผ
    <source srcset="babies.jpeg" media="(min-width:620px)">
  ์œ„ ์กฐ๊ฑด ๋งŒ์กฑํ•˜๋ฉด babies๋ฅผ
    <img src="babies_small.jpeg" alt="๊ท€์—ฌ์šด ์•„๊ธฐ ํŒฝ๊ท„๋“ค">
  ๊ทธ๊ฒŒ ์•„๋‹ˆ๋ฉด babies_small์„
</picture>

๐Ÿ‘ img ํƒœ๊ทธ๋Š” ํ•„์ˆ˜!

media ์†์„ฑ

<picture> ์š”์†Œ๋Š” media ์†์„ฑ์˜ ๊ฐ’์„ ํ†ตํ•ด ์กฐ๊ฑด์— ์•Œ๋งž๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ฐพ์Œ. ์กฐ๊ฑด์— ๋งž๋Š” <source> ์š”์†Œ ์•ˆ์˜ srcset ์†์„ฑ ๊ฐ’์„ ์ฐพ์•„ <img> ํƒœ๊ทธ์˜ src ์— ๋„ฃ์–ด ํ™”๋ฉด์— ๋ณด์—ฌ์คŒ.
์ด๋Ÿฌํ•œ ๊ตฌ์กฐ๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— <img> ์š”์†Œ๊ฐ€ ์—†๋‹ค๋ฉด ์ด๋ฏธ์ง€๊ฐ€ ํ™”๋ฉด์— ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค!!!!

โ— <picture> ์™€ <source> ์š”์†Œ ์ž์ฒด๋Š” ์ด๋ฏธ์ง€๋ฅผ ํ‘œํ˜„ํ•˜์ง€ ์•Š๋Š”๋‹ค.

type ์†์„ฑ

์ด๋ฏธ์ง€์˜ ํฌ๋งท ํƒ€์ž…์„ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์•Œ๋ ค์คŒ.

<picture>
    <source srcset="babies.webp" type="image/webp">
    <source srcset="babies.avif" type="image/avif">
    <img src="babies.jpeg" alt="๊ท€์—ฌ์šด ์•„๊ธฐ ํŒฝ๊ท„๋“ค" type="image/png">
</picture>
  1. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜๋Š” ํฌ๋งท์ธ์ง€ ํƒ์ƒ‰ํ•˜๋ฉฐ ๋งŒ์•ฝ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ํฌ๋งท์ด๋ผ๊ณ  ํŒ๋‹จ๋˜๋ฉด ๋‹ค์Œ <source> ์š”์†Œ๋กœ ๋„˜์–ด๊ฐ.
  2. ๋งŒ์•ฝ ๋ชจ๋“  <source> ์š”์†Œ์˜ ์ด๋ฏธ์ง€ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉด ์ตœํ›„์— <img> ์š”์†Œ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋žœ๋”๋ง ๐Ÿ‘‰ WebP๋‚˜ AVIF ์™€ ๊ฐ™์€ ์ตœ์‹  ํฌ๋งท์˜ ์ด๋ฏธ์ง€๋ฅผ ์ง€์›ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํฌ๋กœ์Šค๋ธŒ๋ผ์šฐ์ง•์„ ์œ„ํ•ด <picture> ์š”์†Œ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ ํ•˜๋Š”๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
    picture๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋ฐ”๊ฟ”์คŒ
    ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์˜ ํฌ๋กœ์Šค๋ธŒ๋ผ์šฐ์ง• ๊ธฐ๋ฒ•์„ โ€˜์ ์ง„์  ํ–ฅ์ƒ๊ธฐ๋ฒ•โ€™์ด๋ผ๊ณ  ํ•จ
    ๐Ÿ’ก ์ ์ง„์  ํ–ฅ์ƒ๊ธฐ๋ฒ•
    ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ˆ์ „ ๊ธฐ์ˆ  ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด๋‘๊ณ , ์ตœ์‹  ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” ์ตœ์‹  ๊ธฐ์ˆ ์„ ์ œ๊ณตํ•˜์—ฌ ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๐Ÿ˜ ์ด๋ฏธ์ง€ ํฌ๋งท์˜ ์ข…๋ฅ˜

GIF(Graphics Interchange Format) :
256์ƒ‰์˜ ์ปฌ๋Ÿฌ๋งŒ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ ๋ช…ํ•˜์ง„ ์•Š์ง€๋งŒ ์šฉ๋Ÿ‰์ด ์ ๊ฒŒ ๋“ญ๋‹ˆ๋‹ค. ํˆฌ๋ช…์€ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๊ทธ ์ •๋„๋ฅผ ์กฐ์ ˆํ•˜๋Š”๊ฑด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋•Œ๋ฌธ์— ๊ทธ๋ฆผ์ž ํ‘œํ˜„๋„ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
JPG/JPEG (Joint Photographic Expert Group image):
๋งค์šฐ ํ™”์†Œ๊ฐ€ ๋†’๊ณ , ์šฉ๋Ÿ‰๋„ ์ ์ง€๋งŒ ํˆฌ๋ช…์ฒ˜๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
PNG (Portable Network Graphics) :
์™ ๋งŒํ•œ ์ปฌ๋Ÿฌ๋Š” ๋ชจ๋‘ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜์—ฌ ํˆฌ๋ช… ์˜์—ญ์„ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์šฉ๋Ÿ‰์ด ํฝ๋‹ˆ๋‹ค.
SVG (Scalable Vector Graphics) :
SVG ํ˜•์‹์˜ ๋ฒกํ„ฐ ์ด๋ฏธ์ง€๋Š” ์†์‹ค์ด๋‚˜ ํ’ˆ์งˆ ์ €ํ•˜ ์—†์ด ๋ชจ๋“  ํฌ๊ธฐ์—์„œ ๋ Œ๋”๋ง์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
๋‹จ์ˆœํ•œ ์ด๋ฏธ์ง€ ํ‘œํ˜„ํ•  ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ
WebP (Web Picture Format) :
์••์ถ•๋ฅ ์ด ์ข‹๋‹ค๊ณ  ์†Œ๋ฌธ๋‚œ JPEG ์ด๋ฏธ์ง€์— ๋น„ํ•ด ๋ฌด๋ ค ์šฉ๋Ÿ‰์€ 70% ์ˆ˜์ค€์œผ๋กœ ๋‚ฎ์ง€๋งŒ ๋” ๋›ฐ์–ด๋‚œ ์ƒ‰์ƒ์„ ์ง€์›ํ•˜๋Š” ํฌ๋งท์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  PNG ์ฒ˜๋Ÿผ ํˆฌ๋ช…๋„ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, GIF ์ฒ˜๋Ÿผ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํ‘œํ˜„๋„ ๊ฐ€๋Šฅํ•œ ๋งŒ๋Šฅ ํฌ๋งท์ž…๋‹ˆ๋‹ค.
AVIF (AV1 Image File Format) : WebP ์ฒ˜๋Ÿผ ๋›ฐ์–ด๋‚œ ์ƒ‰์ƒํ‘œํ˜„, ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ง€์›, ํˆฌ๋ช…๋„ ํ‘œํ˜„ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜๋ฉฐ JPEG ์ด๋ฏธ์ง€์˜ 50% ์ˆ˜์ค€์ธ ์šฉ๋Ÿ‰์„ ์ž๋ž‘ํ•˜๋Š” ์ฐจ์„ธ๋Œ€ ์ด๋ฏธ์ง€ ํฌ๋งท์ž…๋‹ˆ๋‹ค. ์•„์ง ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋งŽ์Œ์— ์ฃผ์˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

<iframe>

iframe์€ ํ˜„์žฌ HTML ํŽ˜์ด์ง€์—์„œ ๋˜ ๋‹ค๋ฅธ HTML ํŽ˜์ด์ง€๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ.
iframe์€ width ํ˜น์€ height ์†์„ฑ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆ.
๋”ฐ๋กœ ๊ฐ’์„ ์„ค์ •ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด height๋Š” 150px, width๋Š” 300px์„ ๊ธฐ๋ณธ๊ฐ’

<iframe src="๋งํฌ"></iframe>

src ์†์„ฑ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ฌ HTML๋งํฌ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ณดํ†ต youtube ์˜์ƒ์„ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ ๋งŽ์ด ์‚ฌ์šฉ
youtube ์˜์ƒ์„ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋˜๋ฉด ๋ณดํ†ต ์•„๋ž˜์™€ ๊ฐ™์€ ์†์„ฑ๊ฐ’๋“ค์„ ๊ฐ€์ง„๋‹ค.

<iframe width="1280" height="720" src="https://www.youtube.com/embed/-iuX3r8PSzU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
</iframe>
  • frameborder : ํ…Œ๋‘๋ฆฌ๋ฅผ ๊ทธ๋ ค์ค„์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. 0 ํ˜น์€ 1์˜ ๊ฐ’์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ์ด์ œ ๋”๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฐ’์ด๋ฉฐ CSS์˜ border ์†์„ฑ์„ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • allow : iframe ์—์„œ ํ—ˆ์šฉํ•  ๊ธฐ๋Šฅ๋“ค์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • allowfullscreen : ์ „์ฒดํ™”๋ฉด์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

<audio>

<audio> ๋Š” ์Œ์•… ์ปจํ…์ธ ๋ฅผ ์žฌ์ƒํ•˜๊ธฐ ์œ„ํ•œ ํƒœ๊ทธ
src ์†์„ฑ์€ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์˜ค๋””์˜ค ํŒŒ์ผ์˜ ์œ„์น˜ ๋ฐ ํŒŒ์ผ๋ช…์„ ์•Œ๋ ค์คŒ

<audio src="ํด๋”/ํŒŒ์ผ๋ช…" controls autoplay loop ></audio>
  • controls : ์Œ์•… ํŒŒ์ผ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋ถˆ๋Ÿฌ์˜ด.
  • autoplay : ๋กœ๋”ฉ์ด ์™„๋ฃŒ๋œ ํŒŒ์ผ์„ ์ž๋™์œผ๋กœ ์žฌ์ƒ.
    ๐Ÿ’ก autoplay ์†์„ฑ์€ ๋ธŒ๋ผ์šฐ์ € ์ •์ฑ… ์ƒ ์ผ๋ถ€ ๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์— ์ž‘๋™ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•ญ์ƒ mute ์†์„ฑ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•จ
    ์ด๋Š” ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ autoplay ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•œ ์˜๋„ํ•˜์ง€ ์•Š์€ ํŠธ๋ž˜ํ”ฝ ์œ ๋ฐœ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์ ‘๊ทผ์„ฑ ์ธก๋ฉด์—์„œ ์ข‹์ง€ ์•Š์Œ
    ์ด๋Ÿฌํ•œ ํŠน์ง•์€ <iframe>, <audio>, <video> ์š”์†Œ ๋ชจ๋‘ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ
    ์ฐธ๊ณ  : https://developer.mozilla.org/ko/docs/Web/Media/Autoplay_guide
    ๋‚˜์œ ์˜ˆ : https://codingparty.goorm.io/codinghero
    โ— ๋๋‹ค๊ฐ€ ์•ˆ๋๋‹ค๊ฐ€ ํ•ด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ์„ค์ •ํ•ด์ฃผ๋Š”๊ฒŒ ์ข‹์•„์—ฌ
  • loop : ์Œ์•…์„ ๋ฐ˜๋ณต.
<audio controls>
    <source src="flow.ogg" type="audio/ogg">
    <source src="flow.mp3" type="audio/mpeg">
</audio>

<audio> ์š”์†Œ ์—ญ์‹œ <source> ์š”์†Œ๋ฅผ ์ž์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์š”์†Œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํฌ๋กœ์Šค ๋ธŒ๋ผ์šฐ์ง•์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํฌ๋งท์˜ ํŒŒ์ผ์„ ์ง€์›ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

<video>

<video> ๋Š” ๋™์˜์ƒ ํŒŒ์ผ์„ ์žฌ์ƒํ•˜๊ธฐ ์œ„ํ•œ ํƒœ๊ทธ

<video src="batman.mp4" controls autoplay loop width="450" height="300"></video>
  • src : ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋น„๋””์˜ค ํŒŒ์ผ์˜ ์œ„์น˜ ๋ฐ ํŒŒ์ผ๋ช… ์•Œ๋ ค์คŒ.
  • controls : ์˜์ƒ ํŒŒ์ผ์„ ์žฌ์ƒํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋ถˆ๋Ÿฌ์˜ด.
  • autoplay : ๋กœ๋”ฉ์ด ์™„๋ฃŒ๋˜๋ฉด ์ž๋™์œผ๋กœ ์˜์ƒ ํŒŒ์ผ์„ ์žฌ์ƒ.
  • loop : ์˜์ƒ์ด ์ข…๋ฃŒ๋˜๋ฉด ๋‹ค์‹œ ๋ฐ˜๋ณตํ•ด์„œ ์žฌ์ƒ.

ํฌ๋กœ์Šค๋ธŒ๋ผ์šฐ์ง•์„ ํ•  ์ˆ˜ ์žˆ์Œ

<video controls poster="batman.jpeg" preload="auto" width="450" height="300">
   <source src="batman.mp4" type="video/mp4">
   <source src="batman.ogv" type="video/ogg">
   <source src="batman.webm" type="video/webm">
   <track kind="subtitles" src="foo.en.vtt" srclang="ko" label="batman">
</video>
  • preload : ์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•ด ๊ณ ๋ คํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ์†์„ฑ. (๊ธฐ๋ณธ ๊ฐ’์€ ๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ๋‹ค๋ฆ…๋‹ˆ๋‹ค.)
    • none :ย ๋น„๋””์˜ค ํŒŒ์ผ์„ ๋ฏธ๋ฆฌ ๋กœ๋”ฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์ตœ์†Œํ•œ์˜ ํŠธ๋ž˜ํ”ฝ์„ ์œ ์ง€ํ•˜๋ฉฐ ํŽ˜์ด์ง€ ๋กœ๋”ฉ์ด ์ข€ ๋” ๋นจ๋ผ์ง.
    • metadata : ๋น„๋””์˜ค ํŒŒ์ผ์„ ๋ฏธ๋ฆฌ ๋กœ๋”ฉํ•˜์ง€ ์•Š์ง€๋งŒ ํŒŒ์ผ์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์˜ˆ๋ฅผ ๋“ค์–ด์„œ ์˜์ƒ์˜ ๊ธธ์ด)๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•จ.
    • auto : ๋น„๋””์˜ค ํŒŒ์ผ์„ ๋ฏธ๋ฆฌ ๋กœ๋”ฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ”๋กœ ์˜์ƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ค€๋น„.
  • poster : ์˜์ƒ์ด ๋กœ๋”ฉ ์ค‘ ์ผ ๋•Œ ๋Œ€์‹ ํ•ด์„œ ํ™”๋ฉด์— ๋ณด์—ฌ์ค„ ์ด๋ฏธ์ง€๋ฅผ ์ง€์ •.
  • <source> : ๋‹ค๋ฅธ embedded ์š”์†Œ๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ source ์š”์†Œ๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ง€์›ํ•˜๋Š” ํŒŒ์ผ ํฌ๋ฉง์„ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ.
  • <track> : <audio> ํ˜น์€ <video> ์š”์†Œ์˜ ์ž์‹์œผ๋กœ ์ž๋ง‰๊ณผ ๊ฐ™์€ ์‹œ๊ฐ„ ๊ธฐ๋ฐ˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ(ํ…์ŠคํŠธ ํŠธ๋ž™)๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ๋‹ค.
    - kind : ํ…์ŠคํŠธ ํŠธ๋ž™์˜ ์ข…๋ฅ˜๋ฅผ ์ง€์ •. subtitles(์ž๋ง‰), captions(์„ค๋ช…) ๋“ฑ์„ ์ง€์ • ๊ฐ€๋Šฅ.
    - srclang : ํ…์ŠคํŠธ ํŠธ๋ž™์˜ ์–ธ์–ด๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
    - label : ํ…์ŠคํŠธ ํŠธ๋ž™์˜ ์ œ๋ชฉ์„ ์ •ํ•ฉ๋‹ˆ๋‹ค.
    ๐Ÿ’ก WebVTT (Web Video Text Tracks)
    <track> ์š”์†Œ์—์„œ ์‚ฌ์šฉํ•  ์ž๋ง‰ ํŒŒ์ผ ํฌ๋งท.vtt ๋กœ ํ‘œ์‹œ

๐Ÿ’ก ์ž๋ง‰ (subtitles) VS ์„ค๋ช… (captions)
์ž๋ง‰ (subtitles) : ์‹œ์ฒญ์ž๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” ์–ธ์–ด์— ๋Œ€ํ•œ ๋ฒˆ์—ญ์„ ์ œ๊ณต
์„ค๋ช… (captions) : ์ž๋ง‰์„ ํฌํ•จํ•œ ์˜ค๋””์˜ค ํŠธ๋žœ์Šคํฌ๋ฆฝ์…˜์„ ์ œ๊ณต. ์˜ค๋””์˜ค ํŠธ๋žœ์Šคํฌ๋ฆฝ์…˜์ด๋ž€ ์†Œ๋ฆฌ๋ฅผ ๋‚ด๋Š” ์ฃผ์ฒด, ์Œ์•…์ด๋‚˜ ํšจ๊ณผ์™€ ๊ฐ™์€ ๋น„ ์–ธ์–ด์  ์†Œ๋ฆฌ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์†Œ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌธ์ž๋กœ ํ‘œํ˜„ํ•˜๋Š”๊ฒƒ์„ ๋งํ•จ. ์ฃผ๋กœ ์ฒญ๊ฐ์žฅ์• ๋ฅผ ๊ฐ€์ง„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ ํ•ฉํ•˜๋‹ค.

๐Ÿ˜ ์ฝ”๋ฑ(codec)๊ณผ ํฌ๋งท(format)
1. ์ฝ”๋ฑ : ์ดฌ์˜์„ ํ†ตํ•ด ์–ป์€ ์›๋ณธ ์˜์ƒ์„ ํŽธ์ง‘ํ•˜์—ฌ ์••์ถ•ํ•œ ๊ฒฐ๊ณผ๋ฌผ(H.246, ProRes ๋“ฑ๋“ฑ)
2. ํฌ๋งท : ์ฝ”๋ฑ์„ ๋‹ด์•„ ์žฌ์ƒ ๊ฐ€๋Šฅํ•œ ํ”Œ๋ ˆ์ด์–ด์— ์ „๋‹ฌ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์—ญํ•  (mp4, WebM ๋“ฑ๋“ฑ)
๋น„๋””์˜ค ํŒŒ์ผ = ์ฝ”๋ฑ * ํฌ๋งท
์‚ฌ์šฉํ•œ ์ฝ”๋ฑ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์˜์ƒ์˜ ํ€„๋ฆฌํ‹ฐ์™€ ์šฉ๋Ÿ‰์ด ๊ฒฐ์ •๋˜๊ณ , ์ฝ”๋ฑ์— ๋”ฐ๋ผ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ํฌ๋งท๋„ ๋‹ค๋ฅด๋ฉฐ, ๋ธŒ๋ผ์šฐ์ €์— ๋”ฐ๋ผ ์ง€์›ํ•˜๋Š” ์ฝ”๋ฑ๊ณผ ํฌ๋งท์ด ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์šฉ๋„์— ๋”ฐ๋ผ ์‹ ์ค‘ํ•˜๊ฒŒ ๊ฒฐ์ •

์†Œ์Šค์ฝ”๋“œ

<!DOCTYPE html>
<html>
<head>
    <title>media</title>
</head>
<body>
    <!-- ์ด๋ฏธ์ง€ alt-->
    <img src="img/a.jpg" alt="์ด๋ฏธ์ง€ ์—†์Œ">
    <img src="img/a.jpg" alt="">
    <img src="img/a.jpg" alt="์Šคํฌ๋ฆฐ ๋ฆฌ๋”๊ฐ€ ์ฝ์–ด์•ผ ํ•˜๋Š” ๋ฌธ๊ตฌ">
    <!-- srcset ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์—ฌ๋Ÿฌ ํ•ด์ƒ๋„ ๋Œ€์‘ ๊ฐ€๋Šฅ -->
    <img src="a.jpg" srcset="a.jpg, a.jpg 2x" alt="๋Œ€์ฒด๋ฌธ๊ตฌ">
    <!-- 
        picture๋‚˜ source์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ
        -->
    <iframe width="1280" height="720" src="https://www.youtube.com/embed/-iuX3r8PSzU" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
    </iframe>
    <!-- 
        audio : ์Œ์•… ํ”Œ๋ ˆ์ด
        video : ์˜์ƒ ํ”Œ๋ ˆ์ด
    -->
</body>
</html>
<html>
  <head>
    <title>Page Title</title>
    <style>
      body {
        margin: 0;
        padding: 0;
      }
      h1 {
        background: #4267b2;
        color: white;
        padding: 10px;
        margin: 0;
      }
      article {
        width: 500px;
        border: 1px solid blue;
        margin-top: 30px;
        margin-left: 50%;
        transform: translateX(-50%);
      }
    </style>
  </head>
  <body>
    <header>
      <h1>Facebook</h1>
    </header>
    <section>
      <article>
        <img width="100%" src="src/a.jpg" alt="" />
        <p>
          Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam,
          debitis nulla minima quas temporibus soluta iste harum adipisci.
          Repellendus eius libero autem deserunt numquam ducimus dolorem ab
          corporis atque debitis?Lorem ipsum, dolor sit amet consectetur
          adipisicing elit. Explicabo aliquam voluptatum esse laborum nihil
          perferendis hic voluptates corrupti commodi? Accusantium distinctio
          dolores beatae nostrum! Similique cupiditate doloribus itaque fuga
          laboriosam.
        </p>
      </article>
      <article>
        <img width="100%" src="src/a.jpg" alt="" />
        <p>
          Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam,
          debitis nulla minima quas temporibus soluta iste harum adipisci.
          Repellendus eius libero autem deserunt numquam ducimus dolorem ab
          corporis atque debitis?Lorem ipsum, dolor sit amet consectetur
          adipisicing elit. Explicabo aliquam voluptatum esse laborum nihil
          perferendis hic voluptates corrupti commodi? Accusantium distinctio
          dolores beatae nostrum! Similique cupiditate doloribus itaque fuga
          laboriosam.
        </p>
      </article>
      <article>
        <img width="100%" src="src/a.jpg" alt="" />
        <p>
          Lorem ipsum dolor sit amet consectetur adipisicing elit. Veniam,
          debitis nulla minima quas temporibus soluta iste harum adipisci.
          Repellendus eius libero autem deserunt numquam ducimus dolorem ab
          corporis atque debitis?Lorem ipsum, dolor sit amet consectetur
          adipisicing elit. Explicabo aliquam voluptatum esse laborum nihil
          perferendis hic voluptates corrupti commodi? Accusantium distinctio
          dolores beatae nostrum! Similique cupiditate doloribus itaque fuga
          laboriosam.
        </p>
      </article>
    </section>
  </body>
</html>

๐Ÿ™†๐Ÿปโ€โ™€๏ธ ํšŒ๊ณ 


  • ์ง€์›ํ•˜๊ณ ์ž ํ•˜๋Š” ํšŒ์‚ฌ์˜ ์„œ๋น„์Šค ํ…Œ์ŠคํŠธ (๋ธŒ๋ผ์šฐ์ €๋งˆ๋‹ค ์‹คํ–‰ํ•ด์„œ ๋ฌธ์ œ์  ์ฐพ๊ณ  ์ง€์ ํ•˜๋ฉด ์ข‹๊ฒŒ ๋ด์ฃผ์‹ค ๊ฒƒ)
  • ์ ์ง„์  ํ–ฅ์ƒ ๊ธฐ๋ฒ•. ์ด๋ฏธ์ง€ ํฌ๋งท์˜ ์ข…๋ฅ˜ ๐Ÿ‘‰ ๋ฉด์ ‘์— ๋งŽ์ด ๋‚˜์™€์œต
  • ๋„ค์ด๋ฒ„, ์นด์นด์˜ค ๋“ฑ ๋Œ€๊ธฐ์—…์€ ์„œ๋น„์Šค ์‚ฌ์šฉ๋Œ€์ƒ์ด ๋„“์–ด์„œ div ํƒœ๊ทธ ๋งŽ์ด ์‚ฌ์šฉ (ํ˜ธํ™˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ)
    - ํ•˜์ง€๋งŒ div ์‚ฌ์šฉ์€ ์ง€์–‘ํ•˜๊ธฐ !!
  • ๋ชจ๋“  ๋ฒ„์ „์—์„œ ๋ธŒ๋ผ์šฐ์ € ํ…Œ์ŠคํŠธํ•˜๊ธฐ

์ƒ๊ฐ๋ณด๋‹ค ๋ชจ๋ฅด๋Š” ํƒœ๊ทธ๋“ค์ด ๋„ˆ๋ฌด ๋งŽ์Œ!! img ํƒœ๊ทธ์˜ srcset๋Š” ๋ธŒ๋ผ์šฐ์ €์— ๋งž๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•ด์ฃผ๊ณ  picture ํƒœ๊ทธ๋Š” media ์กฐ๊ฑด์— ๋”ฐ๋ผ srcset์— ํ•ด๋‹นํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋“ฏ?!!?!?!?!์‹ถ์Œ ์•„,, ์—ด์‹ฌํžˆ ํ•˜์ž~

0๊ฐœ์˜ ๋Œ“๊ธ€