>웹 프론트엔드 >CSS 튜토리얼 >CSS3 특수 효과의 3D 플롭 효과에 대한 자세한 예

CSS3 특수 효과의 3D 플롭 효과에 대한 자세한 예

WBOY
WBOY앞으로
2016-05-16 12:03:255315검색

이 글은 CSS3 특수 효과의 3D 반전 효과를 주로 소개합니다. 관심 있는 친구들이 참고하면 좋을 것 같습니다.

최근 CSS3를 배우고 있는데 점점 좋아지고 있다는 걸 느꼈습니다. 오늘날의 CSS3는 더 이상 이전 CSS가 아니며, 그것이 만들어내는 기능적 효과는 우리의 상상을 초월합니다. 플래시를 구현할 수 있고, js로 생성할 수 있는 일부 효과를 생성할 수 있으며, ps로 만든 그라데이션, 둥근 모서리, 그림자 등과 같은 일부 효과를 작성할 수도 있습니다. 너무 눈부셔서 많은 사람들이 이미 수행했다고 생각합니다. .. 좀 더 깊이 공부해 볼까요, ㅎㅎ 저도 오늘은 3D 효과에 대해서 좀 공부해 본 적이 없습니다.

실제로는 3D 카드 플롭 효과라고 하는데, 앞쪽에 한 장, 뒤쪽에 한 장씩 회전하면 1장씩 회전하게 됩니다. 특정 각도가 변경되면 다음 사진도 함께 회전합니다. 사진 중 하나는 보이지 않을 때까지 회전하지만 막 회전하려는 다른 사진은 우리에게 보입니다. 참을성이 없다면 와서 저와 함께 배워보세요. 하하~@@@

우선 html에는 다음과 같은 레이아웃이 있습니다:

<p class="outer">
    <p class="p1"></p>
    <p class="p2"></p>
</p>

외부 p를 과소평가하지 마세요. p가 없으면 후속 효과를 얻을 수 없습니다. 레이아웃이 완료되면 스타일 작업을 시작할 시간입니다. 가장 먼저 해야 할 일은 너비와 높이를 지정하는 것입니다. 너비와 높이를 200*200으로 지정하겠습니다. 이제 외부 작업이 완료되었으므로 내부 작업이 시작됩니다. 여기서는 200*200을 제공합니다. 이때, 브라우저를 보면 p1과 p2가 위, 아래로 하나씩 표시되는 것을 발견하는데, p가 블록 요소이고 한 줄 전체를 차지한다는 것을 알아야 합니다. 그러나 이것은 우리가 이전에 말한 것에 대해서는 사실이 아닙니다. 앞과 뒤 사이에는 모순이 있어야 합니다. 두 p의 중심이 일치하도록 절대 위치를 지정하십시오. 두 개의 p를 구별하기 위해 여기서는 서로 다른 배경색을 지정해야 합니다. 사전 준비 작업이 거의 완료되었습니다. 이제 효과를 얻는 방법을 살펴보겠습니다!

우리는 카드 플롭 효과를 듣자마자 회전이 있어야 한다는 것을 알게 됩니다. 이를 위해서는 변환:rotateY(?deg ) in CSS3; 누군가 왜 회전Y인지 물을 수도 있지만, 모르시겠죠? 물론 플롭은 Y축을 따라 회전합니다. 하하! 따라서 마우스가 p로 이동하면 회전 효과가 나타나도록 해야 합니다. 그런 다음 외부 p를 사용해야 합니다. 어떤 작은 p를 사용하더라도 마우스를 바깥쪽으로 클릭하지 않으면 동시에 회전할 수 없습니다. 그 p에 이런 코드가 있습니다.

.outer:hover .p1{
            transform:rotateY(-180deg);
        }
        .outer:hover .p2{
            transform:rotateY(0deg);
        }

회전은 있는데 전환 효과가 없는 회전이 보기 흉해서 여기에서 전환 효과를 주기 위해 CSS3 transition:all 2s에서 새 속성을 사용해야 합니다. 여기서는 모든 효과가 전환된다는 의미입니다. 이에 대해 말하면, 우리는 실제로 현재 항목을 뒤로 회전하는 방법을 다루지 않았으며 후자는 바로 뒤에 나타납니다. 이것은 이미지에서 매우 중요한 속성입니다. Transformation은 그림이 디스플레이 화면의 보이지 않는 곳으로 이동하면 사라지는 것을 의미합니다. 즉, 원래 정면을 향하고 있을 때는 보이지만 Y축을 따라 180도 회전하면 더 이상 보이지 않게 됩니다. 회전 후에는 더 이상 표시되지 않습니다. 따라서 우리는 이 속성을 두 개의 작은 p에 추가할 것입니다. 그리고 이 효과를 얻으려면 두 개의 작은 p 중 하나가 처음에 회전되지 않도록 해야 합니다. 뒤에 있는 다른 하나가 180도 회전되어 첫 번째 p가 시작될 때를 볼 수 있습니다. 회전하려면 두 번째 p가 즉시 표시되지 않고 보이지 않는 위치로 회전할 때까지 기다리면 두 번째 p가 나타납니다. 구체적인 코드는 다음과 같습니다.

<html><head>
    <title>3D翻牌效果 </title>
    <meta charset="UTF-8">
    <script type="text/javascript" src="jquery.js"></script>
    <style type="text/css">
        .outer{
           width: 510px;
            height: 340px;
            border: 1px red solid;
            margin: 0 auto;
        }
        .outer p{
           width:510px;
            height: 340px;
            position: absolute;
              transform-style: preserve-3d;
             backface-visibility:hidden;
            transition:all 2s;
        }
        .p1{
           background: url("images/1.jpg");
            transform:rotateY(0);
        }
        .p2{
            background: url("images/2.jpg") no-repeat;
            transform:rotateY(-180deg);
        }
        .outer:hover .p1{
            transform:rotateY(-180deg);
        }
        .outer:hover .p2{
           transform:rotateY(0deg);
        }
    </style></head><body><p class="outer">
    <p class="p1"></p>
    <p class="p2"></p></p></body></html>

위 내용이 이 글의 주요 내용인데, 모두에게 도움이 되었으면 좋겠습니다.

【관련 추천 튜토리얼】

1. CSS 동영상 튜토리얼
2. CSS 온라인 매뉴얼
3. 부트스트랩 튜토리얼

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제