본문으둜 κ±΄λ„ˆλ›°κΈ°

CSS 속성 04. border

❗️ ν•΄λ‹Ή 글은 패슀트캠퍼슀 - ν”„λ‘ νŠΈμ—”λ“œ 개발 κ°•μ˜μ—μ„œ HTML & CSS, SASS(SCSS) Part의 λ°•μ˜μ›… κ°•μ‚¬λ‹˜μ˜ κ°•μ˜μžλ£Œλ₯Ό μ •λ¦¬ν•œ κ²ƒμž…λ‹ˆλ‹€.

border#

μš”μ†Œμ˜ β€™ν…Œλ‘λ¦¬ 선’을 지정 - 단좕 속성 (λ‘κ»˜, μ’…λ₯˜, 색상)

속성 κ°’#

κ°’μ˜λ―ΈκΈ°λ³Έκ°’
border-widthμ„ μ˜ λ‘κ»˜(λ„ˆλΉ„)medium
border-styleμ„ μ˜ μ’…λ₯˜none
border-colorμ„ μ˜ 색상black

μ‚¬μš©λ²•#

border 의 속성 값듀은 μƒλž΅ κ°€λŠ₯ν•˜λ©° μˆœμ„œμ—λ„ 상관이 μ—†λ‹€. (ν•˜μ§€λ§Œ 기본적으둜 border-style: none; 이기 λ•Œλ¬Έμ— μ’…λ₯˜λŠ” μ •ν•΄μ£Όμ–΄μ•Ό 눈으둜 확인 κ°€λŠ₯ν•˜λ‹€)

border: λ‘κ»˜ μ’…λ₯˜ 색상;border: λ‘κ»˜ 색상 μ’…λ₯˜;border: μ’…λ₯˜ λ‘κ»˜ 색상;border: μ’…λ₯˜ 색상 λ‘κ»˜;border: 색상 λ‘κ»˜ μ’…λ₯˜;border: 색상 μ’…λ₯˜ λ‘κ»˜;border: 색상 μ’…λ₯˜;border: λ‘κ»˜ μ’…λ₯˜;...
.box {border: 1px solid red;}

border-top, right, bottom, left#

μš”μ†Œμ˜ ν•΄λ‹Ήν•˜λŠ” μœ„μΉ˜μ˜ β€™ν…Œλ‘λ¦¬ 선’을 지정 - 단좕 속성 (λ‘κ»˜, μ’…λ₯˜, 색상)


속성 κ°’#

κ°’μ˜λ―ΈκΈ°λ³Έκ°’
border-top-widthμ„ μ˜ λ‘κ»˜(λ„ˆλΉ„)medium
border-top-styleμ„ μ˜ μ’…λ₯˜none
border-top-colorμ„ μ˜ 색상black
…

μ‚¬μš©λ²•#

border-top, right, bottom, left 의 속성 값듀은 border 와 λ§ˆμ°¬κ°€μ§€λ‘œ μƒλž΅ κ°€λŠ₯ν•˜λ©° μˆœμ„œμ—λ„ 상관이 μ—†λ‹€.

border-top: λ‘κ»˜ μ’…λ₯˜ 색상;border-top: λ‘κ»˜ 색상 μ’…λ₯˜;border-top: μ’…λ₯˜ λ‘κ»˜ 색상;border-top: μ’…λ₯˜ 색상 λ‘κ»˜;border-top: 색상 λ‘κ»˜ μ’…λ₯˜;border-top: 색상 μ’…λ₯˜ λ‘κ»˜;border-top: 색상 μ’…λ₯˜;border-top: λ‘κ»˜ μ’…λ₯˜;...
.box {border-top: 1px solid red;}

border-width#

μ„ μ˜ λ‘κ»˜(λ„ˆλΉ„)λ₯Ό 지정 - 단좕 (μœ„ 였λ₯Έμͺ½ μ•„λž˜ μ™Όμͺ½), κ°œλ³„ 속성


속성 κ°’#

κ°’μ˜λ―ΈκΈ°λ³Έκ°’
medium쀑간 λ‘κ»˜medium
thin얇은 λ‘κ»˜
thickλ‘κΊΌμš΄ λ‘κ»˜
λ‹¨μœ„px , em , cm λ“± λ‹¨μœ„λ‘œ 지정

μ‚¬μš©λ²•#

border-width: μœ„ 우 μ•„λž˜ 쒌;       /* μ‹œκ³„ λ°©ν–₯ */border-width: μœ„ [쒌, 우] μ•„λž˜;    /* μœ„ μ•„λž˜ λ°©ν–₯ */border-width: [μœ„, μ•„λž˜] [쒌, 우]; /* μœ„,μ•„λž˜ + 쒌,우 */border-width: [μœ„, μ•„λž˜, 쒌, 우];  /* λͺ¨λ“  λ°©ν–₯ */
.box {border-width: 10px 20px 30px 40px;border-width: 10px 20px 40px;border-width: 10px 40px;border-width: 10px;}
.box1 {border-width: 10px 20px 30px 40px;    /* 단좕 속성 */}.box2 {/* κ°œλ³„ 속성 */border-top-width: 10px;border-right-width: 20px;border-bottom-width: 10px;border-left-width: 10px;}

border-style#

μ„ μ˜ μ’…λ₯˜λ₯Ό 지정 - 단좕 (μœ„ 였λ₯Έμͺ½ μ•„λž˜ μ™Όμͺ½), κ°œλ³„ 속성


속성 κ°’#

κ°’μ˜λ―ΈκΈ°λ³Έκ°’
noneμ„  μ—†μŒnone
hiddenμ„  μ—†μŒκ³Ό 동일( table μš”μ†Œμ—μ„œ μ‚¬μš© )
solidμ‹€μ„ (μΌλ°˜μ„ )
dotted점선
dashedνŒŒμ„ 
double두 쀄선
grooveν™ˆμ΄ νŒŒμ—¬μžˆλŠ” λͺ¨μ–‘(μ„ )
ridgeμ†Ÿμ€ λͺ¨μ–‘(μ„ , groove 의 λ°˜λŒ€)
insetμš”μ†Œ 전체가 λ“€μ–΄κ°„ λͺ¨μ–‘(μ„ )
outsetμš”μ†Œ 전체가 λ‚˜μ˜¨ λͺ¨μ–‘(μ„ )

μ‚¬μš©λ²•#

border-style: μœ„ 우 μ•„λž˜ 쒌;       /* μ‹œκ³„ λ°©ν–₯ */border-style: μœ„ [쒌, 우] μ•„λž˜;    /* μœ„ μ•„λž˜ λ°©ν–₯ */border-style: [μœ„, μ•„λž˜] [쒌, 우]; /* μœ„,μ•„λž˜ + 쒌,우 */border-style: [μœ„, μ•„λž˜, 쒌, 우];  /* λͺ¨λ“  λ°©ν–₯ */
.box {border-style: solid dotted double inset;border-style: solid dotted inset;border-style: solid inset;border-style: solid;}
.box1 {border-style: solid dotted double inset;  /* 단좕 속성 */}.box2 {/* κ°œλ³„ 속성 */border-top-style: solid;border-right-style: dotted;border-bottom-style: double;border-left-style: inset;}

border-color#

μ„ μ˜ 색상을 지정 - 단좕 (μœ„ 였λ₯Έμͺ½ μ•„λž˜ μ™Όμͺ½), κ°œλ³„ 속성


속성 κ°’#

κ°’μ˜λ―ΈκΈ°λ³Έκ°’
μƒ‰μƒμ„ μ˜ 색상을 지정black
transparent투λͺ…ν•œ μ„ (μš”μ†Œμ˜ 배경색이 λ³΄μž„)

μ‚¬μš©λ²•#

border-color: μœ„ 우 μ•„λž˜ 쒌;       /* μ‹œκ³„ λ°©ν–₯ */border-color: μœ„ [쒌, 우] μ•„λž˜;    /* μœ„ μ•„λž˜ λ°©ν–₯ */border-color: [μœ„, μ•„λž˜] [쒌, 우]; /* μœ„,μ•„λž˜ + 쒌,우 */border-color: [μœ„, μ•„λž˜, 쒌, 우];  /* λͺ¨λ“  λ°©ν–₯ */
.box {border-color: red green blue yellow;border-color: red green blue ;border-color: red green;border-color: red;}
.box1 {border-color: red green blue yellow;  /* 단좕 속성 */}.box2 {/* κ°œλ³„ 속성 */border-top-color: red;border-right-color: green;border-bottom-color: blue;border-left-color: yellow;}

크기 증가#

padding κ³Ό λ§ˆμ°¬κ°€μ§€λ‘œ border 의 κ°’λ§ŒνΌ μš”μ†Œμ˜ 크기가 μ»€μ§€λŠ” ν˜„μƒ

<div>Hello world!</div>
div {width: 100px;height: 100px;background: tomato;border: 20px;}

width 와 height λ₯Ό 100px 둜 μ§€μ •ν•˜μ˜€μœΌλ‚˜, border 값이 20px 둜 μ„€μ •λ˜μ–΄μ΄ 140px 의 μ •μ‚¬κ°ν˜•μ΄ λ‚˜νƒ€λ‚˜κ²Œ λ˜μ—ˆλ‹€.


직접 계산#

/* 100 x 100 (px) 크기의 μš”μ†Œ λ§Œλ“€κΈ° */.box {width: 60px;  /* +40px */height: 80px; /* +20px */background: tomato;border: 10px 20px;}

100 x 100 (px) 크기의 μš”μ†Œλ₯Ό λ§Œλ“€κΈ° μœ„ν•΄ 직접 κ³„μ‚°ν–ˆλ‹€.


μžλ™ 계산#

/* 100 x 100 (px) 크기의 μš”μ†Œ λ§Œλ“€κΈ° */.box {width: 100px;height: 100px;background: tomato;border: 10px 20px;box-sizing: border-box;}

box-sizing: border-box; λŠ” 100 x 100 크기의 μš”μ†Œλ₯Ό λ§Œλ“€κ³  κ·Έ μ•ˆμ—μ„œ border 이 듀어가도둝 μžλ™ 계산해쀀닀.


Reference#

패슀트캠퍼슀 - ν”„λ‘ νŠΈμ—”λ“œ 개발 κ°•μ˜ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong