问题在于浮动。这个
li
有点感冒了(
height:0
)因为你在用
col-*
类没有
row
. 你需要考虑
行
使浮动元素
列-*
)正确清除了吗
行
里面
container
以获得正确的边距(
https://getbootstrap.com/docs/3.3/css/#grid
)
@import url("//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css");
.wrapper{
height: 100vh;
}
.box-item{
position: relative;
width: 100%;
background-color: red;
color: blue;
height: 10vh;
margin-top: 40px;
}
footer > .listen{
position: absolute;
margin-right: 20px;
bottom: 0;
right: 0;
}
.playlist-dropdown{
border: solid 1px #dedede;
}
.interface{
border-bottom: solid 3px #dedede;
padding-bottom: 10px;
padding-top:10px;
}
.name-of-song{
margin-bottom: 10px;
}
.track-list{
padding-top: 10px;
}
.track-list > ul > li{
list-style: none;
}
div ul li:nth-child(even) {
background-color: #ccc !important;
}
#play, #pause, #mute, #unmute {
position: relative;
display: block;
}
#play {
position: absolute;
}
#pause:before {
position: absolute;
}
#pause:after {
position: absolute;
}
#mute{
position: absolute;
}
#unmute:before {
position: absolute;
}
#unmute:after {
position: absolute;
}
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>playlist</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="css/custom.css">
</head>
<body>
<div class="wrapper">
<div class="container">
<div class="box-item ">
<footer>
<a class="listen" data-toggle="collapse" href="#playlist-collapse"><span class="glyphicon glyphicon-headphones" aria-hidden="true"></span></a>
</footer>
</div>
<div id="playlist-collapse" class="playlist-dropdown">
<div class="interface clearfix">
<div class="col-md-12 name-of-song">
Name of track being played
</div>
<div class="col-md-2">
<a href="#" id="play"><span class="glyphicon glyphicon-play"></span></a>
<a href="#" id="pause" style="display: none;"><span class="glyphicon glyphicon-pause"></span></a>
</div>
<div class="col-md-6">
progress bar
</div>
<div class="col-md-1">
<a href="#" id="mute"><span class="glyphicon glyphicon-volume-off"></span></a>
<a href="#" id="unmute" style="display: none;"><span class="glyphicon glyphicon-volume-up"></span></a>
</div>
<div class="col-md-3">
volume-bar
</div>
</div> <!--interface ends -->
<div class="track-list clearfix">
<ul class="container-fluid">
<li class="track-row row">
<div class="col-md-2 track-number">
01
</div>
<div class="col-md-7 track-name">
Track name/ song name
</div>
<div class="col-md-1 track-copyright">
©
</div>
<div class="col-md-2 track-duration">
00:25s
</div>
</li>
<li class="row">
<div class="col-md-2 track-number">
02
</div>
<div class="col-md-7 track-name">
Track name/ song name 02
</div>
<div class="col-md-1 track-copyright">
©
</div>
<div class="col-md-2 track-duration">
00:25s
</div>
</li>
<li class="row">
<div class="col-md-2 track-number">
03
</div>
<div class="col-md-7 track-name">
Track name/ song name03
</div>
<div class="col-md-1 track-copyright">
©
</div>
<div class="col-md-2 track-duration">
00:25s
</div>
</li>
</ul>
</div>
</div>
</div><!--container-->
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
$('#play').on('click', function(event) {
console.log('play click clicked');
//currentPlayingTrack.play();
$('#pause').show();
$('#play').hide();
});
$('#pause').on('click', function(event) {
//currentPlayingTrack.pause();
$('#pause').hide();
$('#play').show();
});
$('#unmute').on('click', function(event) {
console.log('play click clicked');
//currentPlayingTrack.play();
$('#mute').show();
$('#unmute').hide();
});
$('#mute').on('click', function(event) {
//currentPlayingTrack.pause();
$('#mute').hide();
$('#unmute').show();
});
</script>
</div> <!--wrapper -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</body>
</html>
为什么?
list-style
会影响这个吗?
什么时候?
不同于
none
,我们的项目符号为
元素,即使该元素为空或包含没有clearfix的float元素。使用
将删除此高度,我们有问题:
ul {
border: 1px solid;
}
span {
float: left;
}
li:nth-child(even) {
background: red;
color: blue;
}
<ul>
<li>element 1</li>
<li></li>
<li>element 3</li>
</ul>
<ul style="list-style:none">
<li>element 1</li>
<li></li>
<li>element 3</li>
</ul>
<ul>
<li><span>float element 1</span></li>
<li><span>float element 1</span></li>
<li><span>float element 1</span></li>
</ul>
<ul style="list-style:none">
<li><span>float element 1</span></li>
<li><span>float element 1</span></li>
<li><span>float element 1</span></li>
</ul>