๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT/JavaScript

[CSS] ๋ฏธ๋””์–ด์ฟผ๋ฆฌ Media Query ์ ์šฉํ•˜๊ธฐ (์‚ฌ์ด์ฆˆ ๋ถ„๊ธฐ์  ๊ธฐ์ค€ px, ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•)

by ITyranno 2024. 1. 7.
728x90
๋ฐ˜์‘ํ˜•

 

 

 

 

 

 

 

 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ธ๊ณ„๋ฅผ ํƒ๊ตฌํ•ฉ์‹œ๋‹ค.

 

 

 

 

 

 

 

 

๋ฏธ๋””์–ด์ฟผ๋ฆฌ Media Query ์ ์šฉํ•˜๊ธฐ (์‚ฌ์ด์ฆˆ ๋ถ„๊ธฐ์  ๊ธฐ์ค€ px, ์‚ฌ์šฉ๋ฐฉ๋ฒ•)

 

 

 

์›น์„ ๊ธฐ์ค€์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ ํ›„ ํ•ด๋‹น ํŽ˜์ด์ง€๋ฅผ ๋ชจ๋ฐ”์ผ์—์„œ ๋ณด๋ฉด CSS๊ฐ€ ์ด์ƒํ•ด์ง€๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

๋ฏธ๋””์–ด ์ฟผ๋ฆฌ(Media Queries)๋Š” ๋‹ค์–‘ํ•œ ๋””์Šคํ”Œ๋ ˆ์ด ์žฅ์น˜์˜ ๋ทฐํฌํŠธ(Viewport) ํฌ๊ธฐ์™€ ํ•ด์ƒ๋„์— ๋”ฐ๋ผ ์›น ํŽ˜์ด์ง€์˜ ์Šคํƒ€์ผ์„ ๋™์ ์œผ๋กœ ์ ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ๋ฐ˜์‘ํ˜• ์›น ๋””์ž์ธ(Responsive Web Design)์ด ๊ฐ€๋Šฅํ•ด์ง€๋ฉฐ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์˜ˆ๋ฅผ ๋“ค์–ด, ํ™”๋ฉด์˜ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ž‘์•„์ง€๋ฉด ์›๋ž˜ ์žˆ๋˜ ์นดํ…Œ๊ณ ๋ฆฌ ๋ชจ์–‘์„ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ์ค„์ด๋Š” ๋“ฑ CSS๋ฅผ ๋”ฐ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

๋ฏธ๋””์–ด์ฟผ๋ฆฌ ๋ถ„๊ธฐ์ 

 

1. ๋…ธํŠธ๋ถ & ํƒœ๋ธ”๋ฆฟ ๊ฐ€๋กœ (ํ•ด์ƒ๋„ 1024px ~ 1279px)

 

2. ํƒœ๋ธ”๋ฆฟ ๊ฐ€๋กœ (ํ•ด์ƒ๋„ 768px ~ 1023px)

 

3. ๋ชจ๋ฐ”์ผ ๊ฐ€๋กœ & ํƒœ๋ธ”๋ฆฟ ์„ธ๋กœ (ํ•ด์ƒ๋„ 480px ~ 767px)

 

4. ๋ชจ๋ฐ”์ผ ์„ธ๋กœ (ํ•ด์ƒ๋„ ~ 479px)

 

 

4๊ฐ€์ง€์˜ px ๊ธฐ์ค€์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๊ณ„ํš์— ๋”ฐ๋ผ ๋ถ„๊ธฐ์ ์€ ๋‹ค๋ฅด๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ €๋Š” pc๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€๊ณ , ๋ชจ๋ฐ”์ผ์— ๋Œ€ํ•œ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

 

/* ๋…ธํŠธ๋ถ & ํƒœ๋ธ”๋ฆฟ ๊ฐ€๋กœ (ํ•ด์ƒ๋„ 1024px ~ 1279px)*/ 
@media all and (min-width:1024px) and (max-width:1279px) { 
  //์Šคํƒ€์ผ ์„ค์ •
} 

/* ํƒœ๋ธ”๋ฆฟ ๊ฐ€๋กœ (ํ•ด์ƒ๋„ 768px ~ 1023px)*/ 
@media all and (min-width:768px) and (max-width:1023px) { 
  //์Šคํƒ€์ผ ์„ค์ •
} 

/* ๋ชจ๋ฐ”์ผ ๊ฐ€๋กœ & ํƒœ๋ธ”๋ฆฟ ์„ธ๋กœ (ํ•ด์ƒ๋„ 480px ~ 767px)*/ 
@media all and (min-width:480px) and (max-width:767px) {
  //์Šคํƒ€์ผ ์„ค์ •
} 

/* ๋ชจ๋ฐ”์ผ ์„ธ๋กœ (ํ•ด์ƒ๋„ ~ 479px)*/ 
@media all and (max-width:479px) {
  //์Šคํƒ€์ผ ์„ค์ •
}

 

 

 

 

์ ์šฉํ•œ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•

 

1. ๊ฐœ๋ฐœ์ž๋„๊ตฌ (f12)๋กœ ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

2. ์™ผ์ชฝ ์œ„ ์ƒ๋‹จ์˜ ๋ชจ๋ฐ”์ผ ํ™”๋ฉด ์ „ํ™˜ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. (์•„๋ž˜ ์ด๋ฏธ์ง€์—์„œ๋Š” Elements ์˜† ๋ฒ„ํŠผ)

3. ์ƒ๋‹จ px ์‚ฌ์ด์ฆˆ๋ฅผ ์›ํ•˜๋Š” ๋Œ€๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. (์ˆซ์ž ์ž…๋ ฅ ์นธ ์•„๋ž˜์˜ ์ƒ์ž๋ฅผ ๋ˆŒ๋Ÿฌ๋„ ์‚ฌ์ด์ฆˆ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

 

 

 

 

๊ฐœ๋ฐœ์ด ๋๋‚œ ํ›„์—๋Š” ์Šค๋งˆํŠธํฐ์œผ๋กœ ์ ‘์†ํ•˜์—ฌ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

์ ์šฉ ์˜ˆ์‹œ

 

๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์ ์šฉ ์ „

 

 

 

 

 

๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์ ์šฉ ํ›„

 

 

 

 

 

๋ฏธ๋””์–ด์ฟผ๋ฆฌ ์‚ฌ์šฉ ์‹œ ํ™•์ธํ•ด์•ผ ํ•  ์‚ฌํ•ญ

 

 

rem? px?

 

๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์‰ฝ๊ฒŒ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฒ˜์Œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ๋ถ€ํ„ฐ ๋‹จ์œ„๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

 

 ์ ˆ๋Œ€์ ์ธ ๋‹จ์œ„์ธ px๊ฐ€ ์•„๋‹Œ ์ƒ๋Œ€์ ์ธ ๋‹จ์œ„์ธ rem, em, vw, vh๋“ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ˜์‘ํ˜• ์›น์„ ๋งŒ๋“ค๊ธฐ๊ฐ€ ํ›จ์”ฌ ํŽธ๋ฆฌํ•˜๊ณ  ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

 

 

 

class ์„ค์ •

 

์ฒ˜์Œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ๊ณ ๋ คํ•œ ํ›„ class์„ค์ •์„ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, ์ €๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ input box๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

(๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์€ ์ด์ „ ๊ฒŒ์‹œ๊ธ€ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.)

2024.01.06 - [IT/JavaScript] - [CSS] ๋ฒ„ํŠผ CSS ํšจ๊ณผ (์ž…๋ ฅ input ์นธ, ๋“œ๋กญ๋‹ค์šด dropdown ๋ฉ”๋‰ด ๊พธ๋ฏธ๊ธฐ)

 

[CSS] ๋ฒ„ํŠผ CSS ํšจ๊ณผ (์ž…๋ ฅ input ์นธ, ๋“œ๋กญ๋‹ค์šด dropdown ๋ฉ”๋‰ด ๊พธ๋ฏธ๊ธฐ)

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์„ธ๊ณ„๋ฅผ ํƒ๊ตฌํ•ฉ์‹œ๋‹ค. CSS ํšจ๊ณผ (์ž…๋ ฅ input ์นธ, ๋ฒ„ํŠผ, ๋“œ๋กญ๋‹ค์šด dropdown ๋ฉ”๋‰ด ๊พธ๋ฏธ๊ธฐ) CSS ํšจ๊ณผ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ž…๋ ฅ ์นธ, ๋ฒ„ํŠผ, ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด๋ฅผ ๊พธ๋ฐ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ตฌํ˜„ ํ™”๋ฉด ์ž…๋ ฅ ์นธ์— 1955๋…„~2070

ityranno.tistory.com

 

 


๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ ์šฉํ•˜๊ธฐ ์ „์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

 

powerprice.html

<body>
  <div id="powerprice-container">
    <div id="input-container">
      <input type="number" id="powerprice-yearInput" min="0" placeholder="1955๋…„~2070๋…„ ์‚ฌ์ด์˜ ์—ฐ๋„๋งŒ ์ž…๋ ฅํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค." />
      <select class="year-dropdown" id="year-dropdown" onchange="updateYearInput()">
        <script>
          for (let i = 1955; i <= 2070; i++) {
            document.write('<option value="' + i + '">' + i + '</option>');
          }
        </script>
      </select>
      <button onclick="getPowerPrice()">ํ™•์ธ</button>
    </div>
    <p id="powerprice-result"></p> <!-- ์—ฌ๊ธฐ์— ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. -->
  </div>
</body>

 

 

 

๊ทธ๋Ÿฌ๋‚˜, ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋ ค๊ณ  ํ•˜๋‹ˆ ๋ชจ๋“  ์š”์†Œ๊ฐ€ powerprice-container ์•ˆ์— ๋“ค์–ด๊ฐ€ ์žˆ์–ด ๋ถˆํŽธํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

  <div id="powerprice-container">
    <div id="input-container">
      <input type="number" id="powerprice-yearInput" min="0" placeholder="1955๋…„~2070๋…„ ์‚ฌ์ด์˜ ์—ฐ๋„๋งŒ ์ž…๋ ฅํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค." />
      <select class="year-dropdown" id="year-dropdown" onchange="updateYearInput()">
        <script>
          for (let i = 1955; i <= 2070; i++) {
            document.write('<option value="' + i + '">' + i + '</option>');
          }
        </script>
      </select>
    </div>
    <button onclick="getPowerPrice()">ํ™•์ธ</button>
  </div>
  <p id="powerprice-result"></p> <!-- ์—ฌ๊ธฐ์— ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. -->

 

button๊ณผ powerprice-result์˜ ์œ„์น˜๋ฅผ ์˜ฎ๊ฒจ์„œ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

 

์ด์ฒ˜๋Ÿผ ๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ชจ๋ฐ”์ผ ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•˜๋ ค๋Š” ๊ณ„ํš์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๋ฉด ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ ์ž‘์„ฑํ•  ๋•Œ๋ถ€ํ„ฐ ํ•ด๋‹น ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•˜์—ฌ class์™€ div๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

๋ชจ๋ฐ”์ผ ์šฐ์„  ์ ‘๊ทผ (Mobile First)

 

์ž‘์€ ํ™”๋ฉด์— ๋Œ€ํ•œ ์Šคํƒ€์ผ์„ ๋จผ์ € ์ž‘์„ฑํ•˜๊ณ , ์ ์ฐจ์ ์œผ๋กœ ํฐ ํ™”๋ฉด์— ๋Œ€ํ•œ ์Šคํƒ€์ผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์ด ์ ‘๊ทผ๋ฒ•์€ ๋Œ€๋ถ€๋ถ„์˜ ์›น ํŠธ๋ž˜ํ”ฝ์ด ๋ชจ๋ฐ”์ผ ๊ธฐ๊ธฐ์—์„œ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ํ˜„๋Œ€ ์›น์˜ ์ถ”์„ธ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

 

์ €๋Š” 375px๋‚˜ 425px ๊ธฐ์ค€์œผ๋กœ ์šฐ์„  ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

 

๊ตฌํ˜„ ํ™”๋ฉด์„ ๋” ์ƒ์„ธํžˆ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์•„๋ž˜ ์‚ฌ์ดํŠธ ์ฐธ๊ณ  ๋ฐ”๋ž๋‹ˆ๋‹ค.

 

https://ityrannosaurus.github.io/power/

 

๋‚ด์ผ์˜ ์ „๊ธฐ์„ธ

scikit-learn ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํ˜•ํšŒ๊ท€(Linear Regression) ๋ฐฉ์‹์œผ๋กœ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ 2070๋…„๊นŒ์ง€์˜ ์˜ˆ์ธก๊ฐ’์„ ์ถœ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

ityrannosaurus.github.io

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•

loading