display CSS ์์ฑ์ ๋ธ๋ก๊ณผ ์ธ๋ผ์ธ ์์ ์ค ์ด๋ ์ชฝ์ผ๋ก ์ฒ๋ฆฌํ ์ง, flow, grid, flex์ ๊ฐ์ด ์์ ์์๋ฅผ ๋ฐฐ์นํ ๋ ์ฌ์ฉํ ๋ ์ด์์์ ์ค์ ํ๋ค.
๋จผ์ ์ธ๋ผ์ธ ์๋ฆฌ๋จผํธ์ ๋ธ๋ญ๋ ๋ฒจ ์๋ฆฌ๋จผํธ์ ์ฐจ์ด์ ๋ถํฐ ์์๋ณด๋ฉด์ display๋ฅผ ์ค๋ช ํด๋ณด์.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
h1,a{border:1px solid red;}
</style>
</head>
<body>
<h1>Hello world</h1>
์๋
ํ์ธ์. <a href="https://opentutorials.org">์ํ์ฝ๋ฉ</a>์
๋๋ค.
</body>
</html>
h1ํ๊ทธ๋ ํ๋ฉด ์ ์ฒด๋ฅผ ์ฐ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. aํ๊ทธ๋ ์๊ธฐ ํฌ๊ธฐ๋งํผ ๊ณต๊ฐ์ ์ฐจ์งํ๊ณ ์๋ค.
aํ๊ทธ์ฒ๋ผ ์์ ๊ณผ ์์ ์ ๋๋ฌ์ธ๊ณ ์๋ ๋ค๋ฅธ ํ ์คํธ, ์ ๋ณปใน๊ณผ ํ๋์ด ๊ฐ์ ์ค์ ์์นํ๋ ํํ์ element๋ฅผ inline element๋ผ๊ณ ํ๋ค.
h1ํ๊ทธ์ ๊ฐ์ด ์๊ธฐ ํผ์์ ํ๋ฉด ์ ์ฒด๋ฅผ ๋ค ์ฐ๋ element๋ฅผ block level element๋ผ๊ณ ํ๋ค.
HTML์ ๋ง์ ํ๊ทธ๋ค ์ค์์๋ inline, block level ๊ฐ์ด ๊ณ ์ ํ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋ค.
ํ์ง๋ง inline์ block level๋ก, block level์ inline์ผ๋ก ์ผ๋ง๋ ์ง ๋ณ๊ฒฝํ ์ ์๋ค.
h1{display: inline;}
a{display:block;}
์ ์ฝ๋๋ฅผ style์์ฑ์ ์ถ๊ฐํ๊ฒ ๋๋ฉด ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๋ชจ์ต์ ๋ฐ๊ฒฌํ ์ ์๋ค.
์์ธํ ์์๋ณด๊ธฐ ์ํด์๋ ๋๋ฆผ์ฝ๋ฉ CSS ๋ ์ด์์ ์ ๋ฆฌ ์์์ ์ฐธ๊ณ ํ์.
display:inline์ ์ปจํ ์ธ ์์ฒด๋ง์ ๊พธ๋ฉฐ์ค๋ค. css์์ ์ง์ ํ ๋ฐ์ค์ width๋ height๋ฅผ ์ ์ํ ๊ฒ๋ค์ ๋ฌด์ํ๊ณ ์์ ๋ค์ด์๋ ์ปจํ ์ธ ํฌ๊ธฐ๋งํผ ๋ณ๊ฒฝ๋๋ค.
display:inline-block์ ํ ์ค์ ์ ๋ ฌ๋์ง๋ง inline๊ณผ ๋ฐ๋๋ก block ๋จ์๋ก ๋ณ๊ฒฝ๋์ด ์์ ์ปจํ ์ธ ์ ํฌ๊ธฐ์ ์๊ด์์ด css์์ ์ง์ ํ ๋ฐ์ค์ width๋ height๋ฅผ ์ ์ํ ๊ฒ๋ค์ ๋ง์ถฐ์ ํ๊ธฐ๋๋ค.
display:block์ inline-block๊ณผ ๊ฐ์ด ์์์ธ๋ฐ ํ ์ค ๋น ํ๋์ฉ ํ๊ธฐ๋๋ค.
display์์ฑ์ ํค์๋ ๊ฐ์ ์ฌ์ฉํด ์ง์ ํ๋ค. ํค์๋๋ 5๊ฐ์ ์นดํ ๊ณ ๋ฆฌ๋ก ๋ถ๋ฅ๊ฐ ๊ฐ๋ฅํ๋ค.
MDN Display์์ ๋ ์์ธํ ์์๋ณด์.
1) <display-outside>
: element์ ์ธ๋ถ ๋์คํ๋ ์ด ์ ํ์ ์ค์ ํ๋ค.
2) <display-inside>
: element์ ๋ด๋ถ ๋์คํ๋ ์ด ์ ํ์ ์ค์ ํ๋ค.
3) <display-listitem>
: element๊ฐ ์ฝํ
์ธ ๋ธ๋ก ๋ฐ์ค๋ฅผ ์์ฑํ๊ณ , ๋ฆฌ์คํธ ์์ดํ
์ธ๋ผ์ธ ๋ฐ์ค๋ฅผ ๋ถ๋ฆฌํ๋ค.
4) <display-internal>
: table, ruby ๋ฑ ์ผ๋ถ ๋ ์ด์์ ๋ชจ๋ธ์ ๋ณต์กํ ๋ด๋ถ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ฉฐ, ์์๊ณผ ์์์ ์ฑ์๋ฃ๋ ์ฌ๋ฌ๊ฐ์ง ์ญํ ์ ์ง๋๋ค.
5) <display-box>
: element์ ๋์คํ๋ ์ด ๋ฐ์ค๋ฅผ ์์ฑํ๋ค.
MDN Display
๋๋ฆผ์ฝ๋ฉ CSS ๋ ์ด์์ ์ ๋ฆฌ
์ํ์ฝ๋ฉ CSS ์ธ๋ผ์ธ VS ๋ธ๋ก๋ ๋ฒจ