이 기사에서 다루는 내용은 순수 CSS(큐브, 동적 3차원 그림책, 평면 별이 빛나는 하늘)를 사용하여 3D를 구현하는 코드입니다. 코드가 매우 자세하게 설명되어 있습니다.
1. 큐브
큐브는 우선 6개의 동일한 면으로 구성되어 있다고 생각합니다. 순서대로 구성해야 합니다. (데이터 구조는 코드에 있습니다)
코드는 다음과 같습니다.
nbsp;html> <meta> <meta> <meta> <title>正方体</title> <style> .d3{ height: 300px; width:300px; perspective: 800px; margin:140px auto; border:1px solid #ccc; } .stage{ height: 300px; width: 300px; transform-style: preserve-3d; position: relative; transform: rotateX(45deg) rotateY(45deg); } .role{ height: 300px; width: 300px; position: absolute; } .stage{ animation: dong 3s linear infinite;(这是舞台) } .stage:hover{ animation: paused; } @keyframes dong{(这是使舞台旋转的动画) from{ transform: rotateX(45deg) rotateY(45deg); } to{ transform: rotateX(405deg) rotateY(405deg); } } .di1{(正方体的前面) background: rgb(21, 163, 52); transform: translateZ(150px);(沿着z轴向前移动150px) font-size:100px; font-family:KaiTi; text-align: center; line-height: 300px; } .di2{(正方体的后面) background: blue; transform: translateZ(-150px) rotateY(180deg);(沿着z轴向前移动150px然后沿着y轴旋转180°*注意顺序哦是先移动后旋转) font-size:100px; font-family:KaiTi; text-align: center; line-height: 300px; } .di3{(正方体的左面) background: purple; transform: rotateY(-90deg) translateZ(150px); font-size:100px; font-family:KaiTi; text-align: center; line-height: 300px; } .di4{(正方体的右面) background: pink; transform: rotateY(90deg) translateZ(150px); font-size:100px; font-family:KaiTi; text-align: center; line-height: 300px; } .di5{(正方体的上面) background: red; transform: rotateX(90deg) translateZ(150px); font-size:100px; font-family:KaiTi; text-align: center; line-height: 300px; } .di6{(正方体的下面) background: yellow; transform: rotateX(-90deg) translateZ(150px); font-size:100px; font-family:KaiTi; text-align: center; line-height: 300px; } </style> <div> <div> (将正方体分为六个相同的面) <div>前</div> <div>后</div> <div>左</div> <div>右</div> <div>上</div> <div>下</div> </div> </div>
2. 다이나믹한 3차원 포토앨범
#🎜 🎜#사진 앨범 디자인 입체적인 3D 효과 만들기코드는 다음과 같습니다:
(将第一张定好位置后将后面的依次排列) nbsp;html> <meta> <meta> <meta> <title>事例一</title> <style> body{ height: 100vh; } .div { height: 500px; width: 800px; perspective: 800px; margin: 50px auto; } .div1 { height: 500px; width: 800px; transform-style: preserve-3d; position: relative; /* transform: rotateY(-10deg); */ } .div_0{ height:400px; width:600px; position: absolute; margin-top:110px; margin-left:50px; } .div_1{ height:400px; width:600px; background: url(../day03/timg.jpg); background-size: 600px 400px; border-radius: 20px; transform-origin: right bottom; transition: 3s; } .div_2{ background: url(../day03/timg1.jpg); border-radius: 20px; background-size: 600px 400px; transform-origin: right bottom; transform: rotateZ(2deg) translateZ(-20px) translateX(20px) translateY(-20px); } .div_2:hover{ transform: rotateZ(0) translateZ(0)translateX(0)translateY(0); transition: 1s; } .div_2:hover~.div_1{ /* transform-origin: right bottom; */ transform: rotateZ(2deg) translateZ(20px) translateX(20px) translateY(-20px); transition: 1s; } /* body:hover .div_1{ opacity: 0; transition: 3s; } */ .div_3{ background: url(timg2.jpg); border-radius: 20px; background-size: 600px 400px; transform-origin: right bottom; transform: rotateZ(4deg)translateZ(-40px)translateX(40px)translateY(-40px); } .div_3:hover{ transform: rotateZ(0) translateZ(0)translateX(0)translateY(0); transition: 1s; } .div_4{ background: url(timg4.jpg); border-radius: 20px; background-size: 600px 400px; transform-origin: right bottom; transform: rotateZ(6deg)translateZ(-60px) translateX(60px)translateY(-60px); } .div_4:hover{ transform: rotateZ(0) translateZ(0)translateX(0)translateY(0); transition: 1s; } .div_5{ background: url(timg5.jpg); border-radius: 20px; background-size: 600px 400px; transform-origin: right bottom; transform: rotateZ(8deg)translateZ(-80px) translateX(80px)translateY(-80px); } .div_5:hover{ transform: rotateZ(0) translateZ(0)translateX(0)translateY(0); transition: 1s; } .div_6{ background: url(timg3.jpg) no-repeat; border-radius: 20px; background-size: 600px 400px; transform-origin: right bottom; transform: rotateZ(10deg)translateZ(-100px) translateX(100px)translateY(-100px); } .div_6:hover{ transform: rotateZ(0) translateZ(0)translateX(0)translateY(0); transition: 1s; } </style> <div> <div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> </div>3. Flat starry sky코드는 다음과 같습니다.
(js를 사용하지 않기 때문에 거기에 는 플랫한 효과일뿐입니다#🎜🎜 #회전중심점만 마스터하면 쉬울거에요)
nbsp;html> <meta> <meta> <meta> <title>太阳系</title> <style> body { background: url(timg01.jpg) no-repeat; background-size: 100%; } .box1 { height: 600px; width: 600px; margin: 0 auto; border: 1px solid #ccc; border-radius: 50%; } .box1_0 { height: 100px; width: 100px; margin: 0 auto; border: 1px solid white; border-radius: 50%; position: absolute; top: calc(50% - 59px); left: 322px; transform-origin: 345.5px; animation: dong2 5s linear infinite 4s; } @keyframes dong2 { from { transform: rotate(0) } 100% { transform: rotate(360deg); } } .box1_2 { height: 13px; width: 13px; margin: 0 auto; /* border: 1px solid #ccc; */ border-radius: 50%; background: white; position: absolute; top: calc(50% - 7.5px); left: 96px; transform-origin: -45px; animation: dong3 5.5s linear infinite ; /* animation-iteration-count: 200; */ } @keyframes dong3 { from { transform: rotate(0); } 100% { transform: rotate(360deg); } } .box1_1 { height: 15px; width: 15px; margin: 0 auto; /* border: 1px solid #ccc; */ border-radius: 50%; background: rgb(7, 100, 223); position: absolute; top: 45px; left: calc(50% - 16.5px); } .box2 { height: 400px; width: 400px; margin: 0 auto; border: 1px solid #ccc; border-radius: 50%; position: absolute; top: calc(50% - 200px); left: calc(50% - 200px); } .box2_1 { height: 15px; width: 15px; margin: 0 auto; /* border: 1px solid #ccc; */ border-radius: 50%; background: rgb(198, 208, 221); position: absolute; top: calc(50% - 7.5px); left: 43px; transform-origin: 157.5px; animation: dong1 5s linear infinite .5s; } @keyframes dong1 { from { transform: rotate(0) } 100% { transform: rotate(360deg); } } .box2_2 { height: 15px; width: 15px; margin: 0 auto; border-radius: 50%; background: #644e11; position: absolute; top: calc(50% - 7.5px); left: -7px; transform-origin: 207.5px; animation: dong 5s linear infinite; } @keyframes dong { from { transform: rotate(0) } 100% { transform: rotate(360deg); } } .box3 { height: 300px; width: 300px; margin: 0 auto; border: 1px solid #ccc; border-radius: 50%; position: absolute; top: calc(50% - 150px); left: calc(50% - 150px); } .box4 { height: 30px; width: 30px; margin: 0 auto; border-radius: 50%; background: orange; position: absolute; top: calc(50% - 15px); left: calc(50% - 15px); } .boxli{ height: 900px; width: 900px; margin: 0 auto; border: 1px solid #ccc; border-radius: 50%; position: absolute; top:-120px; left:calc(50% - 450px); } .boxli_1{ height: 15px; width: 15px; margin: 0 auto; border-radius: 50%; background: rgb(116, 100, 56); position: absolute; top:500px; left:-6px; transform-origin: 455.5px -38px; animation: dongli 5s linear infinite; } @keyframes dongli { from { transform: rotate(0) } 100% { transform: rotate(360deg); } } </style> <div> <div> <div></div> <div></div> </div> <div> <div></div> <div></div> <div> <div></div> </div> </div> </div> <div> <div></div> </div>
관련 추천 : 카드 달성 방법 CSS에서 이미지 뒤집기 효과? (특수효과 예시) css3D+ 애니메이션 예시(완전한 코드 포함)
위 내용은 3D를 구현하는 순수 CSS 코드(큐브, 다이나믹한 3차원 그림책, 평평한 별이 빛나는 하늘)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

최근에 색상에 대한 도구, 기사 및 리소스가 많이있었습니다. 당신의 즐거움을 위해 여기에 반올림하여 몇 개의 탭을 닫을 수 있습니다.

Robin은 이전에 이것을 다루었지만 지난 몇 주 동안 그것에 대해 약간의 혼란을 듣고 다른 사람이 설명하는 데 찌르는 것을 보았습니다.

나는 샌드위치 사이트의 디자인을 절대적으로 좋아합니다. 많은 아름다운 특징 중에는 무지개가있는이 헤드 라인이 스크롤 할 때 움직이는 밑줄이 있습니다. 그것은 아닙니다

많은 인기있는 이력서 디자인은 그리드 모양으로 섹션을 배치하여 사용 가능한 페이지 공간을 최대한 활용하고 있습니다. CSS 그리드를 사용하여 레이아웃을 만듭니다

페이지 새로 고침은 일입니다. 때로는 반응이 없다고 생각하거나 새로운 콘텐츠를 사용할 수 있다고 생각할 때 페이지를 새로 고침합니다. 때때로 우리는 단지 화가났습니다

React 세계에서 프론트 엔드 애플리케이션을 구성하는 방법에 대한 지침은 거의 없습니다. (“옳은 느낌”이 될 때까지 파일을 움직여도 롤). 진실

대부분의 경우 사용자가 응용 프로그램에 적극적으로 참여하거나 일시적으로 비활성화되어 있는지에 대해 신경 쓰지 않습니다. 비활성, 의미, 아마도 그들

Wufoo는 항상 통합으로 훌륭했습니다. 캠페인 모니터, MailChimp 및 Typekit과 같은 특정 앱과 통합이 있지만


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
