css- pagination ๊ฐ๋ณ์์ ํ์ด์ง๋ค๋น๊ฒ์ด์ (active)
๊ฐ์๋ง๋ค ์ปจํ ์ธ ๊ฐ ๋ณํ๋
๊ฐ๋ณ์์๋ ๋ฌด์์ผ๋ก ๋ง๋ค์ด์ผํ ๊น?
๊ฒน์น๋ ์์๊ฐ ์๋๊ธฐ ๋๋ฌธ์ position ์๋
์ผ์ชฝ์ด๋ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ถ์ด๋ ์์๋ ์๋๊ธฐ ๋๋ฌธ์ float:left ์๋
inline:block์ผ๋ก ๊ฐ์ด๋ฐ ์ ๋ ฌ์ ํด์ค๋ค.
1. html ํ์ด์ง๋ค์ด์ ์ด๋ฆ ์ง์ ํด์ฃผ๊ธฐ
<div class="board_pagination_wrap">
<div class="board_pagination">
<a href="#" class="btn_paging first">์ฒซํ์ด์ง</a>
<a href="#" class="btn_paging prev">์ด์ </a>
<span class="btn_num active">1</span>
<a href="#" class="btn_num">2</a>
<a href="#" class="btn_paging next">๋ค์</a>
<a href="#" class="btn_paging last">๋ง์ง๋งํ์ด์ง</a>
</div>
</div>
๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋์ด๊ฐ๊ธฐ ๋๋ฌธ์ a ํ๊ทธ๋ก ์ค์
๊ณตํต class ์ด๋ฆ ์ง์ ํ๊ธฐ | |||
<< | btn_paging first | ์ฒซํ์ด์ง | |
< | btn_paging prev | ์ด์ | |
1 | btn_num active | 1 | ํ๋ฉด๋ค์ด์ค์๋ง์ ํ์ฑํ ๋์ด์๋ active ์์๋ก span ์ฌ์ฉ |
2 | ntn_num | 2 | |
> | btn_paging next | ๋ค์ํ์ด์ง | |
>> | btn_paging lasg | ๋ง์ง๋งํ์ด์ง | |
๊ฒ์ํ ํ์ด์ง์ ๊ณตํต์ผ๋ก ๋ค์ด๊ฐ๋ ๋ค์ด๊ฒ์ด์
๋ฐ ์ด๊ธฐ ๋๋ฌธ์ ๊ณตํตํด๋์ค๋ก ์ฒ๋ฆฌํด ์ค๊ฒ. > ํด๋์ค๋ฅผ ์ ํํ ๊ฑธ์ ์๋๋ก ๊ฐ๊ฐ ์ด๋ฆ ์ง์ |
2. css๋ก ๊ณตํต๋ถ๋ถ์ ์์ฑ
2-1 ์๋ฆฌ์ก๊ธฐ
์ ์ฒด div_wrap ๋ถ๋ถ์ ์์ญ ์ค์ margin-top: 20px;
ํ ์คํธ๊ฐ ๊ฐ์ด๋ฐ ์ฌ ์ ์๋๋ก text-align: center;
๊ทธ๋ค์ div class ๋ถ๋ชจ์์์ ๊ฐ๋ณ์ปจํ ์ธ ๋ฏ๋ก display: inline-block; ์ง์ ํ
์ธ๋ผ์ธ๋ธ๋ก ์ค์ ์ ๊ธ์์ทจ๊ธ์ผ๋ก ํ๋จ์ ๊ฐ๊ฒฉ์ด ์๊ธฐ๋ฏ๋ก vertical-align: top; ํ์ ์ค์
๊ทธ๋ค์ ๊ณตํต ํด๋์ค ์ด๋ฆ์ผ๋ก
.board_pagination_wrap .btn_num {
width: 40px;
line-height: 38px;
margin: 0 5px;
border: 1px solid #eee;
color: #777;
}
.board_pagination_wrap .btn_paging {
border: 1px solid blue;
text-indent: -9999px;
width: 22px;
height: 40px;
}
์ด๋ ๊ฒ ๊ฐ๊ฐ์ ๋์ด์ ๋์ด๋ฅผ ์ง์ ํด์คฌ์ง๋ง, border๋ง ๋์ฌ๋ฟ ๋ค๋ฅธ ํ๊ทธ๋ค์ ์ ์ฉ์ด ๋์ง ์๋๋ค.
์๊ทธ๋ด๊น?
๋ฐ๋ก html ์ a ์ด ๊ธ์ ํ๊ทธ ์ด๊ธฐ ๋๋ฌธ์ block ์์๋ก ์ง์ ํด์ฃผ์ด์ผ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค.
๊ทธ๋์ float : left ๋ฅผ ์ฌ์ฉ!
- flat ์์ฑ
display:block ์์๋ก ๋ณ๊ฒฝ๋์ด ๋จ๋ ํจ๊ณผ, ์ข์ฐ๋ฐฐ์น ๊ฐ๋ฅ
.board_pagination_wrap a {
float: left;
}
.board_pagination_wrap span {
float: left;
}
.board_pagination_wrap .btn_num {
float: left;
width: 40px;
line-height: 38px;
margin: 0 5px;
border: 1px solid #eee;
color: #777;
}
.board_pagination_wrap .btn_paging {
border: 1px solid blue;
text-indent: -9999px;
width: 22px;
height: 40px;
}
์์ class์ float:left ๋ฅผ ์ง์ ํด์ฃผ์
์ ์์ ์ผ๋ก ๋์ค๋๊ฑธ ํ์ธ
2-2 active ์ ์ฉ
html๋ก ๋จผ์ ํ์ฑํ ํ ๋ถ๋ถ btn_num active ๋ฅผ ์ง์ ํด ์คฌ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก css์์ ์ ์ฉ์ ํํ ๊ฐ๋ฅ
.board_pagination_wrap .btn_num.active {
background:#bb0841;
border-color: #bb0841;
color: #fff;
}
2-3 ์์ด์ฝ ์์น ์ก๊ธฐ
.board_pagination_wrap .btn_paging:before{
content: '';
width: 14px;
height: 14px;
border: 1px solid red;
}
์ด์ ๋ฐฐ๊ฒฝ์ผ๋ก ์์ด์ฝ์ผ๋ก ๊พธ๋ฉฐ์ฃผ๊ธฐ ์ฃผ๊ธฐ์ํด before์ ์ ์ฉํด์คฌ์ง๋ง ์๋ฌด๊ฒ๋ ๋ณด์ด์ง ์๋๋ค .
์์ผ๊น ?
๋ฐ๋ก ์์ float ์์๋ก ๋ถ๋ชจ๋ค์ด ๋ ์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ ค์ ๋ณด์ด์ง ์๊ธฐ ๋๋ฌธ
๊ทธ๋์ ๊ธฐ์ค์ ์ธ
.board_pagination_wrap .btn_paging:before{
content: '';
width: 14px;
height: 14px;
border: 1px solid red;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}
position ๊ณผ ์ ๋ ฌ๊ณต์์ ์ด์ฉํ์ ์ ๋๋ก ๋์ค๋ ๊ฒ์ ํ์ธ.
2-4 ๋ฐฐ๊ฒฝ์์ด์ฝ ๋ฃ๊ธฐ
ํ๋จ ๋งํฌ์ฐธ์กฐ
https://hyojinny.tistory.com/73
css ๋ฐฐ๊ฒฝ์์ด์ฝ sprite ์ด๋ฏธ์ง๋ก ์ ์ฉํ๊ธฐ
hyojinny.tistory.com