Float

kirin.logΒ·2020λ…„ 12μ›” 16일
1

Float

πŸ‘‰ 주둜 이미지 주변에 ν…μŠ€νŠΈλ₯Ό 감싸기 μœ„ν•΄ λ§Œλ“€μ–΄μ§„ ν”„λ‘œνΌν‹°
(νŽ˜μ΄μ§€ μ „μ²΄μ˜ λ ˆμ΄μ•„μ›ƒμ„ μž‘μ„ λ•Œμ—λ„ μ€‘μš”ν•˜κ²Œ μ‚¬μš©)
πŸ‘‰ float 속성은 left, right, none 만 μ‘΄μž¬ν•˜κ³  쀑앙정렬(center)은 μ—†λ‹€.
(❗ 쀑앙정렬은 margin:auto; 속성을 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€)

βœ” 쀑앙 μ •λ ¬ μ˜ˆμ‹œ

div {
    width: 50%;    
    margin-left: auto;
    margin-right: auto;
/* 쀑앙 정렬이 되렀면 λ°˜λ“œμ‹œ 객체가 λ„ˆλΉ„ 100% μ΄μ™Έμ˜ 값을 가지고 μžˆμ–΄μ•Ό ν•œλ‹€. 
   λ„ˆλΉ„ 100%κ°€ 되면 화면을 꽉 μ±„μš°κΈ° λ•Œλ¬Έμ— 쀑앙 μ •λ ¬μ˜ μ˜λ―Έκ°€ μ—†λ‹€ */
}

βœ” float:left; λ₯Ό μ μš©ν–ˆμ„ λ•Œ μ˜ˆμ‹œ

❗ float 속성을 λΆ€μ—¬ν•˜μ§€ μ•Šμ€ 객체에 overflow: hidden 속성을 μ„ μ–Έν•΄μ€˜μ•Ό ν•œλ‹€.
(overflow: hidden 속성은, λ‚΄μš©λ¬Όμ΄ 객체보닀 클 경우, λ„˜μΉ˜λŠ” 뢀뢄을 μ•ˆλ³΄μ΄κ²Œ ν•΄μ£ΌλŠ” μ—­ν• )
❗ λ˜λŠ” float 속성을 λΆ€μ—¬ν•˜μ§€ μ•Šμ€ 객체에 float 속성을 μ„ μ–Έν•΄μ€˜μ•Ό ν•œλ‹€.

πŸ‘‰ float 속성이 μ—†λŠ” κ°μ²΄λŠ” λ‚˜λ¨Έμ§€ 곡간을 λͺ¨λ‘ μ°¨μ§€ν•˜κ³ , float 속성이 λΆ€μ—¬λ˜λ©΄ μžμ‹ μ˜ λ„ˆλΉ„κ°€ μ΅œμ†Œ λ„ˆλΉ„λ‘œ 바뀐닀

πŸ‘‰ floatλŠ” μš”μ†Œμ˜ 흐름을 κ΄€λ¦¬ν•˜λŠ” 속성이기 λ•Œλ¬Έμ— 속성이 λ‹€μŒ μš”μ†Œλ‘œ μƒμ†λœλ‹€.
μ μ ˆν•œ μœ„μΉ˜μ—μ„œ clear ν•΄μ€˜μ•Ό ν•œλ‹€(clearλŠ” left, both, right λ“±μ˜ 값을 쀄 수 μžˆλ‹€).


⏺ clear 속성
clearλŠ” 'μ·¨μ†Œν•˜λ‹€' λΌλŠ” 뜻으둜, leftλŠ” float:left 값을 μ·¨μ†Œν•˜κ³  rightλŠ” float:right값을 μ·¨μ†Œν•œλ‹€.

clear:none; /* κΈ°μ΄ˆκ°’. clearλ₯Ό μ„€μ •ν•˜μ§€ μ•Šμ€ 것과 κ°™λ‹€ */
clear:left; /* μ™Όμͺ½μ„ μ·¨μ†Œ(μ™Όμͺ½μ— 아무것도 두지 μ•ŠλŠ”λ‹€) */
clear:right; /* 였λ₯Έμͺ½ μ·¨μ†Œ(였λ₯Έμͺ½μ— 아무것도 두지 μ•ŠλŠ”λ‹€) */
clear:both; /* μ–‘μͺ½μ„ μ·¨μ†Œ(μ™Όμͺ½ 였λ₯Έμͺ½μ— 아무것도 두지 μ•ŠλŠ”λ‹€ */

⏺ overflow: auto 속성
➑ overflowλŠ” λ‚΄μš©μ΄ μš”μ†Œμ˜ 크기λ₯Ό 벗어났을 λ•Œ μ–΄λ–»κ²Œ μ²˜λ¦¬ν• μ§€λ₯Ό μ •ν•˜λŠ” 속성.
➑ λ‚΄μš©μ΄ 주어진 곡간에 λ‹€ 듀어가지 μ•Šμ„ λ•Œ, λ³΄μ—¬μ£Όκ²Œ ν•  μˆ˜λ„, μ•ˆ 보이게 ν•  μˆ˜λ„, μŠ€ν¬λ‘€λ°”λ₯Ό λ§Œλ“€κ²Œ ν•  μˆ˜λ„ μžˆλ‹€
➑ 상속여뢀: μƒμ†λ˜μ§€ μ•ŠμŒ

ex)
β–Άimgλ₯Ό float:right;둜 μ£Όμ—ˆλ‹€

β–Άtext에 overflow:auto;속성값을 μ£Όμ—ˆλ‹€

.text {
    overflow:auto;
 }


β–Άμš”μ†Œλ₯Ό 좜λ ₯ν•˜λŠ” κ°€λ‘œν­ 전체λ₯Ό μ€„μ΄λŠ” νš¨κ³Όκ°€ μžˆλ‹€

overflow: visible;  /* κΈ°λ³Έκ°’. λ‚΄μš©μ΄ 더 길어도 κ·ΈλŒ€λ‘œ 보인닀(λ‚΄μš©μ΄ ν˜λŸ¬λ„˜μΉ¨) */
overflow: hidden;  /* λ‚΄μš©μ΄ λ„˜μΉ˜λ©΄ 자λ₯Έλ‹€. 자λ₯Έ 뢀뢄은 보이지 μ•ŠλŠ”λ‹€ */
overflow: scroll;  /* λ‚΄μš©μ΄ λ„˜μΉ˜μ§€ μ•Šμ•„λ„ 항상 μŠ€ν¬λ‘€λ°”κ°€ 보인닀 */
overflow: auto;  /* λ‚΄μš©μ΄ 잘릴 λ•Œλ§Œ μŠ€ν¬λ‘€λ°”κ°€ 보인닀 */

⏺ float 문제점과 해결방법

πŸ‘‰ λΉˆλ²ˆν•˜κ²Œ λ°œμƒν•˜λŠ” 문제점
float 속성을 가진 μš”μ†ŒλŠ” λΆ€λͺ¨κ°€ 높이λ₯Ό 인지할 수 μ—†μ–΄μ„œ λΆ€λͺ¨λ₯Ό λ²—μ–΄λ‚˜λŠ” κ²½μš°κ°€ λ°œμƒν•  수 μžˆλ‹€

πŸ‘‰ 문제 ν•΄κ²° 방법 3가지
1️⃣_ λ°”κΉ₯ div(.container) λ§ˆμ§€λ§‰μ— μ•„λ¬΄νƒœκ·Έλ‚˜ λ„£κ³  clear 속성을 μ μš©ν•˜κΈ°.
❗ 이 기법을 μ‚¬μš©ν•  λ•Œμ—λŠ” HTMLμ½”λ“œλ₯Ό 더 μž…λ ₯ν•΄μ•Ό ν•˜λŠ” 뢀담이 μžˆλ‹€.

2️⃣_ λ°”κΉ₯ div(.container)에 overflow: hidden; 을 μ£ΌκΈ°.
❗ 주둜 많이 μ‚¬μš©ν•˜λŠ” 방법

3️⃣_ λ°”κΉ₯ div(.container)λ₯Ό floatμ‹œν‚¨λ‹€. 그러면 μžμ‹μ˜ float 높이λ₯Ό μΈμ§€ν•˜μ—¬ 그만큼 높이λ₯Ό μ°¨μ§€ν•˜κ²Œ λœλ‹€.

❗ ν•˜μ§€λ§Œ float이 λ˜μ–΄λ²„λ € block μš”μ†Œμ˜ μ„±μ§ˆμ΄ μ—†μ–΄μ§€κ²Œ λœλ‹€. 이러면 widthλ₯Ό 100% μΆ”κ°€ν•˜κ±°λ‚˜ ν•΄μ•Όν•œλ‹€.

profile
boma91@gmail.com

0개의 λŒ“κΈ€