๋ฐ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ
css calc ํจ์ ์ด์ฉํด์ ๋ฐ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
๋ฐ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง๋ฅผ calcํจ์๋ฅผ ์ด์ฉํด์ ๋ง๋ค๊ธฐ
๋ฐ์ํ ๋ฐฐ๊ฒฝ์ด๋ฏธ์ง ๋ง๋ค๊ธฐ ์ด๋ ต์ง ์๊ฒ ํด๊ฒฐ
๋ฐ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง calc ํจ์
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10,user-scalable=yes">
<title>๋ฐ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ฃ๊ธฐ</title>
<style>
.heroBox {margin:0 auto; max-width:860px; height:0; padding-bottom:calc(700/860*100%); background:url('๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง๊ฒฝ๋ก') no-repeat center center/contain; text-align:center;}
</style>
</head>
<body>
<div class="heroBox">
<p>๋ฐ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋๋ฅผ ๋ง๋ค์ด๋ณด์ธ.</p>
</div>
</body>
</html>
css์์ ๋ฐฑ๊ทธ๋ผ์ด๋๊ฐ ๋ค์ด๊ฐ div ํฌ๊ธฐ๋ฅผ ์ ํด์ค๋ค.
๋ฐ์ํ์ผ๋ก ํ ๊ฑฐ๋ผ์ max-width ๊ฐ์ ๋ฃ์ด์ค
๊ทธ๋ฆฌ๊ณ height ๊ฐ์ 0์ผ๋ก ํด์ฃผ๊ณ ๋์ padding-bottom์ด๋ padding-top ๊ฐ์ผ๋ก ๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ ํฌ๊ธฐ๋ฅผ ๋น์จ๋ก ๊ณ์ฐํด์ ๋ฃ์ด์ค๋ค.
padding-bottom : ๋ฐฑ๊ทธ๋ผ์ด๋ ์ธ๋ก ๋๋น๊ฐ/๊ฐ๋ก ๋๋น๊ฐ*100%
๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง๊ฐ ๋ค์ด๊ฐ ํฌ๊ธฐ๊ฐ ๊ฐ๋ก: 860px ์ธ๋ก: 700px ์ด๋ฏ๋ก
padding-bottom: calc(700/860*100%); ์ผ๋ก ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10,user-scalable=yes">
<title>๋ฐ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ฃ๊ธฐ</title>
<style>
.heroWrap {position: relative; margin: 0 auto; max-width: 860px;}
.heroWrap::before {content:""; display: block; padding-top: calc(700/860*100%);}
.heroBox {position: absolute; left: 0; top: 0; bottom: 0; right: 0; background:url('๋ฐฑ๊ทธ๋ผ์ด๋ ์ด๋ฏธ์ง๊ฒฝ๋ก') no-repeat center center/contain; text-align:center;}
</style>
</head>
<body>
<div class="heroWrap">
<div class="heroBox">
<p>๋ฐ์ํ ๋ฐฑ๊ทธ๋ผ์ด๋๋ฅผ ๋ง๋ค์ด๋ณด์ธ.</p>
</div>
</div>
</body>
</html>
height:0 ๊ฐ์ ๋ฃ์ด ์ฃผ์ง ์์ ๊ฒฝ์ฐ,
๋ฐฑ๊ทธ๋ผ์ด๋๊ฐ ๋ค์ด๊ฐ๋ div๋ฅผ div๋ก ํ๋ฒ ๋ ๊ฐ์ผ ๋ค์ before ๊ฐ์์ ํ์๋ฅผ ์ด์ฉํด์ padding-top ๊ฐ์ calc(์ธ๋กํฝ์ /๊ฐ๋กํฝ์ *100%)๋ก ๊ณ์ฐํ ๋ค์ ํ ์คํธ๊ฐ ๋ฐฉํด๋์ง ์๋๋ก before๋ก ์์น์ํจ๋ค.
after๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ z-index:1์ ํ๋ฒ๋ ์ค์ ํด์ผํ๋ ๊ท์ฐฎ์์ด ์๋ค.
๋ฐฑ๊ทธ๋ผ์ด๋๊ฐ ๋ค์ด๊ฐ๋ div๋ฅผ position: absolute; left:0; top:0; bottom:0; right:0; ๋ก ๊ฝ์ฐจ๊ฒ ํํ ๊ฒน์ณ์ ์ข
ํก๋น๊ฐ ์ ์ง๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋๋ฅผ ๋ง๋ ๋ค.
.heroWrap {position : relative; max-width:860px;}
.heroWrap::before {content: ""; display: block; padding-top: calc(์ธ๋กํฝ์ /๊ฐ๋กํฝ์ *100%);}
.heroBox {position: absolute; left: 0; top: 0; bottom: 0; right: 0; background:๋ฐฑ๊ทธ๋ผ์ด๋ ๊ฒฝ๋ก ํฌ๊ธฐ ์์น ๋ฑ;}
padding-top:100%; ๋๋ padding-bottom:100%๋ ๊ฐ๋ก๋๋น๊ฐ๊ณผ ๊ฐ์์ ์ดํดํ์ฌ์ผ ํ๋ค.
๊ณ ๋ฏผ๋๋ background image๋ฅผ ํ๋ฉด์ ๋ง๊ฒ ์ ์ด์ฉํ ์ ์๋ค.
์ด ํฌ์คํ ์ ์ฟ ํก ํํธ๋์ค ํ๋์ ์ผํ์ผ๋ก,์ด์ ๋ฐ๋ฅธ ์ผ์ ์ก์ ์์๋ฃ๋ฅผ ์ ๊ณต๋ฐ์ต๋๋ค.
'HTML&CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
background css ์ถ์ฝ, ํ๋ฒ์ ์ฐ๋ ๋ฐฉ๋ฒ, ์ค์ฌ์ ์จ๋ณด์ (1) | 2021.12.01 |
---|---|
before after css ๊ฐ์์์ ์ ํ์ (0) | 2021.11.19 |
์ด๋ฏธ์ง ๋งต ๋ง๋ค๊ธฐ(์ด๋ฏธ์ง ๋งต ์ขํ๊ฐ ์ฝ๊ฒ ์ฐพ๊ธฐ) (0) | 2021.06.16 |
๋ฌด๋ฃ ์์ด์ฝ ์ฌ์ดํธ - BEST 8๊ฐ ์ฌ์ดํธ๐ (0) | 2021.06.08 |
์ ํ๋ธ ๋์์ ์๋์คํ ์์ค (0) | 2020.11.27 |