๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CSS๐Ÿ”ง/css

css float, float ํ•ด์ œ

by hyojinny 2022. 9. 9.

float : ๋ฌผ์— ๋– ์žˆ๋‹ค. 

* ์š”์†Œ๋ฅผ ์ขŒ์šฐ๋ฐฐ์น˜ ํ• ๋–„ display:flex๊ฐ€ ์›์น™ 
 ๋‹จ ์ต์Šค ํ•˜์œ„์—์„  ์ ์šฉ์ด ์•ˆ๋˜๋ฏ€๋กœ float๋ฅผ ์‚ฌ์šฉ

 ๊ทธ๋ž˜์„œ ๋ฐ์Šคํฌํƒ‘์€ float ์ฃผ๋กœ์‚ฌ์šฉ / ๋ชจ๋ฐ”์ผ ๋ฐ˜์‘ํ˜•์€ flex๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉ

float float ํ•ด์ œ clearfix
- ๋ถ€๋ชจ(๋ฌผ)์˜ ํ‘œ๋ฉด์— ๋„์šฐ๋Š” ์†์„ฑ

- ์ขŒ์šฐ๋ฐฐ์น˜๊ฐ€ ๋ชฉ์ ์ด ์•„๋‹Œ
   ์ด๋ฏธ์ง€๋ฅผ ๋ฌธ๋‹จ์˜†์— ๋ฐฐ์น˜ํ• ๋•Œ๋„ ์‚ฌ์šฉ 


- ๋ถ€๋ชจ์ž์‹์ค‘ ๋ˆ„๊ตฌ๋ผ๋„ float ์‚ฌ์šฉ์‹œ ๋งˆ์ง„๋ณ‘ํ•ฉ์—†์Œ
  (๋– ์žˆ๊ธฐ๋•Œ๋ฌธ)


- float ์„ค์ •์‹œ ํฌ๊ธฐ๊ฐ€ ๋‚ด์šฉ๋งŒํผ ์ค„์Œ


- display:block ์š”์†Œ๋กœ ๋ณ€๊ฒฝ๋จ

- ๋ถ€๋ชจ์•ˆ์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ float ์ด๋ฉด, ๋ถ€๋ชจ์˜ ๋†’์ด 0, ์‚ฌ๋ผ์ง

- ์•ž์ชฝ ์š”์†Œ๊ฐ€ ๋ชจ๋‘ float ์ด๋ฉด ์•„๋‹Œ ์š”์†Œ์— ๋งˆ์ง„๋ณ‘ํ•ฉ ๋ฐœ์ƒ

- float ์‚ฌ์šฉ์‹œ margin:0 auto ์•ˆ๋จนํž˜


- :left  ์š”์†Œ๊ธฐ์ค€์  ์™ผ์ชฝ
- :right ์š”์†Œ๊ธฐ์ค€์  ์˜ค๋ฅธ์ชฝ
   (๊ธฐ์ค€์ด ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋ฏ€๋กœ margin-right ์‚ฌ์šฉํ•  ๊ฒƒ)
- center ์—†์Œ

1. ํ—ค๋”๊ตฌ์กฐ : ๋ถ€๋ชจ์— height ๋†’์ด ์ง€์ •
      (๋‹จ ๋ณธ๋ฌธ์ด ํ…์ŠคํŠธ ์•„๋ž˜๋กœ ๋‚ด๋ ค์˜ค๋Š” ๋‚ด์šฉ์ด๋‚˜,
        ๋†’์ด๋ฅผ ๊ณ ์ •์œผ๋กœ ์ฃผ๋Š” ์ปจํ…์ธ ๋Š” ๋ฐ”๋žŒ์งํ•˜์ง€์•Š๋‹ค.)

2. ์„น์…˜๊ตฌ์กฐ : ๋ถ€๋ชจ์— overfloew: hidden
      ์œผ๋กœ float ์š”์†Œ ๋†’์ด๋ฅผ ์ž๋™์œผ๋กœ ์ง€์ •
      (๋‹จ hidden ์‚ฌ์šฉ์‹œ ๋„˜์น˜๋Š” ์š”์†Œ ์ž˜๋ฆผ)

3.๊ฐ€์ƒ์š”์†Œ after ์‚ฌ์šฉ
   clearfix:after {
   content:'';
   display:block;
   clear:both;
   }
   
  (์„น์…˜๊ตฌ์กฐ์—์„œ ๊ทธ๋ฆผ์ž๊ฐ€ ์žˆ์„๊ฒฝ์šฐ .clearfix ๊ณตํ†ตํด๋ž˜์Šค ์‚ฌ์šฉ)
   ํ•œ ๋ถ€๋ชจ์•ˆ์—์„œ  float ๊ณผ float ์•„๋‹Œ ์š”์†Œ๊ฐ€ ์„ž์—ฌ์žˆ์„ ๊ฒฝ์šฐ
    clear ์†์„ฑ์‚ฌ์šฉ
ํ•œ๋ถ€๋ชจ์•ˆ์—์„œ float ์•„๋‹Œ์š”์†Œ๋ฅผ float ์š”์†Œ ์•„๋ž˜๋ฅผ ๋‚ด๋ฆด๋–„
clear:both

 

์ฆ๋ง ๋ฌด์Šจ์†Œ๋ฆฐ์ง€ 1๋„ ๋ชจ๋ฅด๊ฒ ์ฅฌ?

float ์€ ์ฆ‰ ์ˆ˜์ง์œผ๋กœ ๋‚˜์—ด๋œ ์ปจํ…์ธ ๋“ค์„ ์ขŒ์šฐ ์˜†์œผ๋กœ ๋ถ™์ด๊ณ  ์‹ถ์„๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

 

 

float ์ ์šฉ

 

์—ฌ๊ธฐ ul ๋ฐ•์Šค์•ˆ์— li ๋ฐ•์Šค๋“ค์ด ์ƒ์„ฑ๋˜๋ฉด ์ˆ˜์ง์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.

 
 
#container  ul {
    margin: 50px;
    border: 30px solid green;
    background: green;
}

 

 

 

 

์ขŒ์šฐ ์ •๋ ฌ์„ ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ li ์—  fliat ์„ค์ •ํ•œ๋‹ค.

#container  ul li {
    border: 1px solid black;
    background: yellow;
    font-size: 20px;
    padding: 20px;
    width: calc(100% / 3 );
    float: left;
}
 

์ด๋ ‡๊ฒŒ ๋ฌ์„๋•Œ ๋ถ€๋ชจ์˜์—ญ ๋ฐ•์Šค๊ฐ€ ์ค„์–ด๋“ค์–ด ๊นจ์ง„๊ฑธ ๋ณผ์ˆ˜์žˆ๋‹ค. ์ด๋•Œ   float ํ•ด์ œ๋ฅผ ํ•˜๋Š”๊ฒƒ!

 

float ํ•ด์ œ

 

๋ฐฉ๋ฒ•1 . ๋ถ€๋ชจ์— height ๋†’์ด ์ง€์ •

 

 
#container  ul {
    margin: 50px;
    border: 30px solid green;
    background: green;
    height: 150px;
}

 

 float๋œ ์š”์†Œ๋“ค์˜ ๋ถ€๋ชจ ํƒœ๊ทธ ๋†’์ด๋ฅผ ์กฐ์ ˆํ•˜๋ฉด float ํ•ด์ œ๊ฐ€ ๋˜๋‚˜,

๋†’์ด๊ฐ€ ๋ฐ”๋€”๋•Œ๋งˆ๋‹ค ์ˆ˜์ • ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๋ฐ˜์‘ํ˜• ๋Œ€์‘์ด ๋ถˆ๊ฐ€.

 

 

 

๋ฐฉ๋ฒ•2. ๋ถ€๋ชจ์— overfloew: hidden

#container  ul {
    margin: 50px;
    border: 30px solid green;
    background: green;
    overflow: hidden;
}

 float๋œ ์š”์†Œ๋“ค์˜ ๋ถ€๋ชจ ํƒœ๊ทธ์— overflow:hidden ์ ์šฉ

๋ถ€๋ชจ์— ์ž์‹์ปจํ…์ธ  ๋งŒํผ ๋†’์ด๊ฐ€ ์ž๋™์œผ๋กœ ์ง€์ •๋œ๋‹ค. ๋‹จ ๋„˜์น˜๋Š” ์š”์†Œ๋“ค์€ ์ž˜๋ฆฐ๋‹ค.

 

 

 

๋ฐฉ๋ฒ•3. ๊ฐ€์ƒ์š”์†Œ after ์‚ฌ์šฉ

#container  ul:after {
    content: '';
    display: block;
    clear: both;
}

 float๋œ ์š”์†Œ๋“ค์˜ ๋ถ€๋ชจ ํƒœ๊ทธ์— ๊ฐ€์ƒ์š”์†Œ after ์ ์šฉ 

๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋ฉฐ ๋ถ€๋ชจํƒœ๊ทธ๊ฐ€ inline-block ์š”์†Œ๋กœ ๋ฐ”๋€Œ์ง€ ์•Š์Œ./ ๋†’์ด๊ฐ€ ์ •ํ™•ํžˆ ์žกํž˜ / ๋ถˆํ•„์š”ํ•œ ์š”์†Œ ์ถ”๊ฐ€๋˜์ง€ ์•Š์Œ.

 

๋œป์€ ul ํƒœ๊ทธ ๋’ค์— after๋กœ ๊พธ๋ฉฐ์ค€๋‹ค. 

content: ''; ๋‚ด์šฉ์ด๋นˆ display: blck; ๋ธ”๋Ÿญ(๋ฐ•์Šค)๋ฅผ ๋งŒ๋“ค๊ณ  clear: both; ๋กœ float lefr,right๋ฅผ ์ดˆ๊ธฐํ™” ์‹œํ‚ค๊ฒ ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

 

๋ฐฉ๋ฒ•4. clearfix ์‚ฌ์šฉ

 

html ํƒœ๊ทธ์— ํด๋ž˜์Šค๋กœ ์ง€์ •ํ•ด์ค€๋‹ค์Œ css์— ์†์„ฑ์„ ๋ถ€์—ฌํ•œ๋‹ค.

 

#container .clearfix:after{
    content: '';
    display: block;
    clear: both;
}
 
 
 
 

๊ทผ๋ฐ css ๋กœ clearfix๋ฅผ ์ง€์ •ํ•ด ์ค˜์•ผ ๋˜๋Š”๊ฑธ๋กœ ์•Œ๊ณ ์žˆ๋Š”๋ฐ..

์˜ˆ์ œ์—์„  ์™œ html class ๋งŒ ๋„ฃ์–ด๋„๋จนํžˆ๋Š”์ง€ ใ… ใ… ....

์Œคํ•œํ…Œ ๋ฌผ์–ด๋ด์•ผ๊ฒ ๋‹ค..

๋Œ“๊ธ€