IT/HTML&CSS

[HTML/CSS] div 박스 그림자 한쪽만 만들기(위, 아래, 오른쪽, 왼쪽)

hi.anna 2022. 12. 17. 07:41

 

지난 번에는

CSS의 box-shadow 속성을 사용하여

그림자를 만드는 방법을 알아보았습니다.

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

 

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

박스에 그림자를 그리기 위해서는 CSS의 box-shadow 속성을 사용합니다. box-shadow 이 속성은 CSS 요소에 그림자를 추가해줍니다. box-shadow : 5px 5px 5px 5px red inset; 허용 값 offset-x, offset-y 그림자의 위치를

hianna.tistory.com

 

이번에는 이것을 응용하여, 

박스의 위쪽, 아래쪽, 오른쪽, 왼쪽에만 그림자를 만들어보겠습니다.

 

 

box-shadow

먼저 잠깐, box-shadow에 지정할 수 있는 값들을 살펴보겠습니다.

  • offset-x, offset-y
    • 그림자의 위치를 지정하는 값입니다.
    • offset-x: 양수이면 그림자가 오른쪽으로, 음수이면 그림자가 왼쪽으로 이동합니다.
    • offset-y: 양수이면 그림자가 아래쪽으로, 음수이면 그림자가 위쪽으로 이동합니다.
  • blur-radius
    • 그림자의 블러정도를 나타냅니다.
  • spread-radius
    • 그림자의 크기를 나타냅니다.
  • color
  • inset

더 자세한 설명과 예제는 이전 포스팅을 참조하세요.

 

 

그림자 한쪽만 만들기(아래, 위, 오른쪽, 왼쪽)

<div class='ex01'>아래</div>
<div class='ex02'>위</div>
<div class='ex03'>오른쪽</div>
<div class='ex04'>왼쪽</div>
.ex01 {
  box-shadow: 0px 15px 5px -2px gray;
}

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

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

.ex04 {
  box-shadow: -15px 0px 5px -2px gray;
}

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

box-shadow: 0px 15px 5px -2px gray;

그림자를 아래쪽에만 만들기 위해서

offset-x값을 0px로 하고, offset-y값을 15px로 하였습니다.

여기서는 5px 정도의 blur 값을 지정하였는데,

이 블러처리 때문에 오른쪽과 왼쪽에 약간의 그림자가 삐져나오게 됩니다.

이렇게 오른쪽과 왼쪽에 삐져나오는 그림자를 숨기기 위해서

spread-radius 값을 음수로 지정하여, 그림자의 크기를 줄였습니다.

 

box-shadow: 0px -15px 5px -2px gray;

그림자가 위쪽에만 생성됩니다.

offset-y 값을 음수로 지정하였습니다.

 

box-shadow: 15px 0px 5px -2px gray;

그림자가 오른쪽에만 생성됩니다.

 

box-shadow: -15px 0px 5px -2px gray;

그림자가 왼쪽에만 생성됩니다.

 

 

 

반응형