IT/HTML&CSS

[HTML/CSS] div 박스에 그림자 만들기(box-shadow)

hi.anna 2022. 12. 17. 00:13

 

 

<div> 박스에 그림자를 그리기 위해서는

CSS의 box-shadow 속성을 사용합니다.

 

 

box-shadow

이 속성은 CSS 요소에 그림자를 추가해줍니다.

box-shadow : 5px 5px 5px 5px red inset;

  허용 값  

  • offset-x, offset-y
    • 그림자의 위치를 지정합니다.
    • offset-x : 양수를 입력하면 그림자가 오른쪽으로, 음수를 입력하면 그림자가 왼쪽으로 만들어집니다.
    • offset-y : 양수를 입력하면 그림자가 아래쪽으로, 음수를 입력하면 그립자가 위쪽으로 만들어집니다.
  • blur-radius
    • 숫자가 커질수록, 그림자가 블러 처리되어 흐려집니다.
  • spread-radius
    • 숫자가 커질수록, 그림자의 크기가 커집니다.
  • color
    • 그림자의 색깔을 지정할 수 있습니다.
  • inset
    • inset이라는 이 키워드를 사용하면, 그림자가 요소의 바깥쪽이 아닌 안쪽에 생성됩니다.

 

 

div에 그림자 만들기 예제

<div class='ex01'>ex01</div>
<div class='ex02'>ex02</div>
<div class='ex03'>ex03</div>
<div class='ex04'>ex04</div>
.ex01 {
  box-shadow: 5px 5px gray;
}

.ex02 {
  box-shadow: 5px 5px 5px gray;
}

.ex03 {
  box-shadow: 5px 5px 5px 5px gray;
}

.ex04 {
  box-shadow: inset 5px 5px gray;
}

div {
  width: 100px;
  height: 100px;
  background: skyblue;
  display: inline-block;
  margin: 20px;
  text-align : center;
  line-height : 100px;
}

box-shadow: 5px 5px gray;

오른쪽으로 5px, 아래쪽으로 5px 위치에 회색의 그림자가 생겼습니다.

 

box-shadow: 5px 5px 5px gray;

이전 예제(ex01)에 5px의 블러를 추가하였습니다.

 

box-shadow: 5px 5px 5px 5px gray;

이전 예제(ex02)에 5px만큼 크기를 늘렸습니다.

 

box-shadow: inset 5px 5px gray;

ex01 예제와 똑같이 그림자를 생성하고, inset 키워드를 추가하여 그림자의 방향을 안쪽으로 바꾸었습니다.

 

 

 

그림자 여러개 생성하기

<div class='ex'>ex</div>
.ex {
  box-shadow: 5px 5px gray, 10px 10px 10px yellow;
}

div {
  width: 100px;
  height: 100px;
  background: skyblue;
  display: inline-block;
  margin: 20px;
  text-align : center;
  line-height : 100px;
}

box-shadow: 5px 5px gray, 10px 10px 10px yellow;

한꺼번에 여러개의 그림자를 생성할 수 있습니다.

각 그림자는 콤마(,)로 구분합니다.

위 예제에서는 5px의 회색 그림자, 10px의 블러 처리된 노란색 그림자가 같이 생성되었습니다.

 

 

 

 

반응형