Skip to content

CSS 속성 04. border

Title
CSS 속성 04. border
Category
CSS
Tags
Aliases
CSS 속성 04. border
Created
4 years ago
Updated
last year

❗️ 해당 글은 패스트캠퍼스 - 프론트엔드 개발 강의에서 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: 두께 종류;...
border: 두께 종류 색상;border: 두께 색상 종류;border: 종류 두께 색상;border: 종류 색상 두께;border: 색상 두께 종류;border: 색상 종류 두께;border: 색상 종류;border: 두께 종류;...
.box {border: 1px solid red;}
.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: 두께 종류;...
border-top: 두께 종류 색상;border-top: 두께 색상 종류;border-top: 종류 두께 색상;border-top: 종류 색상 두께;border-top: 색상 두께 종류;border-top: 색상 종류 두께;border-top: 색상 종류;border-top: 두께 종류;...
.box {border-top: 1px solid red;}
.box {border-top: 1px solid red;}

border-width

선의 두께(너비)를 지정 - 단축 (위 오른쪽 아래 왼쪽), 개별 속성

속성 값

의미기본값
medium중간 두께medium
thin얇은 두께
thick두꺼운 두께
단위px , em , cm 등 단위로 지정

사용법

border-width: 위 우 아래 좌;       /* 시계 방향 */border-width: 위 [좌, 우] 아래;    /* 위 아래 방향 */border-width: [위, 아래] [좌, 우]; /* 위,아래 + 좌,우 */border-width: [위, 아래, 좌, 우];  /* 모든 방향 */
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;}
.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;}
.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: [위, 아래, 좌, 우];  /* 모든 방향 */
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;}
.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;}
.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: [위, 아래, 좌, 우];  /* 모든 방향 */
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;}
.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;}
.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>Hello world!</div>
div {width: 100px;height: 100px;background: tomato;border: 20px;}
div {width: 100px;height: 100px;background: tomato;border: 20px;}

widthheight100px 로 지정하였으나, border 값이 20px 로 설정되어총 140px 의 정사각형이 나타나게 되었다.

직접 계산

/* 100 x 100 (px) 크기의 요소 만들기 */.box {width: 60px;  /* +40px */height: 80px; /* +20px */background: tomato;border: 10px 20px;}
/* 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;}
/* 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

Released under the MIT License.