Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 93 additions & 16 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,18 +1,95 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Spotify Clone</title>
<!-- don't forget to link your styles -->
</head>
<body>
Premium Discover Help Download Music for everyone. Spotify is now free on mobile, tablet and computer. Listen to the
right music, wherever you are. What’s on Spotify? Millions of Songs There are millions of songs on Spotify HD Music
Listen to music as if you were listening live Stream Everywhere Stream music on your smartphone, tablet or computer
It’s as yeezy as Kanye West. Search Know what you want to listen to? Just search and hit play. Browse Check out the
latest charts, brand new releases and great playlists for right now. Discover Enjoy new music every Monday with your
own personal playlist. Or sit back and enjoy Radio.
</body>
</html>

<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<link rel="shortcut icon" href="./images/spotify-icon-white.png" type="image/x-icon">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="./styles/style.css" />
<title>Spotify Clone</title>
</head>

<body>
<header>
<nav aria-label="Main navigation">
<a href="#" class="logo-link">
<img src="./images/spotify-logo.png" alt="Spotify logo" class="logo" />
</a>
<ul id="nav-items">
<li><a href="#" tabindex="0">Premium</a></li>
<li><a href="#" tabindex="0">Discover</a></li>
<li><a href="#" tabindex="0">Help</a></li>
<li><a href="#" tabindex="0">Download</a></li>
</ul>
</nav>
</header>
<main>
<section class="hero" aria-label="Spotify introduction">
<div class="hero_text">
<h1>Music for everyone</h1>
<p>
Spotify is now free on mobile, tablet and computer. Listen to the
right music, wherever you are.
</p>
</div>
</section>
<section class="features" aria-labelledby="features-title">
<div class="features-title-container">
<h2 id="features-title">What's on Spotify?</h2>
</div>
<div class="cards" role="list">
<article class="cards-item" role="listitem">
<img src="./images/music-icon.png" alt="Speaker icon" />
<div class="card-text">
<h3>Millions of Songs</h3>
<p>There are millions of songs on Spotify</p>
</div>
</article>
<article class="cards-item" role="listitem">
<img src="./images/high-quality-icon.png" alt="High quality sound waves icon" />
<div class="card-text">
<h3>HD Music</h3>
<p>Listen to music as if you were listening live.</p>
</div>
</article>
<article class="cards-item" role="listitem">
<img src="./images/devices-icon.png" alt="Devices icon" />
<div class="card-text">
<h3>Stream Everywhere</h3>
<p>Stream music on your smartphone, tablet or computer.</p>
</div>
</article>
</div>
</section>
<section class="ui-features" aria-labelledby="ui-features-title">
<div class="ui-features-text">
<div class="ui-features-title">
<h2 id="ui-features-title">It's as yeezy as Kanye West.</h2>
</div>
<dl>
<dt>Search</dt>
<dd>Know what you want to listen to? Just search and hit play.</dd>
<dt>Browse</dt>
<dd>
Check out the latest charts, brand new releases and great playlist
for right now.
</dd>
<dt>Discover</dt>
<dd>
Enjoy new music every Monday with your own personal playlist. Or sit
back and enjoy radio.
</dd>
</dl>
</div>
<img src="./images/spotify-icon-white.png" alt="" class="spotify-logo" aria-hidden="true">
<img src="./images/spotify-app.jpg" alt="Spotify app preview" class="spotify-app">
</section>
</main>
<footer>
<p>&copy; 2025 Spotify Clone. For educational purposes only.</p>
</footer>
</body>

</html>
253 changes: 247 additions & 6 deletions styles/style.css
Original file line number Diff line number Diff line change
@@ -1,8 +1,249 @@
/*
Colors:
/* Color Palette */
:root {
--spotify-green: #00B172;
--spotify-yellow: #f4d10c;
--spotify-black: #1a1a1a;
--spotify-white: #fff;
--text-gray: #222;
--text-light: #666;
--border-radius: 10px;
}

Text: 1A1A1A
Green: #00B172
White: #FFF
/* Reset and base styles */
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

*/
html {
scroll-behavior: smooth;
font-family: 'Montserrat', Arial, sans-serif;
font-size: 16px;
background: var(--spotify-white);
color: var(--text-gray);
}

body {
min-height: 100vh;
background: var(--spotify-white);
}

a {
color: inherit;
text-decoration: none;
}

header {
background: var(--spotify-white);
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
position: sticky;
top: 0;
z-index: 100;
}

nav {
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 2rem;
}

.logo {
max-width: 140px;
height: auto;
}

#nav-items {
display: flex;
gap: 2rem;
list-style: none;
}

#nav-items li a {
font-size: 1rem;
font-weight: 500;
padding: 0.5rem 0.8rem;
border-radius: 4px;
}


.hero {
background-image: url(../images/landing.jpg);
background-position: center;
background-size: cover;
min-height: 50vh;
color: var(--spotify-white);
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 4rem 1rem 2rem 1rem;
}

.hero_text h1 {
font-size: 2.8rem;
font-weight: 700;
margin-bottom: 1rem;
}

.hero_text p {
font-size: 1.25rem;
font-weight: 400;
margin-top: 1rem;
color: var(--spotify-white);
text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.features {
padding: 2rem 1rem;
background: var(--spotify-white);
}

.features-title-container {
text-align: center;
margin-bottom: 2rem;
}

.features-title-container h2 {
font-size: 2rem;
font-weight: 700;
position: relative;
display: inline-block;
}

.features-title-container h2::after {
content: "";
display: block;
margin: 0 auto;
margin-top: 0.5rem;
width: 60%;
height: 5px;
background: var(--spotify-green);
border-radius: 2px;
}

.cards {
display: flex;
justify-content: center;
gap: 2rem;
flex-wrap: wrap;
}

.cards-item {
background: var(--spotify-white);
border: 3px solid var(--spotify-yellow);
border-radius: var(--border-radius);
width: 320px;
min-height: 280px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 2rem 1rem;
}



.cards-item img {
width: 80px;
height: 80px;
object-fit: contain;
margin-bottom: 1.5rem;
display: block;
}

.card-text {
text-align: center;
}

.card-text h3 {
color: var(--spotify-green);
font-size: 1.3rem;
font-weight: 700;
margin-bottom: 0.7rem;
}

.card-text p {
color: var(--text-light);
font-size: 1.05rem;
font-weight: 400;
margin: 0;
}

.ui-features {
display: flex;
align-items: center;
background-color: var(--spotify-green);
color: var(--spotify-white);
padding: 3rem 2rem;
gap: 2rem;
flex-wrap: wrap;
}

.ui-features-text {
flex: 1 1 350px;
min-width: 300px;
}

.ui-features-title h2 {
font-size: 2rem;
font-weight: 700;
margin-bottom: 1.5rem;
line-height: 1.2;
position: relative;
display: inline-block;
}

.ui-features-title h2::after {
content: "";
display: block;
margin: 0 auto;
margin-top: 0.5rem;
width: 60%;
height: 5px;
background: var(--spotify-white);
border-radius: 2px;
}

.ui-features dl {
margin-top: 1.5rem;
}

.ui-features dt {
font-size: 1.2rem;
font-weight: 700;
margin-top: 1.5rem;
color: var(--spotify-white);
}

.ui-features dd {
font-size: 1.05rem;
margin-left: 0;
margin-bottom: 0.5rem;
color: var(--spotify-white);
opacity: 0.95;
}

.spotify-logo {
width: 60px;
height: auto;
margin-left: 2rem;
}

.spotify-app {
width: 320px;
max-width: 90vw;
border-radius: var(--border-radius);
margin-left: 2rem;
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

footer {
text-align: center;
padding: 2rem 1rem 1rem 1rem;
font-size: 1rem;
color: var(--text-light);
background: var(--spotify-white); }