๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐ŸฃcodeLab

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

๋ฐ˜์‘ํ˜•

๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์—์„œ 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' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[GSAP] gsap ์ •๋ฆฌ  (0) 2022.04.19
column-count์‚ฌ์šฉํ•˜์—ฌ masonry ๋‚˜ํƒ€๋‚ด๊ธฐ  (0) 2022.02.02
3Depth(level) ๋งŒ๋“ค๊ธฐ  (0) 2021.10.21
swiper slide ์–‘ ์˜† (margin) ์ฃผ๊ธฐ  (0) 2021.08.31
SVG ์ฐธ๊ณ   (0) 2021.08.31