I am having trouble dealing with the scroll bar in CSS When I try to add and scroll bar when the song list container overflow, it will just keep expanding instead of making a bar , i am really confused here is my code
.song-list-container{
overflow-y: scroll;
}
<div >
<h2>Playlist</h2>
<ul >
<li data-src="songs/SWEET - I THOUGHT YOU WANTED TO DANCE - Tyler the creator" data-name="SWEET - I THOUGHT YOU WANTED TO DANCE" data-index="0"><span>SWEET - I THOUGHT YOU WANTED TO DANCE </span><span>09:48</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
</ul>
</div>
CodePudding user response:
Add a max-height (any value that fits your need) to the container element and change the overflow-y: setting to auto. That way the scroll bar will only appear if the list is longer than the defined max-height:
.song-list-container {
overflow-y: auto;
max-height: 100px;
}
<div >
<h2>Playlist</h2>
<ul >
<li data-src="songs/SWEET - I THOUGHT YOU WANTED TO DANCE - Tyler the creator" data-name="SWEET - I THOUGHT YOU WANTED TO DANCE" data-index="0"><span>SWEET - I THOUGHT YOU WANTED TO DANCE </span><span>09:48</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span></li>
</ul>
</div>
CodePudding user response:
Specify a max-height after which the scroll need to implemented
like
.song-list-container{
overflow-y: scroll;
max-height: 250px;
}
CodePudding user response:
Maybe this JSFiddle can help you forward. I've created an example where I used your code and forced the overflow-y on the .playlist. I've added some additional styling to make it clear where I was looking add.
.playlist {
overflow-y: scroll;
max-width: auto;
white-space: nowrap;
}
CodePudding user response:
.song-list-container{
white-space: nowrap;
overflow: auto;
}
CodePudding user response:
This should help.
<dev> isn't an allowed tag. You should replace it with <div>. Also <li> should not be used outside <ul>. If fixed it in the code below.
Btw. overflow-y: scroll; makes the scrollbar only appear when it is needed.
.song-list-container{
overflow-y: scroll;
max-height: 200px;
}
<div >
<h2>Playlist</h2>
<div >
<ul >
<li data-src="songs/SWEET - I THOUGHT YOU WANTED TO DANCE - Tyler the creator"
data-name="SWEET - I THOUGHT YOU WANTED TO DANCE" data-index="0"><span>SWEET - I THOUGHT YOU WANTED TO DANCE </span><span>09:48</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
<li data-src="songs/Cigarettes - Juice wrld" data-name="Cigarettes - Juice wrld" data-index="0"><span>Cigarettes - Juice wrld </span><span> 03:47</span>
</li>
</ul>
</div>
</div>
