본문 바로가기

HTML&CSS

CSS로 반투명 얼음 배경 효과 만들기

반응형

 

반투명 유리 또는 반투명 얼음 배경 효과라고 하는 최근 유행하는 반투명 배경 효과입니다.

CSS 반투명 배경 효과를 만드는 방법은 2가지가 있습니다.

 

 

1. drop 속성으로 만들기

 

drop 필터 속성으로 반투명 이미지를 만드는 방법은 다소 복잡합니다.

추가 요소는 만들 필요가 없지만, 가상 요소를 만들어서 실제 블러 효과를 적용할 이미지를 배경에 배치해야 하는 번거로운 작업이 있습니다.

 

실제 "item" 클래스를 적용한 요소는 가상 요소를 담는 틀 역할을 하며, "::before"로 생성한 가상 요소에 적용한 블러 필터 효과가 아이템 바깥으로 퍼져 나오는 것을 막는 틀 역할을 합니다.

 

"item" 요소에 "overflow: hidden;" 속성이 없으면 반투명 효과가 적용한 영역이 불분명해져서 반투명 효과를 제대로 알 수 없게 됩니다.

 

.item{
    position: absolute;
    width: 560px;
    height: 300px;
    overflow: hidden;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    border-radius: 30px;
    box-shadow: 0 6px 20px -15px #000;
    border-width: 1px 1px 0 0;
    border-color: #fff;
    border-style: solid;
    background-color: rgba(255,255,255,0.5);
}
.item::before {
    content: '';
    position: absolute;
    width: 200%; /* 크기를 크게해서 가상 요소 위치 이동으로 배경이 잘리는 현상 방지 */
    height: 200%;
    left: -50%; /* 가상 요소를 아이템 가운데로 이동 */
    top: -50%;
    filter: blur(10px);
    background: url('./bg.jpg') no-repeat; /* 배경 이미지 설정 */
    background-attachment: fixed;
    background-size: cover;
    background-position: 280px 150px; /* item 요소의 절반 크기만큼 배경 이동 */
}

 

drop 필터 적용

 

 

2. backdrop-filter 속성으로 만들기

 

drop 속성처럼 가상 요소나 하위 요소를 추가로 만들어서 테두리 영역을 감추는 2단계의 필터 작업을 하나로 할 수 있도록 새롭게 추가된 필터 속성입니다.

 

만드는 방법도 간단합니다.

CSS 클래스 속성이 많지만 실제로는 "backdrop-filter" 속성으로 반투명 효과는 생성되며, 나머지는 모두 장식 효과를 위한 속성들입니다. 블러 효과는 10px를 부여했습니다.

"background-color" 속성으로 배경색을 추가하면 반투명 효과에 색상 효과를 추가할 수 있습니다.

"backdrop-filter" 속성은 필터를 적용한 요소 밑에 보이는 모든 내용에 필터가 적용되기 때문에 반투명 효과를 적용한 요소를 자유롭게 배치할 수 있는 장점이 있습니다.

 

.backdrop-item {
    width: 560px;
    height: 300px;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background-color: rgba(255, 255, 255, .25); /* 밝게 보이도록 배경색 추가 */
    border-radius: 30px; /* 둥근 테두리 */
    box-shadow: 0 6px 20px -15px #000; /* 그림자 효과 */
    border-width: 1px 1px 0 0; /* 입체감 흰색 테두리 */
    border-color: #fff;
    border-style: solid;
}

 

backdrop-filter 적용

 

 

호환성

 

최신 속성인 "backdrop-filter" 속성은 파이어폭스와 인터넷 익스플로러에서 지원되지 않습니다.

"filter" 속성은 인터넷 익스플로러에서는 지원되지 않습니다.

 

"filter" 속성을 사용해도 파이어폭스는 "background-attachment: fixed;" 속성에 대한 지원이 정상적으로 되지 않아 "filter" 속성으로 전체 배경 이미지 위에 일체감 있게 떠 있는 반투명 효과를 만들 수 없습니다. 파이어폭스는 전체 화면에만 적용하거나, 전체 배경 이미지가 없는 경우에만 반투명 효과를 

 

미래에는 "backdrop-filter" 속성에 대한 지원 가능성(실험실 기능으로 제공중)이 있으므로 "backdrop-filter"를 사용하는 것을 추천합니다.

 

반투명 효과가 정상 적용되지 않는 파이어폭스. 왼쪽은 filter, 오른쪽은 backdrop-filter

반응형

Comments





❌ 닫기