content-cards
intermediate
music
player
dark
neon
modern
Category · Content Cards Difficulty Level · Intermediate Published on · August 18, 2025

Dark Theme Music Player

A sleek dark-themed music player with neon accents, glowing effects, and modern dark UI design.

#music #player #dark #neon #modern

Responsive Design

Yes

Dark Mode Support

Yes

lines

806

Browser Compatibility

Chrome · Firefox · Safari · Edge

Live Preview

Interact with the component without leaving the page.

420px

Overview

A sleek dark-themed music player with neon accents, glowing effects, and modern dark UI design.

How to use

  1. Copy the HTML markup into your page.
  2. Paste the CSS into your stylesheet and ensure the selectors match your markup.
  3. Paste the JavaScript and load it after the markup.
  4. Adjust spacing, colors, and text to match your design system.

Customization tips

  • Rename class names to avoid collisions with your existing CSS.
  • Replace hard-coded colors with CSS variables for theming.
  • Verify the layout at 320px, 768px, and 1024px widths.
  • Test dark mode with your preferred background and text colors.

HTML

127

lines

CSS

426

lines

JavaScript

253

lines


                <div class="dark-player">
  <div class="player-header">
    <div class="album-art">
      <div class="album-cover">
        <div class="vinyl-record">
          <div class="vinyl-center"></div>
        </div>
        <div class="play-indicator"></div>
      </div>
    </div>
    
    <div class="track-details">
      <h2 id="track-title">Neon Dreams</h2>
      <p id="track-artist">Synthwave Collective</p>
      <div class="genre-tag">Electronic</div>
    </div>
  </div>
  
  <div class="waveform-container">
    <div class="waveform">
      <div class="wave-bar" style="height: 20%"></div>
      <div class="wave-bar" style="height: 45%"></div>
      <div class="wave-bar" style="height: 30%"></div>
      <div class="wave-bar" style="height: 60%"></div>
      <div class="wave-bar" style="height: 80%"></div>
      <div class="wave-bar" style="height: 40%"></div>
      <div class="wave-bar" style="height: 70%"></div>
      <div class="wave-bar" style="height: 25%"></div>
      <div class="wave-bar" style="height: 55%"></div>
      <div class="wave-bar" style="height: 35%"></div>
      <div class="wave-bar" style="height: 65%"></div>
      <div class="wave-bar" style="height: 50%"></div>
    </div>
  </div>
  
  <div class="progress-section">
    <div class="time-display">
      <span id="current-time">2:14</span>
      <span id="total-time">4:32</span>
    </div>
    <div class="progress-container">
      <div class="progress-track" id="progress-track">
        <div class="progress-fill" id="progress-fill"></div>
        <div class="progress-thumb" id="progress-thumb"></div>
      </div>
    </div>
  </div>
  
  <div class="control-panel">
    <div class="secondary-controls">
      <button class="control-btn" id="shuffle-btn" aria-label="Shuffle">
        <svg viewBox="0 0 24 24" fill="currentColor">
          <path d="M10.59 9.17L5.41 4 4 5.41l5.17 5.17 1.42-1.41zM14.5 4l2.04 2.04L4 18.59 5.41 20 17.96 7.46 20 9.5V4h-5.5zm.33 9.41l-1.41 1.41 3.13 3.13L14.5 20H20v-5.5l-2.04 2.04-3.13-3.13z"/>
        </svg>
      </button>
      
      <button class="control-btn" id="repeat-btn" aria-label="Repeat">
        <svg viewBox="0 0 24 24" fill="currentColor">
          <path d="M7 7h10v3l4-4-4-4v3H5v6h2V7zm10 10H7v-3l-4 4 4 4v-3h12v-6h-2v4z"/>
        </svg>
      </button>
    </div>
    
    <div class="main-controls">
      <button class="control-btn" id="prev-btn" aria-label="Previous">
        <svg viewBox="0 0 24 24" fill="currentColor">
          <path d="M6 6h2v12H6zm3.5 6l8.5 6V6z"/>
        </svg>
      </button>
      
      <button class="play-btn" id="play-btn" aria-label="Play/Pause">
        <svg class="play-icon" viewBox="0 0 24 24" fill="currentColor">
          <path d="M8 5v14l11-7z"/>
        </svg>
        <svg class="pause-icon" viewBox="0 0 24 24" fill="currentColor" style="display: none;">
          <path d="M6 19h4V5H6v14zm8-14v14h4V5h-4z"/>
        </svg>
      </button>
      
      <button class="control-btn" id="next-btn" aria-label="Next">
        <svg viewBox="0 0 24 24" fill="currentColor">
          <path d="M6 18l8.5-6L6 6v12zM16 6v12h2V6h-2z"/>
        </svg>
      </button>
    </div>
    
    <div class="volume-control">
      <button class="control-btn" id="volume-btn" aria-label="Volume">
        <svg viewBox="0 0 24 24" fill="currentColor">
          <path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"/>
        </svg>
      </button>
      <div class="volume-slider">
        <input type="range" id="volume-range" min="0" max="100" value="75">
      </div>
    </div>
  </div>
  
  <div class="playlist-dark">
    <h3>Up Next</h3>
    <div class="track-list">
      <div class="track-item active" data-title="Neon Dreams" data-artist="Synthwave Collective" data-duration="4:32">
        <div class="track-info">
          <span class="track-name">Neon Dreams</span>
          <span class="track-artist">Synthwave Collective</span>
        </div>
        <span class="track-duration">4:32</span>
      </div>
      <div class="track-item" data-title="Cyber City" data-artist="Digital Pulse" data-duration="3:58">
        <div class="track-info">
          <span class="track-name">Cyber City</span>
          <span class="track-artist">Digital Pulse</span>
        </div>
        <span class="track-duration">3:58</span>
      </div>
      <div class="track-item" data-title="Electric Nights" data-artist="Retro Future" data-duration="5:12">
        <div class="track-info">
          <span class="track-name">Electric Nights</span>
          <span class="track-artist">Retro Future</span>
        </div>
        <span class="track-duration">5:12</span>
      </div>
    </div>
  </div>
  
  <audio id="audio-element"></audio>
</div>

              
127lines
4868characters
HTMLLanguage

Browser Compatibility

Chrome

>= 60

Firefox

>= 55

Safari

>= 10

Edge

>= 15

Related Code Snippets

Explore template packs

Need larger building blocks? Browse responsive landing pages and component bundles.

Open HTML Template Library ->