CSS 효과

이미지 관련

CSS에서는 이미지에 관련된 여러 기능을 제공합니다

투명도(opacity)

이미지의 투명도를 지정합니다

  • 0<=값<=1 사이의 값을 지정합니다. 1은 완전한 불투명을 의미합니다
img {
  opacity: 0.5;
}

필터(filter)

필터를 활용하면 이미지에 다양한 효과를 다른 도구 없이도 사용할 수 있습니다

필터 종류

filter는 비교적 최신 기능이기 때문에 벤더 프리픽스를 사용해줘야합니다

혼합(blend)

혼합은 이미지를 혼합해 새로운 이미지를 생성하는 기능입니다

텍스트가 이미지로서 존재하면 사용자가 상호작용이 불가능하고, 검색이 되지 않는 불편함이 있었습니다

그래서 이미지와 글을 섞거나 이미지와 이미지를 섞는 혼합기능이 생겼습니다

  • background-blend-mode : 배경 그래픽간에 blend(이미지+이미지)

  • mix-blend-mode : 배경과 내용 사이의 blend(이미지+내용)

혼합 기능 예시

shadow

css를 사용하면 요소나 텍스트에 그림자(Shadow) 효과를 부여할 수 있습니다

text-shadow

텍스트에 그림자 효과를 주는 속성입니다

작성 방식은 다음과 같습니다

선택자 { text-shadow: Horizontal-offset Vertical-offset Blur-Radius Shadow-Color; }

box-shadow

요소에 그림자를 부여하는 속성입니다

작성 방식은 다음과 같습니다

선택자 { box-shadow: Inset Horizontal-offset Vertical-offset Blur-Radius Spread Shadow-Color; }


gradient

그레이디언트(Gradient)는 2가지 이상의 색을 혼합해 배경을 생헝하는 것입니다.

css3부터 제공되었는데 이전에는 외부 프로그램을 사용해 직접 이미지를 만들어 사용했습니다. 이런 방식은 이미지가 차치하는 비용 문제와 해상도 저하같은 문제가 있었습니다

gradient는 2종류가 있습니다

  • 선형 gradient(Linear Gradient): 아래로/위쪽으로/왼쪽으로/오른쪽으로/수직 방향
  • 방사형 gradient(Radial Gradient): 중심 기준으로 정의

gradient는 비교적 최신 기술이기 때문에 벤더 프리픽스를 사용해줘야하고, 브라우저별로 사용하기 문법이 약간씩 달라 사용하기 까다롭습니다

그래서 직접 작성하기보다는 여러 생성 도구를 이용해 gradient를 만들어냅니다

전환(transition)

전환은 요소의 css 속성 값이 변화할 때, 전 상태후 상태 사이의 변화를 d일정 시간(duration)동안 일어나도록 해주는 단축속성입니다

속성의 값들이 변환될 때(transform) 그 과정을 조금 더 부드럽게해서 사용자 편의성을 증진시킵니다

transition은 자동으로 작동하는게 아니라 :hover같은 가상 클래스 선택자나 JS의 부수적인 동작에 의해 작동합니다