java球体旋转3d效果_CSS环绕球体的旋转文字-3D效果

本文介绍了如何使用CSS3的透视、3D旋转、位移、渐变和阴影创建一个3D环绕球体旋转的文字效果。通过HTML和CSS代码,实现了球体的3D展示和文字围绕球体的连续旋转动画,提供了一个全面的CSS3实践示例。
摘要由CSDN通过智能技术生成

项目文件结构截图

只需要一个html文件既可:

caa3b685779e3b68bfe87e47f87d8650.png

项目截图:

0338e3d6a36d0190a09dd8618810232c.png

代码实现原理:

该示例的实现过程很简单,主要是使用了CSS3的透视、3D旋转、位移、渐变、阴影,可以说是一次比较全面的练习。

HTML部分:

这里是文字

CSS部分:

使用到的CSS属性用法:

90ff7ce5d880ef23833224406fa7140c.png

c546f80b6044b160cdd6a6a205ffc320.png

舞台:

* {

margin: 0;

padding: 0;

}

.wrapper {

width: 400px;

height: 400px;

margin: 200px;

perspective: 800px;

perspective-origin: 50% 50%;

position: relative;

}

.stage {

transform-style: preserve-3d;

position: absolute;

top: 50%;

left: 50%;

transform: translate3d(-50%, -50%, 0);

}

球体:

.ball {

width: 200px;

height: 200px;

border-radius: 50%;

background-color: #ccc;

position: absolute;

top: 50%;

left: 50%;

transform: translate3d(-50%, -50%, 0);

box-shadow: 0px 55px 45px -38px rgba(0, 0, 0, .3);

}

.ball::before {

content: "";

position: absolute;

top: 1%;

left: 5%;

width: 90%;

height: 90%;

border-radius: 50%;

background: -webkit-radial-gradient(50% 0px, circle, #ffffff, rgba(255, 255, 255, 0) 58%);

z-index: 2;

}

文字:

.text {

width: 100px;

height: 50px;

line-height: 50px;

text-align: center;

white-space: nowrap;

animation: rotate 5s linear infinite;

backface-visibility: hidden;

}

文字动画:

@keyframes rotate {

from {

transform: rotateY(0deg) translateZ(100px);

}

to {

transform: rotateY(360deg) translateZ(100px);

}

}

效果预览

注:本文著作权归作者,由demo大师代发,拒绝转载,转载需要作者授权

Java实现一个模型、两个视图和两个控制器的功能软件,即采用MVC模式或者说是观察者模式,本程序通过输入球体半径,显示球体形状,面积体积等 Sphere.java package Model; import java.util.Observable; public class Sphere extends Observable { private double radius;//球体半径 private double area;//球体面积 private double volume;//球体体积 public Sphere() { radius=100d; area=4*Math.PI*Math.pow(radius, 2); volume=4*Math.PI*Math.pow(radius, 3)/3; } public double getRadius() { return radius; } public double getArea() { return area; } public double getVolume() { return volume; } public void setRadius(double radius) { this.radius = radius; this.area = 4*Math.PI*Math.pow(radius, 2); this.volume=4*Math.PI*Math.pow(radius, 3)/3; this.setChanged(); this.notifyObservers(); } } textView.java package View; import java.util.Observer; import java.util.Observable; import java.text.NumberFormat; import javax.swing.*; import Controller.TextController; import Model.Sphere; import java.awt.*; import java.awt.event.*; public class TextView extends JPanel implements Observer { private JLabel radiusLab;//提示用户输入球体半径 private JTextField radiusTextField;//接受用户输入球体半径 //private JLabel radiusRang; private JLabel areaLab;//显示球体面积 private JTextField areaTextField;//显示输入球体半径对应的面积 private JLabel volumeLab;//显示球体体积 private JTextField volumeTextField;//显示输入球体半径对应的体积 public TextView() { try { Init(); } catch(Exception e) { e.printStackTrace(); } } private void Init() throws Exception { radiusLab=new JLabel("球体半径"); radiusLab.setForeground(new Color(0,165,168)); //radiusRang=new JLabel("[0-200]"); radiusTextField = new JTextField(12); radiusTextField.setForeground(new Color(223,100,158)); radiusTextField.setBackground(new Color(210,204,230)); areaLab=new JLabel("球体面积"); areaLab.setForeground(new Color(0,165,168)); areaTextField = new JTextField(12); areaTextField.setBackground(new Color(193,219,219)); areaTextField.setEditable(fal
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值