CSS의 부드럽고 사실적인 그림자를 위한 마스터 가이드
그림자는 무엇입니까?
빛이 물체에 닿으면 그림자가 생깁니다. 우리 주변에서 볼 수 있는 그림자는 동일한 원리로 작동하지만 특정 모양이나 길이 또는 크기가 아니기 때문에 실제로 복잡하고 사실적입니다. 그들은 어떤 모양을 취할 수 있으며 모든 방향으로 떨어질 수 있습니다. CSS를 사용하여 웹사이트에 그림자를 만들기 위해
box-shadow
속성을 사용합니다.예를 들어
box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
그러나
box-shadow
속성을 통해 실제 그림자를 만들려는 경우에는 할 수 없습니다.왜요?
'왜?'를 알기 위해서는 box-shadow 속성이 어떻게 작동하는지 이해해야 합니다.
box-shadow
속성은 단순히 개체의 흐릿한 실루엣을 생성합니다. 길이, 색상, 흐림, 확산 및 오프셋을 더 이상 변경할 수 없습니다. 그러면 box-shadow
속성을 통해 Natural Super Complex real Shadows를 생성할 방법이 없을 것입니다.그런데 뜻밖에 방법이 있습니다!
간단한 기술을 사용하면 더 많은 제어 기능을 얻을 수 있고 옵션의 범위를 확장할 수 있습니다. 이 기술은 '레이어드 섀도우'를 사용합니다. 쉼표를 사용하고 점차적으로 흐림 반경, 오프셋을 늘려 그림자를 보다 사실적으로 만들어 간단한
box-shadow
속성에서 여러 그림자를 정의할 수 있습니다. 다음은 예입니다.노멀
box-shadow
⏬레이어드
box-shadow
⏬그림자의 차이를 볼 수 있습니다. 예리한 그림자, 꿈꾸는 그림자, 긴 그림자 등 더 많은 그림자 변형을 생성하기 위해 더 많이 사용자 정의할 수 있습니다.
/* Normal box-shadow */
.box {
box-shadow: 0 3px 3px rgba(0,0,0,0.2);
}
/* Layered Box-shadow */
box-shadow:
0 3.9px 4.6px rgba(0, 0, 0, 0.08),
0 12.3px 8.4px rgba(0, 0, 0, 0.056),
0 18.8px 19.2px rgba(0, 0, 0, 0.037),
0 22px 40px rgba(0, 0, 0, 0.019)
;
더 많은 레이어 == 더 많은 사용자 정의 == 더 사실적인 그림자
또한 알파 값(불투명도)을 점진적으로 줄이고 흐림 강도를 높여 선명한 그림자를 생성하여 선명한 그림자를 생성할 수도 있습니다. 동일한 원리를 사용하여 확산된 그림자를 만들 수 있습니다.
샤프 섀도우⏬
디퓨즈드 섀도우⏬
불투명도와 스프레드를 사용하여 짧은 그림자와 긴 그림자를 만들 수도 있습니다. 긴 그림자를 만들기 위해 y 오프셋 값을 점차적으로 늘릴 수 있습니다.
짧은 그림자⏬
긴 그림자⏬
그러나 이러한 종류의 그림자를 만드는 것은 어떤 사람들에게는 정말 엉망입니다. 특히 그러한 사람들을 위해 그리고 우리의 삶을 더 쉽게 만들기 위해 현실적인 그림자 만들기(예: https://shadows.brumm.af/ by Philipp 에서 도움이 될 수 있는 웹사이트가 있습니다.
이 웹 사이트를 통해 원하는 만큼 레이어를 만들고 실시간으로 편집할 수 있으므로 많은 시간과 노력을 절약할 수 있습니다.
Devang의 게시물입니다. 도움이 되기를 바랍니다!
내 포트폴리오를 확인하세요: here
Reference
이 문제에 관하여(CSS의 부드럽고 사실적인 그림자를 위한 마스터 가이드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/devang/the-master-guide-to-smooth-realistic-shadows-in-css-463p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)