<!DOCTYPE html>
<html>
<head>
<title>Solar System</title>
<style>
body {
margin: 0;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background-color: black;
overflow: hidden;
}
.container {
font-size: 6px;
width: 40em;
height: 40em;
position: relative;
}
img{
height: 130%;
width: 130%;
}
.sun {
display: flex;
align-items: center;
justify-content: center;
position: absolute;
top: 15em;
left: 15em;
width: 10em;
height: 10em;
border-radius: 50%;
box-shadow: 0 0 3em rgb(255, 128, 0);
animation: orbit 50s linear infinite;
}
.mercury,
.venus,
.earth,
.moon,
.mars,
.jupiter,
.saturn,
.uranus,
.neptune,
.pluto {
position: absolute;
border-style: solid;
border-color: white transparent transparent transparent;
border-width: 0.1em 0.1em 0 0;
border-radius: 50%;
}
.mercury {
top: 12.5em;
left: 12.5em;
width: 15em;
height: 15em;
animation: orbit 68.7s linear infinite;
}
.venus {
top: 10em;
left: 10em;
width: 20em;
height: 20em;
animation: orbit 48.7s linear infinite;
}
.earth {
top: 6em;
left: 6em;
width: 28em;
height: 28em;
animation: orbit 36.5s linear infinite;
}
.moon {
top: 2em;
right: -1em;
width: 7em;
height: 7em;
animation: orbit 2.7s linear infinite;
}
.mars {
top: 2em;
left: 2.5em;
width: 36em;
height: 36em;
animation: orbit 26.5s linear infinite;
}
.jupiter {
top: -2em;
left: -2em;
width: 45em;
height: 45em;
animation: orbit 21s linear infinite;
}
.saturn {
top: -7em;
left: -7em;
width: 55em;
height: 55em;
animation: orbit 17s linear infinite;
}
.uranus {
top: -12em;
left: -12em;
width: 65em;
height: 65em;
animation: orbit 19s linear infinite;
}
.neptune {
top: -17em;
left: -17em;
width: 75em;
height: 75em;
animation: orbit 15s linear infinite;
}
.pluto {
top: -22em;
left: -22em;
width: 85em;
height: 85em;
animation: orbit 18s linear infinite;
}
.mercury::before,
.venus::before,
.earth::before,
.moon::before,
.mars::before,
.jupiter::before,
.saturn::before,
.uranus::before,
.neptune::before,
.pluto::before{
content: '';
position: absolute;
border-radius: 50%;
animation: orbit 30s linear infinite;
}
.mercury::before {
top: 1.5em;
right: 0.8em;
width: 2em;
height: 2em;
background-image: url('./images/mercury.png');
background-size: cover;
}
.venus::before {
top: 2em;
right: 2em;
width: 2em;
height: 2em;
background-image: url('./images/venus.png');
background-size: cover;
}
.earth::before {
top: 3em;
right: 0em;
width: 5em;
height: 5em;
background-image: url('./images/earth.png');
background-size: cover;
}
.moon::before {
top: 0.8em;
right: 0.2em;
width: 1.2em;
height: 1.2em;
background-image: url('./images/moon.png');
background-size: cover;
}
.mars::before {
top: 5em;
right: 3em;
width: 3em;
height: 3em;
background-image: url('./images/mars.png');
background-size: cover;
}
.jupiter::before {
top: 6em;
right: 3em;
width: 5em;
height: 5em;
background-image: url('./images/jupiter.png');
background-size: cover;
}
.saturn::before {
top: 7.5em;
right: 5em;
width: 4.5em;
height: 4.5em;
background-image: url('./images/saturn.png');
background-size: cover;
}
.uranus::before {
top: 9em;
right: 6.5em;
width: 4em;
height: 4em;
background-image: url('./images/uranus.png');
background-size: cover;
}
.neptune::before {
top: 10em;
right: 8em;
width: 4em;
height: 4em;
background-image: url('./images/neptune.png');
background-size: cover;
}
.pluto::before {
top: 11em;
right: 10em;
width: 4em;
height: 4em;
background-image: url('./images/pluto.png');
background-size: cover;
}
.star {
position: absolute;
background-color: white;
border-radius: 50%;
z-index: -1;
}
@keyframes orbit {
to {
transform: rotate(360deg);
}
}
</style>
</head>
<body>
<div class="container">
<div class="sun">
<img src="./images/sun.png" alt="sun">
</div>
<div class="mercury"></div>
<div class="venus"></div>
<div class="earth">
<div class="moon"></div>
</div>
<div class="mars"></div>
<div class="jupiter"></div>
<div class="saturn"></div>
<div class="uranus"></div>
<div class="neptune"></div>
<div class="pluto">
</div>
</div>
<script>
function createStars() {
const container = document.querySelector("body");
for (let i = 0; i < 1000; i++) {
// Increase the number of stars to 1000
const star = document.createElement("div");
star.className = "star";
star.style.width = ".1px";
star.style.height = ".1px";
star.style.top = Math.random() * 100 + "%";
star.style.left = Math.random() * 100 + "%";
container.appendChild(star);
}
}
createStars();
</script>
</body>
</html>