>  기사  >  웹 프론트엔드  >  CSS3는 2D 변환을 어떻게 구현합니까? 2D 변환 구현(코드 예시)

CSS3는 2D 변환을 어떻게 구현합니까? 2D 변환 구현(코드 예시)

青灯夜游
青灯夜游앞으로
2018-10-27 15:59:432961검색

이 글의 내용은 CSS3에서 2D 변환을 구현하는 방법을 소개하는 것인가요? 2D 변환 구현(코드 예) 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

transform

W3 매뉴얼 참조

Transform 속성은 2D 또는 3D에서 요소로 변환을 적용합니다. 이 속성을 사용하면 요소를 회전, 크기 조정, 이동 또는 기울일 수 있습니다.

  • 1. 형식:

transform: none|transform-functions;
  • 1. 공통 값:

    • 1),rotaterotate

    transform: rotate(45deg);/*其中deg是单位, 代表多少度*/
    • 2), 번역번역

    transform: translate(100px, 0px);  /*第一个参数:水平方向第二个参数:垂直方向*/
    • 3), scalescale

    transform: scale(1.5);
    /*transform: scale(0.5, 0.5);*/
    
    /*
    第一个参数:水平方向
    第二个参数:垂直方向
    注意点:
    如果取值是1, 代表不变
    如果取值大于1, 代表需要放大
    如果取值小于1, 代表需要缩小
    如果水平和垂直缩放都一样, 那么可以简写为一个参数
    */
    • 4), 연속 형식으로의 포괄적 변환

    transform: rotate(45deg) translate(100px, 0px) scale(1.5, 1.5);
    /*
    注意点:
    1.如果需要进行多个转换, 那么用空格隔开
    2.2D的转换模块会修改元素的坐标系, 所以旋转之后再平移就不是水平平移的
    */

기본적으로 모든 요소는 Z축을 중심으로 회전합니다. 축을 중심으로 회전하려면 회전 후에 축을 추가하기만 하면 됩니다. 예:

transform: rotateZ(45deg);

transform: rotateX(45deg);

transform: rotateY(45deg);

transform-origin

transform-origin 속성은 변형된 요소의 위치를 ​​변경하는 데 사용됩니다.

2D 변환 요소는 요소의 X 및 Y축을 변경할 수 있습니다. 3D 변환 요소는 Z축도 변경할 수 있습니다

  • 1. 형식:

transform-origin: left top;
  • 2. 값:

/*具体像素*/
transform-origin: 200px 0px;
/*百分比*/
transform-origin: 50% 50%;
/*特殊关键字*/
transform-origin: left top;

기본적으로 모든 요소는 자체 중심점을 참조로 사용합니다. 중심점 속성을 변형하여 참조점을 수정할 수 있습니다. 관점 속성은 뷰에서 3D 요소까지의 거리를 픽셀 단위로 정의합니다.

원근 속성이 정의된 경우. 요소의 하위 요소는 요소 자체가 아닌 원근감 효과를 얻습니다. 형식:

perspective: number|none;
/*
number  元素距离视图的距离,以像素计
none    默认值。与0相同。不设置透视
*/

    참고: 원근 속성은 3D 변형 요소에만 영향을 미칠 수 있습니다
    포괄적인 예 1
2D 모듈 변환 포커 연습

76c82f278ac045591c9159d381de2c57ee6f7fadafad2ae7f411683c59a92b2093f0f5c25f18dab9d176bd4f6de5d30e
    a80eb7cbb6fff8b0ff70bae37074b813
    b2386ffb911b14667cb8f0f91ea547a72D模块转换扑克练习6e916e0f7d1e588d4f442bf645aedb2f
    c9ccee2e6ea535a969eb3f532ad9fe89
        *{
            margin: 0;
            padding: 0;
        }
        p{
            width: 310px;
            height: 418px;
            border: 1px solid gold;
            margin: 100px auto;
            background-color: #afcced;
            perspective: 400px;
        }
        p img{
            transition: transform 1.2s;
            transform-origin: center bottom;
        }
        p:hover img{
            transform: rotateX(80deg);
        }
    531ac245ce3e4fe3d50054a55f2659279c3bca370b5104690d9ef395f2c5f8d16c04bd5ca3fcae76e30b72ad730ca86de388a4556c0f65e1904146cc1a846bee
    f08f3e4a6743d92c58d098522cd24d8b94b3e26ee717c64999d7867364b1b4a336cc49f0c466276486e50c850b7e495673a6ac4ed44ffec12cee46588e518a5e

종합 예시 2(포토월)

2D 변환 모듈-포토월

76c82f278ac045591c9159d381de2c57ee6f7fadafad2ae7f411683c59a92b2093f0f5c25f18dab9d176bd4f6de5d30e
    a80eb7cbb6fff8b0ff70bae37074b813
    b2386ffb911b14667cb8f0f91ea547a72D转换模块-照片墙6e916e0f7d1e588d4f442bf645aedb2f
    c9ccee2e6ea535a969eb3f532ad9fe89
        *{
            margin: 0;
            padding: 0;
        }
        ul{
            height: 400px;
            margin: 100px auto;
            background-color: cornflowerblue;
            text-align: center;
            border: 1px solid #000;
        }
        ul li{
            list-style: none;
            margin-top: 100px;
            height: 200px;
            width: 150px;
            display: inline-block;
            background-color: red;
            border: 5px solid white;
            transition: transform 1s;
            box-shadow: 2px 2px 2px;
            position: relative;
        }
        ul li:nth-child(1){
            transform: rotate(30deg);
        }
        ul li:nth-child(2){
            transform: rotate(-40deg);
        }
        ul li:nth-child(3){
            transform: rotate(15deg);
        }
        ul li:nth-child(4){
            transform: rotate(60deg);
        }
        ul li:nth-child(5){
            transform: rotate(-25deg);
        }
        ul li:nth-child(6){
            transform: rotate(10deg);
        }
        ul li img{
            width: 150px;
            height: 200px;
        }
        ul li:hover {
            transform: scale(1.6);
            z-index: 999;
        }
    531ac245ce3e4fe3d50054a55f2659279c3bca370b5104690d9ef395f2c5f8d16c04bd5ca3fcae76e30b72ad730ca86dff6d136ddc5fdfeffaf53ff6ee95f185
    25edfb22a4f469ecb59f1190150159c6f49c0cc05e00cb9266570db8ee6e13e8bed06894275b65c1ab86501b08a632eb
    25edfb22a4f469ecb59f1190150159c6e561a964df9710ea8a965618667261a8bed06894275b65c1ab86501b08a632eb
    25edfb22a4f469ecb59f1190150159c6d5ba7c568f86a0e703cb537a797a0f52bed06894275b65c1ab86501b08a632eb
    25edfb22a4f469ecb59f1190150159c64099d3f8819978d35f73419e54584886bed06894275b65c1ab86501b08a632eb
    25edfb22a4f469ecb59f1190150159c6840e3b566a617b70376ff0f12fc5c8c2bed06894275b65c1ab86501b08a632eb
    25edfb22a4f469ecb59f1190150159c693586cb1e13dee7994ad84646904e02dbed06894275b65c1ab86501b08a632eb929d1f5ca49e04fdcb27f9465b94468936cc49f0c466276486e50c850b7e495673a6ac4ed44ffec12cee46588e518a5e

위 내용은 CSS3는 2D 변환을 어떻게 구현합니까? 2D 변환 구현(코드 예시)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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