๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์—์„œ 100vh ์˜ค๋ฅ˜(์ง์ ‘ํ•ด๋ณด๊ธฐ)

2021. 12. 17. 18:13ยท๐ŸฃcodeLab

๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์—์„œ 100vh ์˜ค๋ฅ˜

 

โ›”์˜ค๋ฅ˜

module ํด๋ž˜์Šค์— 100vh ์Šคํƒ€์ผ ์ง€์ • ํ›„, ์›น ๋ธŒ๋ผ์šฐ์ € ๋ชจ๋ฐ”์ผ ์‚ฌ์ด์ฆˆ์—์„œ๋Š” ์ž˜ ๋ณด์˜€์œผ๋‚˜, ๋ชจ๋ฐ”์ผ์—์„œ๋Š” ์•„๋ž˜์˜ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ 100vh๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๊ณ  ํ…์ŠคํŠธ๊ฐ€ ๋ฐ€๋ ค๋‚˜๋Š” ํ™”๋ฉด์ด ๋ณด์˜€๋‹ค.

โบ๊ธฐ์ค€๊ณผ ๋ฌธ์ œ์ .

์•„์ดํฐ๊ธฐ์ค€. 14๋ฒ„์ „.

๋ฌด์กฐ๊ฑด 100vh!! ์–ด๋А ๊ธฐ๊ธฐ๋“  ํ™”๋ฉด ์œ„์•„๋ž˜์™€ ๋งž์ถ˜๋‹ค.

์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” 100vh๊ฐ€ ์ ์šฉ๋˜๋‚˜ ๋ชจ๋ฐ”์ผ ํฌ๋กฌ, ํŒŒ์ด์–ดํญ์Šค, ์‚ฌํŒŒ๋ฆฌ๊ฐ€ ์ ์šฉ์ด ์•ˆ๋จ.

 


๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €๋งŒ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ์•„๋ž˜ css ์ ์šฉ.

@media only screen and (max-device-width: ๋ชจ๋ฐ”์ผ์‚ฌ์ด์ฆˆ) {
    /* ์•„๋ž˜ ์˜ˆ์ œ๋Š” 640px๋กœ ๊ธฐ์ค€! */
    /* ์Šค๋งˆํŠธํฐ๋งŒ ์ผ๋‹จ ํ™•์ธ(tablet์€ ๋ณ„๋„ ํ•„์ˆ˜) */
    /* ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ธฐ๊ธฐํˆด๋ฐ”์ „ํ™˜ํ•  ๊ฒฝ์šฐ์—๋„ ์ด ์Šคํƒ€์ผ์ด ์ ์šฉ */
}

์ด์œ 

.module {
    /*
    ์—ฌ๊ธฐ์„œ ์ ์šฉํ•˜๋ฉด ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‚ฌ์ด์ฆˆ ์ค„์ผ ๋•Œ ์ ์šฉ๋จ.
    ๋ชจ๋ฐ”์ผ์—์„œ๋งŒ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์œ„์˜ @meida ์‚ฌ์šฉ!!
    */
}

 

stackoverflow๋‚˜ ๋ธ”๋กœ๊ทธ ๋‹ค ๋’ค์ ธ๋ณธ ๊ฒฐ๊ณผ ๋งŽ์ด ๋‚˜์˜จ ๊ฑธ๋กœ ํ…Œ์ŠคํŠธํ•ด๋ด„.

 

ํ•ด๋ณธ ๋ฐฉ๋ฒ•1 โŒ

.module { width: 100%; height: 100vh; }
// jQuery
$('.module').css({height: $(window).innerHeight() });
  • ๋ชจ๋ฐ”์ผ ์‚ฌํŒŒ๋ฆฌ์กฐ์ฐจ๋„ ์•ˆ๋จ.

 

ํ•ด๋ณธ ๋ฐฉ๋ฒ•2 โŒ

.module { height: 100vh; }
@media only screen and (max-device-width: 640px) {
    .module {
        min-height: -webkit-fill-available;
        min-height: -moz-available;
        min-height: available; 
    }
}
  • ๋ชจ๋ฐ”์ผ ์‚ฌํŒŒ๋ฆฌ ๋จ.
  • ๋ชจ๋ฐ”์ผ ํŒŒ์ด์–ดํญ์Šค ์•ˆ๋จ.
  • ๋ชจ๋ฐ”์ผ ํฌ๋กฌ์•ˆ๋จ.

 

ํ•ด๋ณธ๋ฐฉ๋ฒ•3 โŒ

.module { width: 100vh; }
@media only screen and (max-width: 640px) {
    .module {
        min-height: calc(100vh - calc(100vh - 100%));
    }
}
  • ๋ชจ๋ฐ”์ผ ์‚ฌํŒŒ๋ฆฌ ๋จ.
  • ๋ชจ๋ฐ”์ผ ํŒŒ์ด์–ดํญ์Šค ์•ˆ๋จ.
  • ๋ชจ๋ฐ”์ผ ํฌ๋กฌ ์•ˆ๋จ.

 

ํ•ด๋ณธ๋ฐฉ๋ฒ•4 โŒ

body { height: -webkit-fill-available; }
.module { height: 100vh; min-height: -webkit-fill-available; }
  • ๋ชจ๋ฐ”์ผ ์‚ฌํŒŒ๋ฆฌ ๋จ.
  • ๋ชจ๋ฐ”์ผ ํŒŒ์ด์–ดํญ์Šค ์•ˆ๋จ.
  • ๋ชจ๋ฐ”์ผ ํฌ๋กฌ ์•ˆ๋จ.

 

ํ•ด๋ณธ ๋ฐฉ๋ฒ•5 โญ•

.module { width: 100vh; }
@media only screen and (max-device-width: 640px) {
    .module { 
        height: calc(var(--var, 1vh) * 100);
    }
}
let vh = window.innerHeight * 0.01;
document.documentElement.style.setProperty('--vh', `${vh}px`);

// resize
window.addEventListener('resize', () => {
    let vh = window.innerHeight * 0.01;
    document.documentElement.style.setProperty('--vh', `${vh}px`);
})
  • ๋ชจ๋ฐ”์ผ ์‚ฌํŒŒ๋ฆฌ ๋จ.
  • ๋ชจ๋ฐ”์ผ ํŒŒ์ด์–ดํญ์Šค ๋จ.
  • ๋ชจ๋ฐ”์ผ ํฌ๋กฌ ๋จ.
  • ๋ชจ๋ฐ”์ผ ์นด์นด์˜ค(๋ฐ”๋กœ๊ฐ€๊ธฐ ๋งํฌ) ๋จ.

The trick to viewport units on mobile

 


๊ฒฐ๊ตญ์€ ๋Œ๊ณ ๋Œ์•„ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค..๐Ÿ˜ญ

 

 

vscode๋กœ live server(๋ผ์ด๋ธŒ์„œ๋ฒ„) ๋ชจ๋ฐ”์ผ๋กœ ํ™•์ธํ•˜๊ธฐ

https://jae04099.tistory.com/entry/VSCode-Live-Server-%EB%82%B4-%EB%AA%A8%EB%B0%94%EC%9D%BC-%EA%B8%B0%EA%B8%B0%EC%97%90%EC%84%9C-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0


Reference

https://stackoverflow.com/questions/37112218/css3-100vh-not-constant-in-mobile-browser

https://zinee-world.tistory.com/599

https://codepen.io/team/css-tricks/pen/WKdJaB

https://stackoverflow.com/questions/37112218/css3-100vh-not-constant-in-mobile-browser

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐ŸฃcodeLab' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋””๋ฐ”์ด์Šค(device) ๊ธฐ๊ธฐ ํ™•์ธ ์Šคํฌ๋ฆฝํŠธ
  • column-count์‚ฌ์šฉํ•˜์—ฌ masonry ๋‚˜ํƒ€๋‚ด๊ธฐ
  • 3Depth(level) ๋งŒ๋“ค๊ธฐ
  • <select> ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ๋งŒ๋“ค์–ด๋ณด๊ธฐ
jmjm
jmjm
  • jmjm
    /* jmjmjm */
    jmjm
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (134)
      • ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ปSTUDY (96)
        • HTML (9)
        • CSS (25)
        • SASS (4)
        • JavaScript (17)
        • jQuery (9)
        • Publishing (8)
        • Git (11)
        • React (11)
        • Vue (0)
        • ์›น์ ‘๊ทผ์„ฑ (1)
        • Gulp (1)
      • ๐ŸฃcodeLab (27)
      • ๐ŸŒˆetc (8)
      • ๐Ÿฅฐ ์ผ์ƒ (2)
      • ๐ŸŒŸ์ฝ์–ด๋ณด๊ธฐ (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    css ํ˜•์ œ์ธ์ ‘์ž ์•ˆ๋ผ์š”
    ์ ‘๊ทผ์„ฑ ์ฃผ์˜์‚ฌํ•ญ
    sticky jsfiddle
    ์•„์ฝ”๋””์–ธ๋ฉ”๋‰ด
    javascript nodelist
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹ ๋ฌธ
    javascript htmlcollection
    react import export
    vscode ๋‹จ์ถ•ํ‚ค
    css flex
    ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น ์ข…๋ฅ˜
    HTML Form
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ปฌ๋ ‰์…˜
    sass
    javascript ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
    javascript ์ปฌ๋ ‰์…˜
    ํ˜•์ œ์ธ์ ‘์ž
    sticky ํ™œ์šฉ
    ํ˜•์ œ์ธ์ ‘์ž ์•ˆ๋˜๋Š” ์ด์œ 
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ slideup
    sass compiler
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹๋ฌธ
    css ๊ฐ€์ƒ์„ ํƒ์ž
    html collection
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ตฌ์กฐ๋ถ„ํ•ดํ• ๋‹น
    ํ˜•์ œ์ธ์ ‘์ž display none
    sticky codepen
    CSS ์„ ํƒ์ž
    javascript htmlcollection nodelist
    ์›น์ ‘๊ทผ์„ฑ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
jmjm
๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์—์„œ 100vh ์˜ค๋ฅ˜(์ง์ ‘ํ•ด๋ณด๊ธฐ)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”