Wireframe Planet
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 - 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);
}
Developer | Daniel Grant |
Username | djgrant |
Uploaded | December 28, 2022 |
Rating | 3 |
Size | 5,744 Kb |
Views | 6,072 |
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!
Name | Size |
Transitioning application screens with semantically named classes | 3,697 Kb |
Responsive Modal | 4,178 Kb |
Touch rem | 2,979 Kb |
Zero element inline validation bubble | 4,117 Kb |
Number input with controls | 2,867 Kb |
Wireframe solar system | 4,856 Kb |
Auto expanding input addons | 3,140 Kb |
Facebook Paper Theme | 4,905 Kb |
CSS triangles with border | 3,146 Kb |
Gradient Border | 2,600 Kb |
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!
Name | Username | Size |
A Pen by Xand0r | Xand0r | 1,928 Kb |
Get third wednesday | Wojtek1150 | 2,691 Kb |
Loading animation - freedom purchase | Rocbear | 2,567 Kb |
Multi-step GSAP animation | Acacheung | 2,668 Kb |
Shape Outside - Polygon | Stacy | 3,954 Kb |
Perforated foil | 0x04 | 2,617 Kb |
A Pen by Manoz | Manoz | 2,424 Kb |
Adding Items | Valhead | 4,008 Kb |
Slim Grid SASS SCSS v3.2 | Thesturs | 4,709 Kb |
Minimelephant | Smashlee | 2,507 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!