html
์์ ์ ๊ณต๋๋ ์ฒดํฌ๋ฐ์ค์ ๋ชจ์์ด ์๋๋ผ, ์ํ๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ ๋ CSS๋ง์ ์ด์ฉํด์ ์ฒดํฌ๋ฐ์ค๋ฅผ ๊ตฌํํด๋ณด์.
๊ธฐ๋ณธ์ ์ธ ์๋ฆฌ๋ ์ด๋ฌํ๋ค.
checkbox
ํ์
์ธ input
์ label
์ ๋๋ฌ๋ ์ฒดํฌ๋ฐ์ค๋ฅผ ํด๋ฆญํ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ด์ฉํ๋ค.
์ฐ์ ์ฒดํฌ๋ฐ์ค์ blind
ํด๋์ค๋ฅผ ์ฃผ์ด์ ํ๋ฉด์์์๋ ๋ณด์ด์ง ์๊ฒ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ผ๋ฒจ์ ๊ฐ์์์๋ฅผ ์ด์ฉํ์ฌ before
์ ์ํ๋ ์ด๋ฏธ์ง๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋๋ก ์ฝ์
ํ๋ค.
์ฒดํฌ๋ฐ์ค๊ฐ ์ ํ๋์์ ๋(:checked
) ์ธ์ ํ์ ์ ํ์๋ฅผ ์ด์ฉํ์ฌ ์ ํ๋์์ ๋์ ์ด๋ฏธ์ง๋ฅผ ์ฝ์
ํ๋ค.
<input type="checkbox" id="chkbox" name="checkbox" class="btn-stay blind">
<label for="chkbox" class="btn-stay">๋ก๊ทธ์ธ ์ํ์ ์ง</label>
.btn-stay {
display: inline-block;
margin-bottom: 21px;
color: #767676;
}
.btn-stay::before {
display: inline-block;
content: '';
width: 22px;
height: 22px;
background-image: url(../check-box-unchecked.png);
background-size: 22px;
vertical-align: middle;
margin-right: 8px;
}
.btn-stay:checked + .btn-stay::before {
background-image: url(../check-box-checked.png);
}
์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ ค๋ฉด, label
์ด input
์ ๋ค์ ์ค๊ฒ ๋๋๋ฐ, ๋งํฌ์
๊ตฌ์กฐ์ ๋ง๋์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค๐
<ul class="container">
<li class="item">
<a href="#">list1</a>
</li>
<li class="item">
<a href="#">list2</a>
</li>
<li class="item">
<a href="#">list3</a>
</li>
<li class="item">
<a href="#">list4</a>
</li>
</ul>
.container {
display: flex;
}
display: flex;
๋ฅผ ํด์ฃผ๋ฉด ๋ธ๋ก์์๋ ์ธ๋ผ์ธ์ฒ๋ผ ์ปจํ
์ธ ์ ๋๋น๋งํผ๋ง ๋๋น๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
display: flex;
๋ ์ง๊ณ ์์์๊ฒ ๊น์ง๋ง ์ ์ฉ์ด ๋ฉ๋๋ค.
๊ธฐ๋ณธ ํฌ๊ธฐ๋ฅผ ์ง์ ํด์ค๋๋ค. flex-direction
๊ณผ ์ฐ๊ด์ด ์์ต๋๋ค.
row
๋ผ๋ฉด ๋๋น๋ฅผ, column
์ด๋ผ๋ฉด ๋์ด๋ฅผ ์ง์ ํด์ค๋๋ค.
item
์ ์จ์ฃผ์ด์ผ ํฉ๋๋ค.
๋ง์ฝ, width
, flex-basis
๊ฐ ๋ ๋ค ์ ์ธ๋์๋ค๋ฉด,
flex-basis
๊ฐ ์ ์ฉ์ด ๋ฉ๋๋ค.
๋ ๋ง์ฝ, flex-basis
์ ํฌ๊ธฐ๊ฐ max-width
๊ฐ์ ๋๊ธด๋ค๋ฉด,
max-width
๊ฐ ์ ์ฉ๋ฉ๋๋ค(min-width
๋ํ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค.)
๋จ์ ๊ณต๊ฐ์ ์ฑ์ธ๋ ์ฌ์ฉํฉ๋๋ค.
์ง์ ํด์ฃผ๋ ์ซ์๋งํผ ๋น์จ์ ์ฐจ์งํฉ๋๋ค.
.item:nth-child(1) { flex-grow: 1;}
.item:nth-child(2) { flex-grow: 2;}
.item:nth-child(3) { flex-grow: 1;}
.item:nth-child(4) { flex-grow: 1;}
์ง์ ํด์ค ์ซ์์ ํฌ๊ธฐ๋งํผ ์ปจํ ์ด๋์ ๋จ์ ๊ณต๊ฐ์ ๋๋ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
๋จ์ ๊ณต๊ฐ์ ๋๋์ด ๊ฐ์ง๋ ๊ฒ์ ๋๋ค!!!!
ํ๋์ ์ํฉ์ ๊ฐ์ ํด๋ด
์๋ค.
flex-basis๊ฐ 200px์ธ ์์ดํ
์ด 4๊ฐ์์ต๋๋ค.
flex-grow๋ ๊ฐ๊ฐ 1๋ก ์ฃผ์์ต๋๋ค.
์ด ์ํ๋ก ์น์์ ํ์ธํด๋ณด๋ฉด, ์์์ผ๋ก ๊ฐ๋์ฐจ๊ฒ ๋์ต๋๋ค.(grow๊ฐ ์์ผ๋)
์ฐฝ ํฌ๊ธฐ๋ฅผ ์ค์ฌ๋๊ฐ๋ค ๋ณด๋ฉด 799px์ธ ์ง์ ์์ 4๋ฒ์งธ ์์ดํ
์ด ๋ฐ์ผ๋ก ๋ด๋ ค๊ฐ๊ฒ ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ๊ทธ ๋ง์ง๋ง ์์ดํ
์ grow๋๋ฌธ์ ํ ์ค์ ๋ค ์ฐจ์งํฉ๋๋ค.
๋ ์ค์ด๋ค๋ณด๋ฉด, 599px์ธ ์ง์ ์์ 3๋ฒ์งธ ์์ดํ
์ด ๋ฐ์ผ๋ก ๋ด๋ ค๊ฐ๋๋ค.
๋ 399px์์๋ 2๋ฒ์งธ ์์ดํ
์ด ๋ด๋ ค๊ฐ๋๋ค.
์ง๊ธ๋ถํฐ๋ ๋ชจ๋ ์์ดํ
์ ๋๋น๊ฐ 200px์ ๋๊ธด ๋ชจ์์
๋๋ค.
์ด์ฒ๋ผ grow์ basis๊ฐ ํผํฉ๋ ์ํฉ์์๋ ๊ฐ๋ณ์ ์ธ ๋ ์ด์์์ด ์กํ๊ฒ ๋ฉ๋๋ค.
์๋จ(ํค๋)์ ๋ฉ๋ด๋ฅผ ๋ณด๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๋ก๊ณ ๊ฐ ์ผ์ชฝ ๋์ ์๊ณ , ๋ฉ๋ด๋ฐ๊ฐ ์ค๋ฅธ์ชฝ์ ๋ถ์ด์์ต๋๋ค. ์ด๋ฅผ flex
์ํฉ์์ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋ก๊ณ ์ ํด๋์ค์ margin-right: auto;
๋ฅผ ์ฃผ๋ ๊ฒ์
๋๋ค.
์ด ๋, flex-grow
๊ฐ์ด ์๋ค๋ฉด ๋จ์ ๊ณต๊ฐ์ ๋ค ์ฐจ์งํด๋ฒ๋ฆดํ
๋, ์์ด์๋ ์๋ฉ๋๋ค.