我希望在调整浏览器大小时水平缩小内容。
如果我将display: flex
分配给jp-controls
,则效果很好。但是我需要支持IE9,所以我不能使用flex。我如何做同等的但支持IE9?
要查看当前的功能,请打开Dev tools =>移动设备并选择分辨率372 x 300以查看内容溢出
https://jsfiddle.net/3ej343z4/1/
我想要什么(但不使用display: flex
,注意没有溢出):
目前的工作:
HTML:
<div class="jp-sleek jp-jplayer jp-audio jp-state-volume-low">
<div class="jp-gui" style="opacity: 1;">
<div class="jp-controls jp-icon-controls">
<button class="jp-play"><i class="fa fa-play"></i></button>
<div class="jp-playback-rate-bar">
<div class="jp-playback-rate-bar-value" style="width: 14.2857%;"></div>
</div>
<button class="jp-repeat"><i class="fa fa-repeat"></i></button>
<div class="jp-progress">
</div>
<button class="jp-full-screen"><i class="fa fa-expand"></i></button>
<div class="jp-title-container"><img class="jp-poster" src="https://i.ytimg.com/vi/bM7SZ5SBzyY/hqdefault.jpg">
<div class="jp-title">Fade</div>
</div>
</div>
</div>
</div>
CSS:
.jp-sleek {
z-index: 100;
width: 100%;
font-family: "Source Sans Pro", sans-serif;
}
.jp-sleek .jp-gui {
height: 42px;
background-color: #e5e5e5;
position: relative;
}
.fa {
font-size: 24px;
}
.jp-sleek .jp-gui .jp-controls {
height: 100%;
position: relative;
font-size: 24px;
white-space: nowrap;
}
.jp-sleek .jp-gui .jp-controls button {
color: #000;
padding: 0;
border: none;
background-color: transparent;
}
.jp-sleek .jp-gui .jp-controls > * {
margin-left: 5px;
margin-right: 5px;
display: inline-block;
height: 100%;
vertical-align: top;
}
.jp-sleek .jp-gui .jp-playback-rate-bar {
background-color: #a1c1f4;
cursor: pointer;
width: 60px;
min-width: 30px;
}
.jp-sleek .jp-gui .jp-playback-rate-bar .jp-playback-rate-bar-value {
background-color: #71a6fc;
height: 100%;
width: 14%;
}
.jp-sleek .jp-gui .jp-icon-controls button {
min-width: 42px;
}
.jp-sleek .jp-gui .jp-icon-controls .jp-progress {
background-color: #a1c1f4;
width: 100%;
min-width: 180px;
max-width: 500px;
font-size: 20px;
position: relative;
}
.jp-sleek .jp-gui .jp-title-container {
font-size: 12px;
vertical-align: top;
}
.jp-audio.jp-sleek .jp-gui .jp-title-container .jp-poster {
max-height: 100%;
}
img {
vertical-align: middle;
}
.jp-sleek .jp-gui .jp-title-container .jp-title {
font-weight: bold;
max-width: 135px;
text-overflow: ellipsis;
overflow: hidden;
display: inline-block;
vertical-align: middle;
margin-left: 10px;
}
答案 0 :(得分:1)
表的行为类似于flexboxes:
.jp-controls {
display: table;
height: inherit; /*42px from the parent*/
}
.jp-controls > * {
height: inherit;
display: table-cell;
}
我在代码中标记了css更改: jsfiddle:https://jsfiddle.net/3ej343z4/3/
答案 1 :(得分:0)
使用calc()
函数计算.jp-progress
宽度(100% - 其他控件的宽度总和)。
.jp-controls {
display: flex;
}
.jp-sleek {
z-index: 100;
width: 100%;
font-family: "Source Sans Pro", sans-serif;
}
.jp-sleek .jp-gui {
height: 42px;
background-color: #e5e5e5;
position: relative;
}
.fa {
font-size: 24px;
}
.jp-sleek .jp-gui .jp-controls {
height: 100%;
position: relative;
font-size: 24px;
white-space: nowrap;
}
.jp-sleek .jp-gui .jp-controls button {
color: #000;
padding: 0;
border: none;
background-color: transparent;
}
.jp-sleek .jp-gui .jp-controls > * {
margin-left: 5px;
margin-right: 5px;
display: inline-block;
height: 100%;
vertical-align: top;
}
.jp-sleek .jp-gui .jp-playback-rate-bar {
background-color: #a1c1f4;
cursor: pointer;
width: 60px;
min-width: 30px;
}
.jp-sleek .jp-gui .jp-playback-rate-bar .jp-playback-rate-bar-value {
background-color: #71a6fc;
height: 100%;
width: 14%;
}
.jp-sleek .jp-gui .jp-icon-controls button {
min-width: 42px;
}
.jp-sleek .jp-gui .jp-icon-controls .jp-progress {
background-color: #a1c1f4;
width: calc(100% - 42px - 60px - 42px - 42px - 100px);
min-width: 180px;
font-size: 20px;
position: relative;
}
.jp-sleek .jp-gui .jp-title-container {
width: 100px;
font-size: 12px;
vertical-align: top;
}
.jp-audio.jp-sleek .jp-gui .jp-title-container .jp-poster {
max-height: 100%;
}
img {
vertical-align: middle;
}
.jp-sleek .jp-gui .jp-title-container .jp-title {
font-weight: bold;
max-width: 135px;
text-overflow: ellipsis;
overflow: hidden;
display: inline-block;
vertical-align: middle;
margin-left: 10px;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>
<div class="jp-sleek jp-jplayer jp-audio jp-state-volume-low">
<div class="jp-gui" style="opacity: 1;">
<div class="jp-controls jp-icon-controls">
<button class="jp-play"><i class="fa fa-play"></i>
</button>
<div class="jp-playback-rate-bar">
<div class="jp-playback-rate-bar-value" style="width: 14.2857%;"></div>
</div>
<button class="jp-repeat"><i class="fa fa-repeat"></i>
</button>
<div class="jp-progress">
</div>
<button class="jp-full-screen"><i class="fa fa-expand"></i>
</button>
<div class="jp-title-container">
<img class="jp-poster" src="https://i.ytimg.com/vi/bM7SZ5SBzyY/hqdefault.jpg">
<div class="jp-title">Fade</div>
</div>
</div>
</div>
</div>
答案 2 :(得分:0)
试试这个
<div class="jp-sleek jp-jplayer jp-audio jp-state-volume-low">
<div class="jp-gui" style="opacity: 1;">
<div class="jp-controls jp-icon-controls">
<div class="left">
<button class="jp-play"><i class="fa fa-play"></i></button>
<div class="jp-playback-rate-bar">
<div class="jp-playback-rate-bar-value" style="width: 14.2857%;"></div>
</div>
<button class="jp-repeat"><i class="fa fa-repeat"></i></button>
</div>
<div class="right">
<button class="jp-full-screen"><i class="fa fa-expand"></i></button>
<div class="jp-title-container"><img class="jp-poster" src="https://i.ytimg.com/vi/bM7SZ5SBzyY/hqdefault.jpg">
<div class="jp-title">Fade</div>
</div>
</div>
<div class="jp-progress">
<div></div>
</div>
</div>
</div>
</div>
.right {
float: right;
height: 100%;
}
.left {
float: left;
height: 100%;
}
.jp-sleek {
z-index: 100;
width: 100%;
font-family: "Source Sans Pro", sans-serif;
}
.jp-sleek .jp-gui {
height: 42px;
background-color: #e5e5e5;
position: relative;
}
.fa {
font-size: 24px;
}
.jp-sleek .jp-gui .jp-controls {
height: 100%;
position: relative;
font-size: 24px;
white-space: nowrap;
}
.jp-sleek .jp-gui .jp-controls button {
color: #000;
padding: 0;
border: none;
background-color: transparent;
}
.jp-sleek .jp-gui .jp-controls .left > *, .jp-sleek .jp-gui .jp-controls .right > * {
margin-left: 5px;
margin-right: 5px;
display: inline-block;
height: 100%;
vertical-align: top;
}
.jp-sleek .jp-gui .jp-playback-rate-bar {
background-color: #a1c1f4;
cursor: pointer;
width: 60px;
min-width: 30px;
}
.jp-sleek .jp-gui .jp-playback-rate-bar .jp-playback-rate-bar-value {
background-color: #71a6fc;
height: 100%;
width: 14%;
}
.jp-sleek .jp-gui .jp-icon-controls button {
min-width: 42px;
}
.jp-sleek .jp-gui .jp-icon-controls .jp-progress {
padding-left: 200px;
padding-right: 170px;
height: 100%;
}
.jp-sleek .jp-gui .jp-icon-controls .jp-progress div {
background-color: #a1c1f4;
width: 100%;
height: 100%;
font-size: 20px;
position: relative;
}
.jp-sleek .jp-gui .jp-title-container {
font-size: 12px;
vertical-align: top;
}
.jp-audio.jp-sleek .jp-gui .jp-title-container .jp-poster {
max-height: 100%;
}
img {
vertical-align: middle;
}
.jp-sleek .jp-gui .jp-title-container .jp-title {
font-weight: bold;
max-width: 135px;
text-overflow: ellipsis;
overflow: hidden;
display: inline-block;
vertical-align: middle;
margin-left: 10px;
}