CSS를 사용하여 원근감 효과 얻기
오늘 저는 CSS를 사용하여 원근감 효과를 얻는 아이디어를 생각해 냈습니다. 처음에는 오프셋을 통해 여러 div를 사용하여 그림자 효과를 추가하는 일반적인 방법을 생각했지만 이 방법에는 많은 div가 필요하므로 이상적이지 않습니다. 그러다가 테두리의 교차점에 대각선 효과를 줄 수 있는 CSS의 속성인 border를 생각했습니다. 이는 두 개의 div로 달성할 수 있습니다. 먼저 최종 효과를 살펴보고 구현 프로세스를 분석해 보겠습니다.
먼저 테두리가 어떻게 대각선 효과를 생성하는지 살펴보겠습니다. HTML 헤드에 다음 코드를 추가하면 이러한 효과를 볼 수 있습니다.
.border{너비:0;높이:0;테두리-너비:50px;테두리-색상:#f00 #0f0 #00f #000;테두리 스타일:단색;}
위의 기초를 사용하여 두 개의 추가 div를 사용하여 원근감 효과를 얻을 수 있습니다.
1. HTML 코드는 다음과 같습니다 .
<div 클래스="관점-외부">
<div class="perspective-r"></div>
<div class="perspective-b"></div>
<div class="perspective-inner">원근감 효과 요소</div>
</div>
2. CSS 코드:
.perspective-외부{
위치:상대적;
width:170px;/*원근 효과를 얻기 위한 요소의 너비 + 원근 거리*/
height:140px;/*원근 효과를 얻기 위한 요소의 높이 + 원근 거리*/
}
.관점-내부{
테두리:1px 솔리드 #f60;
높이:118px;
너비:148px;
배경색:#fff;
}
.perspective-r,
.perspective-b{
위치:절대;
너비:0;
높이:0;
}
.perspective-r{
오른쪽:0;
height:100px;/*원근감 효과를 얻기 위한 요소의 높이(120px) - (border-top:20px)*/
border-left:20px solid #000;/*오른쪽 원근 거리*/
border-top:20px solid #fff;/*아래 원근 거리*/
}
.perspective-b{
하단:0;
width:150px;/*가장 바깥쪽 요소의 너비(170px) - border-left*/
테두리 왼쪽:20px 단색 #fff;
테두리 상단:20px 솔리드 #000;
}
.perspective-outer는 높이와 너비를 정의하고, 오른쪽과 아래의 투시 영역이 해당 위치에 배치될 수 있도록 상대적으로 배치합니다. 높이와 너비 값은 투시를 구현하는 요소의 높이입니다. 효과에 해당 투시 거리를 더한 것입니다. .perspective-r은 높이 값만 설정하면 되며 해당 값은 .perspective-outer에서 border-top의 높이를 뺀 값입니다. .perspective-b는 너비 값만 설정하면 되며 해당 값은 .perspective-의 너비입니다. 외부 빼기 테두리 - 왼쪽. .perspective-r의 border-top과 .perspective-b의 border-left의 너비 값에 따라 원근 각도가 결정됩니다. .perspective-r의 border-left와 .perspective-b의 border-top의 너비 값에 따라 원근 거리가 결정됩니다. 그 중 .perspective-r의 border-top 색상과 .perspective-b의 border-left 색상은 여기 테스트 페이지의 상위 요소의 배경색이므로 흰색입니다.
3. 추신
이 기사는 단순한 테스트일 뿐이며, 그 목적은 다른 사람들에게 영감을 주는 것입니다. 우리는 이 방법이 얼마나 실용적인지에 대해서는 관심이 없지만 적어도 문제를 해결할 수 있는 방법을 제공할 수 있습니다. 이 기사가 도움이 되기를 바랍니다.