tesla clone 1)html file <! DOCTYPE html > < html lang =" en "> < head > < meta charset =" UTF-8 "> < meta http-equiv =" X-UA-Compatible " content =" IE=edge "> < meta name =" viewport " content =" width=device-width, initial-scale=1.0 "> < link rel =" stylesheet " href =" https://cdnjs.cloudflare.com/ajax/libs/font-awesome /6.0.0-beta3/css/all.min.css " integrity =" sha512-Fo3rlrZj/k7ujTnHg4CGR2D7kSs0v4LLa nw2qksYuRlEzO+tcaEPQogQ0KaoGN26/zrn20ImR1DfuLWnOo7aBA== " crossorigin =" anonymous " referrerpolicy =" no-referrer " /> < link rel =" preconnect " href =" https://fonts.googleapis.com "> < link rel =" preconnect " href =" https://fonts.gstatic.com " crossorigin > < link rel =" stylesheet " href =" ./style.css "...
tesla clone
1)html file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome
/6.0.0-beta3/css/all.min.css" integrity="sha512-Fo3rlrZj/k7ujTnHg4CGR2D7kSs0v4LLa
nw2qksYuRlEzO+tcaEPQogQ0KaoGN26/zrn20ImR1DfuLWnOo7aBA==" crossorigin="anonymous"
referrerpolicy="no-referrer"
/>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="./style.css">
<title>Document</title>
</head>
<body>
<!-- nav bar -->
<nav>
<div class="logo">
<img src="./images/logo.svg" alt="image not found">
</div>
<ul class="midmenu">
<li><a href="#modelx">model x</a></li>
<li><a href="#models">model x</a></li>
<li><a href="#modely">model x</a></li>
<li><a href="#modelz">model x</a></li>
<li><a href="#">model x</a></li>
</ul>
<ul class="rightmenu">
<li><a href="#">shop</a></li>
<li><a href="#">account</a></li>
<li id="menu">menu</li>
</ul>
</nav>
<!--
sidemenu
-->
<div class="sidemenu" id="sidemenu">
<i class="fas fa-times" id="close"></i>
<ul>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
<li>option 1</li>
</ul>
</div>
<hr id="modelx">
<div class="box">
<div class="minbox1">
<h1>model x</h1>
<p>
Order Online for <span> Touchless Delivery</span>
</p>
</div>
<div class="boxbtn">
<div class="btn">
custom order
</div>
<div class="btn">
existing invetory
</div>
</div>
<div class="arrow">
<i class="fas fa-chevron-down"></i>
</div>
</div>
<hr id="models">
<hr id="modely">
<div class="box">
<div class="minbox1">
<h1>model s</h1>
<p>
Order Online for <span> Touchless Delivery</span>
</p>
</div>
<div class="boxbtn">
<div class="btn">
custom order
</div>
<div class="btn">
existing invetory
</div>
</div>
</div>
<hr id="modelz">
<div class="box">
<div class="minbox1">
<h1>model x</h1>
<p>
Order Online for <span> Touchless Delivery</span>
</p>
</div>
<div class="boxbtn">
<div class="btn">
custom order
</div>
<div class="btn">
existing invetory
</div>
</div>
</div>
<div class="box">
<div class="minbox1">
<h1>model x</h1>
<p>
Order Online for <span> Touchless Delivery</span>
</p>
</div>
<div class="boxbtn">
<div class="btn">
custom order
</div>
<div class="btn">
existing invetory
</div>
</div>
</div>
<script src="./index.js"></script>
</body>
</html>
2)css file
/*style sheet */
* {
padding: 0%;
margin: 0%;
box-sizing: border-box;
overflow-x: hidden;
scroll-behavior: smooth;
font-family: 'Encode Sans', sans-serif;
text-transform: capitalize;
}
/* nav styling */
nav {
z-index: 2;
display: flex;
justify-content: space-between;
align-items: center;
padding: 3px 30px;
position: fixed;
top: 0%;
left: 0%;
right: 0%;
}
nav>ul {
display: flex;
justify-content: center;
align-items: center;
list-style: none;
gap: 4px;
}
a {
text-decoration: none;
color: black;
}
/* box styling */
.box {
overflow: hidden;
z-index: 1;
position: relative;
width: 100vw;
height: 100vh;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
display: flex;
flex-direction: column;
align-items: center;
}
.box:nth-of-type(1) {
background-image: url(./images/model-s.jpg);
}
.box:nth-of-type(2) {
background-image: url(./images/model-y.jpg);
}
.box:nth-of-type(3) {
background-image: url(./images/model-x.jpg);
}
.box:nth-of-type(4) {
background-image: url(./images/model-y.jpg);
}
.box:nth-of-type(5) {
background-image: url(./images/model-s.jpg);
}
.minbox1 {
position: absolute;
top: 20%;
text-align: center;
}
.minbox1>p>span {
text-decoration: underline;
}
.boxbtn {
position: absolute;
top: 85%;
display: flex;
gap: 30px;
}
.btn {
width: 300px;
padding: 8px;
text-align: center;
border-radius: 30px;
}
.btn:nth-of-type(1) {
background-color: black;
color: #fff;
}
.btn:nth-of-type(2) {
background-color: rgb(255, 255, 255);
color: rgb(0, 0, 0);
}
.arrow {
position: absolute;
top: 92%;
color: black;
height: 100px;
z-index: 5;
width: 100px;
display: flex;
justify-content: center;
font-size: 30px;
animation: arrowanim 0.6s infinite;
}
@keyframes arrowanim {
0%,
50%,
80%,
100% {
transform: translateY(0);
}
40% {
transform: translateY(5px);
}
40% {
transform: translateY(3px);
}
}
/* sidemenu styling */
.sidemenu {
position: fixed;
top: 0%;
bottom: 0%;
right: 0%;
width: 200px;
background-color: #fff;
z-index: 10;
transform: translateX(100%);
transition: all 0.5s;
}
.show {
transform: translateX(0%) !important;
}
.sidemenu>i {
font-size: 30px;
padding: 10px 4px 10px 80%;
}
.sidemenu>ul {
display: flex;
flex-direction: column;
gap: 3px;
padding-left: 20px;
font-size: 1.1rem;
}
#menu {
padding: 4px 8px;
cursor: pointer;
background-color: rgb(255, 247, 247);
border-radius: 15px;
}
3)javascript file
//javascript code
const sidemenu = document.getElementById('sidemenu')
const close = document.getElementById('close');
const menu = document.getElementById('menu')
menu.addEventListener('click', () => {
sidemenu.classList.toggle('show');
})
close.addEventListener('click', () => {
sidemenu.classList.toggle('show');
})
Comments
Post a Comment