CSS๐Ÿ”ง/css ๊ฐ€๋ณ€ ์š”์†Œ&๋ ˆ์ด์•„์›ƒ

css- pagination ๊ฐ€๋ณ€์š”์†Œ ํŽ˜์ด์ง€๋„ค๋น„๊ฒŒ์ด์…˜ (active)

hyojinny 2022. 10. 4. 10:00

 

๊ฐœ์ˆ˜๋งˆ๋‹ค ์ปจํ…์ธ ๊ฐ€ ๋ณ€ํ•˜๋Š”

๊ฐ€๋ณ€์š”์†Œ๋Š” ๋ฌด์—‡์œผ๋กœ ๋งŒ๋“ค์–ด์•ผํ• ๊นŒ?

 

๊ฒน์น˜๋Š” ์š”์†Œ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— 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;  ํ•„์ˆ˜ ์„ค์ •

 

 


๊ทธ๋‹ค์Œ ๊ณตํ†ต ํด๋ž˜์Šค ์ด๋ฆ„์œผ๋กœ

.btn_num      1,2๋ฒˆ ์ˆซ์ž ๋ฐ•์Šค์™€ 
.btn_paging   ์•„์ด์ฝ˜ ๋ถ€๋ถ„ ์ž๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด์ค€๋‹ค.
 
(btn_paging first ,btn_paging prev)  ๋“ฑ html ์—์„œ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์คฌ์ง€๋งŒ ์•ž๊ธ€์ž์˜ class๋งŒ ์ ์šฉ์‹œ ์ „์ฒด ์ ์šฉ๊ฐ€๋Šฅ
 

 

 

 

.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 ํด๋ž˜์Šค์—  position:relative; ๋กœ ๊ธฐ์ค€์„ ์žก์•„ ๋„์–ด์ค€ํ›„
.board_pagination_wrap .btn_paging:before  before ํด๋ž˜์Šค์— position:absolute; ๋กœ ๊ฒน์น˜๋Š” ์š”์†Œ์—์„œ ๋„์–ด์ค€๋‹ค.
(position ์ •๋ ฌ๊ณต์‹์œผ๋กœ ์œ„์น˜์žก๊ธฐ ๊ฐ€๋Šฅ)
 
 

.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