Wireframe Planet

Developer
Size
5,744 Kb
Views
6,072

How do I make an wireframe planet?

What is a wireframe planet? How do you make a wireframe planet? This script and codes were developed by Daniel Grant on 28 December 2022, Wednesday.

Wireframe Planet Previews

Wireframe Planet - Script Codes HTML Codes

<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Wireframe Planet</title> <meta name="viewport" content="width-device-width, user-scalable=no"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"> <style> /* NOTE: The styles were added inline because Prefixfree needs access to your styles and they must be inlined if they are on local disk! */ .space { height: 100%; background: black; color: white; perspective: 300;
}
.object-wrapper { height: 100%; transform-style: preserve-3d;
}
.object { position: absolute; transform-style: preserve-3d;
}
.plane { position: absolute; backface-visibility: hidden;
}
.planet { position: absolute; width: 300px; height: 300px; border-radius: 150px; left: 50%; margin-left: -150px; top: 50%; margin-top: -150px; transform-style: preserve-3d; animation: 10s spin infinite linear;
}
.planet > .plane { width: 100%; height: 100%; border: 1px solid #555; border-radius: 50%;
}
.planet > .plane:nth-child(45) { transform: rotateY(360deg);
}
.planet > .plane:nth-child(44) { transform: rotateY(352deg);
}
.planet > .plane:nth-child(43) { transform: rotateY(344deg);
}
.planet > .plane:nth-child(42) { transform: rotateY(336deg);
}
.planet > .plane:nth-child(41) { transform: rotateY(328deg);
}
.planet > .plane:nth-child(40) { transform: rotateY(320deg);
}
.planet > .plane:nth-child(39) { transform: rotateY(312deg);
}
.planet > .plane:nth-child(38) { transform: rotateY(304deg);
}
.planet > .plane:nth-child(37) { transform: rotateY(296deg);
}
.planet > .plane:nth-child(36) { transform: rotateY(288deg);
}
.planet > .plane:nth-child(35) { transform: rotateY(280deg);
}
.planet > .plane:nth-child(34) { transform: rotateY(272deg);
}
.planet > .plane:nth-child(33) { transform: rotateY(264deg);
}
.planet > .plane:nth-child(32) { transform: rotateY(256deg);
}
.planet > .plane:nth-child(31) { transform: rotateY(248deg);
}
.planet > .plane:nth-child(30) { transform: rotateY(240deg);
}
.planet > .plane:nth-child(29) { transform: rotateY(232deg);
}
.planet > .plane:nth-child(28) { transform: rotateY(224deg);
}
.planet > .plane:nth-child(27) { transform: rotateY(216deg);
}
.planet > .plane:nth-child(26) { transform: rotateY(208deg);
}
.planet > .plane:nth-child(25) { transform: rotateY(200deg);
}
.planet > .plane:nth-child(24) { transform: rotateY(192deg);
}
.planet > .plane:nth-child(23) { transform: rotateY(184deg);
}
.planet > .plane:nth-child(22) { transform: rotateY(176deg);
}
.planet > .plane:nth-child(21) { transform: rotateY(168deg);
}
.planet > .plane:nth-child(20) { transform: rotateY(160deg);
}
.planet > .plane:nth-child(19) { transform: rotateY(152deg);
}
.planet > .plane:nth-child(18) { transform: rotateY(144deg);
}
.planet > .plane:nth-child(17) { transform: rotateY(136deg);
}
.planet > .plane:nth-child(16) { transform: rotateY(128deg);
}
.planet > .plane:nth-child(15) { transform: rotateY(120deg);
}
.planet > .plane:nth-child(14) { transform: rotateY(112deg);
}
.planet > .plane:nth-child(13) { transform: rotateY(104deg);
}
.planet > .plane:nth-child(12) { transform: rotateY(96deg);
}
.planet > .plane:nth-child(11) { transform: rotateY(88deg);
}
.planet > .plane:nth-child(10) { transform: rotateY(80deg);
}
.planet > .plane:nth-child(9) { transform: rotateY(72deg);
}
.planet > .plane:nth-child(8) { transform: rotateY(64deg);
}
.planet > .plane:nth-child(7) { transform: rotateY(56deg);
}
.planet > .plane:nth-child(6) { transform: rotateY(48deg);
}
.planet > .plane:nth-child(5) { transform: rotateY(40deg);
}
.planet > .plane:nth-child(4) { transform: rotateY(32deg);
}
.planet > .plane:nth-child(3) { transform: rotateY(24deg);
}
.planet > .plane:nth-child(2) { transform: rotateY(16deg);
}
.planet > .plane:nth-child(1) { transform: rotateY(8deg);
}
.planet .axis { position: absolute; top: -10%; height: 120%; width: 1px; background: #999; transform: translateX(150px) translateZ(0px);
}
.planet .satellite { position: absolute; top: 25%; width: 26px; height: 26px; border-radius: 5px; transform: translateX(-70px) translateZ(0) rotate(15deg);
}
.planet .satellite .plane { backface-visibility: visible; background: #555;
}
.planet .satellite .plane:nth-child(1),
.planet .satellite .plane:nth-child(2) { width: 100%; height: 100%; opacity: 0.9;
}
.planet .satellite .plane:nth-child(2) { transform: translateZ(13px);
}
.planet .satellite .plane:nth-child(3),
.planet .satellite .plane:nth-child(4),
.planet .satellite .plane:nth-child(5),
.planet .satellite .plane:nth-child(6) { width: 50%; height: 50%;
}
.planet .satellite .plane:nth-child(3) { transform: rotateY(90deg) translateX(50%) translateY(50%); transform-origin: 100%;
}
.planet .satellite .plane:nth-child(4) { transform: rotateY(90deg) translateX(-50%) translateY(50%); transform-origin: 100%;
}
@keyframes spin { 0% { transform: rotateX(0deg) rotateY(0deg) rotateZ(13.4deg); } 25% { transform: rotateX(0deg) rotateY(90deg) rotateZ(13.4deg); } 50% { transform: rotateX(0deg) rotateY(180deg) rotateZ(13.4deg); } 75% { transform: rotateX(0deg) rotateY(270deg) rotateZ(13.4deg); } 100% { transform: rotateX(0deg) rotateY(360deg) rotateZ(13.4deg); }
}
.slider-group { position: absolute; bottom: 0; width: 100%; padding: 20px; color: #ddd;
}
.slider-group--animation { display: none;
}
.slider-group .control-group { float: left; width: 33%; text-align: center;
}
html,
body { height: 100%;
}
html { font-size: 68.5%;
}
body { font-size: 1.3em;
}
* { box-sizing: border-box; position: relative;
} </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
</head>
<body> <div class='space'> <div class='object-wrapper'> <div class='object planet'> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='axis'></div> <div class='object cuboid satellite'> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> <div class='plane'></div> </div> </div> </div>
</div>
<form class='slider-group slider-group--transform'> <div class='control-group'> <label> rotateX( <input class='slider slider--transform' data-unit='deg' max='360' min='-360' name='rotateX' type='range' value='190'> </label> ) </div> <div class='control-group'> <label> translateY( <input class='slider slider--transform' data-unit='%' min='-100' name='translateY' type='range' value='30'> ) </label> </div> <div class='control-group'> <label> scale( <input class='slider slider--transform' max='2' min='0' name='scale' step='0.1' type='range' value='1'> ) </label> </div>
</form> <script src="js/index.js"></script>
</body>
</html>

Wireframe Planet - Script Codes CSS Codes

.space { height: 100%; background: black; color: white; perspective: 300;
}
.object-wrapper { height: 100%; transform-style: preserve-3d;
}
.object { position: absolute; transform-style: preserve-3d;
}
.plane { position: absolute; backface-visibility: hidden;
}
.planet { position: absolute; width: 300px; height: 300px; border-radius: 150px; left: 50%; margin-left: -150px; top: 50%; margin-top: -150px; transform-style: preserve-3d; animation: 10s spin infinite linear;
}
.planet > .plane { width: 100%; height: 100%; border: 1px solid #555; border-radius: 50%;
}
.planet > .plane:nth-child(45) { transform: rotateY(360deg);
}
.planet > .plane:nth-child(44) { transform: rotateY(352deg);
}
.planet > .plane:nth-child(43) { transform: rotateY(344deg);
}
.planet > .plane:nth-child(42) { transform: rotateY(336deg);
}
.planet > .plane:nth-child(41) { transform: rotateY(328deg);
}
.planet > .plane:nth-child(40) { transform: rotateY(320deg);
}
.planet > .plane:nth-child(39) { transform: rotateY(312deg);
}
.planet > .plane:nth-child(38) { transform: rotateY(304deg);
}
.planet > .plane:nth-child(37) { transform: rotateY(296deg);
}
.planet > .plane:nth-child(36) { transform: rotateY(288deg);
}
.planet > .plane:nth-child(35) { transform: rotateY(280deg);
}
.planet > .plane:nth-child(34) { transform: rotateY(272deg);
}
.planet > .plane:nth-child(33) { transform: rotateY(264deg);
}
.planet > .plane:nth-child(32) { transform: rotateY(256deg);
}
.planet > .plane:nth-child(31) { transform: rotateY(248deg);
}
.planet > .plane:nth-child(30) { transform: rotateY(240deg);
}
.planet > .plane:nth-child(29) { transform: rotateY(232deg);
}
.planet > .plane:nth-child(28) { transform: rotateY(224deg);
}
.planet > .plane:nth-child(27) { transform: rotateY(216deg);
}
.planet > .plane:nth-child(26) { transform: rotateY(208deg);
}
.planet > .plane:nth-child(25) { transform: rotateY(200deg);
}
.planet > .plane:nth-child(24) { transform: rotateY(192deg);
}
.planet > .plane:nth-child(23) { transform: rotateY(184deg);
}
.planet > .plane:nth-child(22) { transform: rotateY(176deg);
}
.planet > .plane:nth-child(21) { transform: rotateY(168deg);
}
.planet > .plane:nth-child(20) { transform: rotateY(160deg);
}
.planet > .plane:nth-child(19) { transform: rotateY(152deg);
}
.planet > .plane:nth-child(18) { transform: rotateY(144deg);
}
.planet > .plane:nth-child(17) { transform: rotateY(136deg);
}
.planet > .plane:nth-child(16) { transform: rotateY(128deg);
}
.planet > .plane:nth-child(15) { transform: rotateY(120deg);
}
.planet > .plane:nth-child(14) { transform: rotateY(112deg);
}
.planet > .plane:nth-child(13) { transform: rotateY(104deg);
}
.planet > .plane:nth-child(12) { transform: rotateY(96deg);
}
.planet > .plane:nth-child(11) { transform: rotateY(88deg);
}
.planet > .plane:nth-child(10) { transform: rotateY(80deg);
}
.planet > .plane:nth-child(9) { transform: rotateY(72deg);
}
.planet > .plane:nth-child(8) { transform: rotateY(64deg);
}
.planet > .plane:nth-child(7) { transform: rotateY(56deg);
}
.planet > .plane:nth-child(6) { transform: rotateY(48deg);
}
.planet > .plane:nth-child(5) { transform: rotateY(40deg);
}
.planet > .plane:nth-child(4) { transform: rotateY(32deg);
}
.planet > .plane:nth-child(3) { transform: rotateY(24deg);
}
.planet > .plane:nth-child(2) { transform: rotateY(16deg);
}
.planet > .plane:nth-child(1) { transform: rotateY(8deg);
}
.planet .axis { position: absolute; top: -10%; height: 120%; width: 1px; background: #999; transform: translateX(150px) translateZ(0px);
}
.planet .satellite { position: absolute; top: 25%; width: 26px; height: 26px; border-radius: 5px; transform: translateX(-70px) translateZ(0) rotate(15deg);
}
.planet .satellite .plane { backface-visibility: visible; background: #555;
}
.planet .satellite .plane:nth-child(1),
.planet .satellite .plane:nth-child(2) { width: 100%; height: 100%; opacity: 0.9;
}
.planet .satellite .plane:nth-child(2) { transform: translateZ(13px);
}
.planet .satellite .plane:nth-child(3),
.planet .satellite .plane:nth-child(4),
.planet .satellite .plane:nth-child(5),
.planet .satellite .plane:nth-child(6) { width: 50%; height: 50%;
}
.planet .satellite .plane:nth-child(3) { transform: rotateY(90deg) translateX(50%) translateY(50%); transform-origin: 100%;
}
.planet .satellite .plane:nth-child(4) { transform: rotateY(90deg) translateX(-50%) translateY(50%); transform-origin: 100%;
}
@keyframes spin { 0% { transform: rotateX(0deg) rotateY(0deg) rotateZ(13.4deg); } 25% { transform: rotateX(0deg) rotateY(90deg) rotateZ(13.4deg); } 50% { transform: rotateX(0deg) rotateY(180deg) rotateZ(13.4deg); } 75% { transform: rotateX(0deg) rotateY(270deg) rotateZ(13.4deg); } 100% { transform: rotateX(0deg) rotateY(360deg) rotateZ(13.4deg); }
}
.slider-group { position: absolute; bottom: 0; width: 100%; padding: 20px; color: #ddd;
}
.slider-group--animation { display: none;
}
.slider-group .control-group { float: left; width: 33%; text-align: center;
}
html,
body { height: 100%;
}
html { font-size: 68.5%;
}
body { font-size: 1.3em;
}
* { box-sizing: border-box; position: relative;
}

Wireframe Planet - Script Codes JS Codes

var els = {};
var forEach = Array.prototype.forEach;
els.transformForm = $$('slider-group--transform')[0];
els.transformSliders = $$('slider--transform');
els.objectWrapper = $$('object-wrapper')[0];
els.object = $$('object')[0];
els.transformForm.addEventListener('change', function() { var styles = returnPropObj(els.transformSliders); setTransform(els.objectWrapper, styles, "%");
});
function returnPropObj(el) { var styles = []; forEach.call(el, function(el, i) { var obj = {}; var unit = el.getAttribute('data-unit') || ''; obj[el.getAttribute('name')] = el.value + unit; styles.push(obj); }); return styles;
}
function setTransform(el, styles) { var cssProps = ''; styles.forEach(function(style, i) { for(objProp in style) { cssProps += objProp + "(" + style[objProp] + ") "; } }); console.log(cssProps); el.style.webkitTransform = cssProps;
}
function $$(a) { return document.getElementsByClassName(a);
}
Wireframe Planet - Script Codes
Wireframe Planet - Script Codes
Home Page Home
Developer Daniel Grant
Username djgrant
Uploaded December 28, 2022
Rating 3
Size 5,744 Kb
Views 6,072
Do you need developer help for Wireframe Planet?

Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!

Daniel Grant (djgrant) Script Codes
Create amazing love letters with AI!

Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!