반응형

[HTML&CSS] 테두리(border) 영역

반응형

*현 포스팅의 HTML 코드의 실행환경을 만들고 싶으신 분들은 아래 포스팅을 참고하시면 좋을 것 같습니다.


[Language & Solution/Node.js] - npm과 lite-server로 HTML, CSS 실습관경 만들기



| 테두리(border) 영역


박스 모델(box model)에서 테두리는 텍스트 단락 뿐만 아니라 그림이나 표, 양식 등 사각 형태를 가진 어떤 요소에나 적용할 수 있습니다. 테두리와 관련된 속성에는 테두리 두께, 테두리 스타일, 테두리 색상 등이 있습니다.



| border-style : 테두리 스타일 


border-style은 테두리의 스타일을 정하는 속성으로 쓰이며 다음과 같은 값을 지정할 수 있습니다.


 none

 테두리가 나타나지 않습니다. (기본값)

 hidden

 테두리가 나타나지 않습니다. none과 같다고 보시면 됩니다.

 dashed

 테두리를 짧은선으로 표시합니다. 

 dotted

 테두리를 점선으로 표시합니다.  

 double

 테두리를 겹선으로 표시합니다. 두 선 사이의 간격은 border-width로 정합니다.

 groove

 테두리를 창에 조각한 것처럼 표시합니다.

 inset

 테두리를 창에 박혀 있는 것처럼 표시합니다. (좌측 음영)

 outset

 테두리를 창에 박혀 있는 것처럼 표시합니다. (우측 음영)

 ridge

 테두리를 창에 조각한 것처럼 표시합니다. (groove 와 반대음영)

 solid

 테두리를 선으로 표시합니다. 



| border-style : 테두리 스타일 예제



<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
div {
text-align : center;
border-width : 15px;
width: 150px;
height: 50px;
margin: 20px;
}
.box-none {
border-style: none;
}
.box-hidden {
border-style: hidden;
}
.box-dotted {
border-style: dotted;
}
.box-dashed {
border-style: dashed;
}
.box-dotted {
border-style: dotted;
}
.box-double {
border-style: double;
}
.box-groove {
border-style: groove;
}
.box-inset {
border-style: inset;
}
.box-outset {
border-style: outset;
}
.box-ridge {
border-style: ridge;
}
.box-solid {
border-style: solid;
}
</style>
</head>
<body>
<div class="box-none">none</div>
<div class="box-hidden">hidden</div>
<div class="box-dashed">dashed</div>
<div class="box-dotted">dotted</div>
<div class="box-double">double</div>
<div class="box-groove">groove</div>
<div class="box-inset">inset</div>
<div class="box-outset">outset</div>
<div class="box-ridge">ridge</div>
<div class="box-solid">solid</div>
</body>
</html>


| border-width : 테두리 두께 지정


border-width는 테두리 두께를 지정하는 속성입니다. 테두리의 두께를 지정하는 속성들은 다음과 같습니다. 


아래의 속성들은 <크기>, thin, medium, thick 중 하나의 속성값으로 지정하는 것이 가능합니다.


 border-top-width

 위 테두리 두께 지정 

 border-right-width 

 오른쪽 테두리 두께 지정

 border-bottom-width

 아래쪽 테두리 두께 지정

 border-left-width

 왼쪽 테두리 두께 지정

 border-width

 한꺼번에 테두리 두께를 지정. 속성값의 개수에 따라 달리 적용

 - 한 개 : 전체 테두리 두께

 - 두 개 : 위아래와 좌우를 묶어 지정

 - 세 개 : 첫 번째 : 위쪽, 두 번째 : 좌우 동시 적용, 세 번째 : 아래쪽 

 - 네 개 : 위 -> 오른쪽 -> 아래쪽 -> 왼쪽




<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
div {
text-align : center;
width: 150px;
height: 50px;
margin: 20px;
border-style: solid;
}
.div1 {
border-width: 5px;
}
.div2 {
border-width: thick thin;
}
.div3 {
border-width: 5px 10px 20px
}
.div4 {
border-width: 5px 10px 15px 20px;
}
</style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
<div class="div4"></div>
</body>
</html>


| border-color : 테두리 색상 지정


border-color는 테두리 색상을 지정하는 속성입니다. 테두리의 색상을 지정하는 속성들은 다음과 같습니다.


 border-top-color

 위쪽 테두리 색상 결정

 border-right-color

 오른쪽 테두리 색상 결정

 border-bottom-color

 아래쪽 테두리 색상 결정

 border-left-color

 왼쪽 테두리 색상 결정

 border-color

 한꺼번에 테두리 색상을 결정. 속성값에 개수에 따라 달리 적용

 규칙은 border-width와 동일

 

| border-color 예제


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
div {
text-align : center;
width: 150px;
height: 50px;
margin: 20px;
border-style: solid;
border-width: 5px;
}
.div1 {
border-color: red;
}
.div2 {
border-color: red blue;
}
.div3 {
border-color: red green purple;
}
.div4 {
border-color: red green purple blue;
}
.div5 {
border-top-color: brown;
border-bottom-color: red;
border-left-color: purple;
border-right-color: yellow;
}
</style>
</head>
<body>
<div class="div1"></div>
<div class="div2"></div>
<div class="div3"></div>
<div class="div4"></div>
<div class="div5"></div>
</body>
</html>


| border : 테두리 두께, 색상, 스타일 묶어 지정


border는 테두리의 두께, 색상, 스타일을 묶어서 지정하는 속성입니다. border 속성은 아래와 같이 쓰입니다.


border : <두께> | <색상> | <스타일>


border말고도 각 위치에 각각 적용할 수 있는 border-top, border-right, border-left, border-bottom 속성을 지정하여 쓸 수 있습니다.



border 예제


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
.head-line {
font-weight: bold;
padding: 10px;
border: 1px purple solid;
}
.content {
width: auto;
height: 400px;
border: 10px darkgreen dashed;
}
</style>
</head>
<body>
<div class="head-line">
테두리 스타일 묶어서 지정
</div>
<div class="content">
콘텐츠가 기재되는 부분. 테두리 스타일에 대한 설명!
</div>
</body>
</html>


| border-radius : 박스 모서리 둥글게 하기


border-radius는 박스 모서리를 둥글게 만들어 좀 더 부드러운 요소를 구현하기 위한 속성입니다. border-radius는 아래와 같이 쓰입니다.


border-radius : <크기> | <백분율>


 <크기>

 둥글게 처리할 반지름 크기를 px 혹은 em 같은 단위로 표시

 <백분율>

 현재 요소 크기를 기준으로 반지름 크기를 %로 지정


또한 border-radius 뿐만 각 위치에 맞게 속성을 적용할 수 있도록 border-top-left-radius, border-top-right-radius, border-bottom-right-radius, border-bottom-left-radius 속성들을 지원하고 있습니다. 이 속성들은 아래 그림에 표시된 곳과 일대일 대응되어 표현됩니다.




border-radius는 또한 속성값을 한 개만 넣을 시 둥그런 원을 기준으로 곡선을 처리하게 됩니다. 만약 요소를 타원형 형태로 둥글게 만들고 싶다면 속성값을 두 개를 넣으면 됩니다.


border-radius : <가로 크기> <세로 크기>



| border-radius 예제


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
div {
margin : 50px;
width : 50%;
height : 100px;
}
.round {
border: 5px solid blue;
border-radius: 150px;
}
.round2 {
border: 5px solid red;
border-bottom-left-radius: 100px;
}
.round3 {
border: 5px solid yellow;
border-bottom-right-radius: 100px;
}
.round4 {
border: 5px solid green;
border-top-left-radius: 100px;
}
.round5 {
border: 5px solid grey;
border-top-right-radius: 100px;
}
.round6 {
border: 5px solid black;
border-top-right-radius: 200px 50px;
}
</style>
</head>
<body>
<div class="round">
</div>
<div class="round2">
</div>
<div class="round3">
</div>
<div class="round4">
</div>
<div class="round5">
</div>
<div class="round6">
</div>
</body>
</html>


| box-shadow : 선택한 요소에 그림자 효과


box-shadow 속성은 선택한 요소에 그림자를 내어 보다 멋진 효과를 내기 위해 쓰는 속성입니다. box-shadow 속성은 다음과 같이 쓸 수 있습니다.


box-shadow : none | <그림자 값>, [, <그림자값>]*; 


<그림자 값> = <수평 거리> <수직 거리> <흐림 정도> <번짐 정도> <색상> inset


box-shadow에서 그림자값을 쓸 시 그 개수에 따라서 상하좌우에 적용되는 그림자에 각각 적용됩니다. 전에 보셨던 border-style, border-width 같은 속성에서 대응되는 법칙과 같다고 생각하면 됩니다.


다음은 그림자 값에 적어야 되는 속성값들에 대한 설명입니다.


 <수평 거리>

 그림자의 수평 offset 거리(수평으로 얼마나 떨어져 있는지). 양수값은 요소의 오른쪽, 음수값은 요소의 왼쪽에 그림자를 만듬.

 <수직 거리> 

 그림자의 수평 offset 거리(수평으로 얼마나 떨어져 있는지). 양수값은 요소의 아래쪽, 음수값은 요소의 위쪽에 그림자를 만듬.

 <흐림 정도>

 그림자의 흐림 정도(blur radius)를 지정. 생략할 시 0을 기본값으로 진한 그림자를 표시. 값이 커질수록 부드러운 그림자를 표시. 음수값 사용 불가.

 <번짐 정도>

 그림자의 번지는 정도를 나타냄. 양수값을 사용할 시 모든 방향으로 그림자가 번짐. 음수값 사용 시 모든 방향으로 축소되어 나타남. 기본값은 0. 

 <색상>

 그림자의 색상을 나타냄. 한 가지 이상의 색상값을 지정할 수 있음. 기본값은 현재 글자색. 

 inset

 안쪽 그림자로 그릴 지를 결정하는 속성값



| box-shadow 예제


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
div {
width: 30%;
height: 120px;
margin : 20px;
border: 2px solid;
border-radius: 30px;
}
.shadow1 {
box-shadow: 2px -5px 5px 0px black;
}
.shadow2 {
box-shadow: 2px 5px 15px 5px black;
}
</style>
</head>
<body>
<div class="shadow1">
</div>
<div class="shadow2">
</div>
</body>
</html>



반응형

이 글을 공유하기

댓글

Designed by JB FACTORY