CSS3中的3D轉換功能可以使用Perspective(透視)和Transform(變換)屬性來模擬球體的效果,下面介紹一下如何使用CSS書寫球體。
/* 球體容器 */ .sphere { /* 透視 */ perspective: 1000px; } /* 球體元素 */ .sphere::before { content: ""; display: block; width: 100px; height: 100px; border-radius: 50%; background-color: #000; transform-style: preserve-3d; transform: translateY(-50%) rotateY(0deg) rotateX(0deg); }
以上代碼中,我們首先創建了一個容器元素.sphere,并給它設置了perspective屬性,這個屬性可以讓子元素在此容器內繞著該屬性的值來進行3D效果。然后我們創建了一個偽元素 .sphere::before,設置了該元素的寬高、邊框圓角以及背景顏色。
接下來,我們在偽元素上使用了transform-style:preserve-3d來啟用3D變換,并在transform屬性里同時設置了rotateX和rotateY來讓球體旋轉。在這里,我們設置初始值都為0度,因為我們只是要展示如何創建一個球體,您可以調整值來實現您想要的效果。
/* 鼠標懸浮時放大 */ .sphere:hover::before { transform: translateY(-50%) rotateY(90deg) rotateX(-90deg) scale(1.5); }
最后,我們為該元素添加了一個:hover的效果,當鼠標懸浮在球體上時,給該元素設置了一些新的transform屬性的值。我們首先將其沿著Y軸旋轉了90度、X軸旋轉了-90度,并增加了scale讓其放大了1.5倍。再次提醒,您可以根據需求自行更改。
使用CSS書寫球體實用又有趣,希望這篇文章對于學習CSS變換技術的您有所啟發。
上一篇css書本動態展示