我正在开发一个HTML / CSS图表,该图表显示了一系列财务分组,并直观地显示了这些资金是如何在公司之间分配的。我注意到,当公司名称长度足以占用多行时,其包含的div
会有所下降。
我有以下小提琴:https://jsfiddle.net/s1pxkj7q/1/
为什么这些div
会被推倒,我该如何纠正?
谢谢!
body {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 14px;
line-height: 1.428571429;
color: #333333;
background-color: #ffffff;
}
#layers {
width: 1000px;
height: 400px;
margin: 0 auto;
}
#layer-headings {
width: 1000px;
margin: 0 auto;
}
#layer-headings h3 {
width: 50%;
text-align: center;
float: left;
font-size: 14px;
font-weight: bold;
margin-bottom: 50px;
}
#consumed {
width: 50%;
height: 100%;
outline: 1px solid #999;
display: inline-block;
margin: 0;
vertical-align: top;
}
#available {
width: 50%;
height: 100%;
display: inline-block;
margin: 0;
}
#layers h3 {
text-align: center;
font-size: 14px;
font-weight: bold;
margin: 0;
padding: 10px 0;
}
#layers .graph {
height: 100%;
width: 100%;
border-bottom: 1px solid #999;
}
#layers h4 {
font-size: 12px;
text-align: center;
}
#layers .graph-box {
margin-left: 5%;
width: 75%;
height: 100%;
float: left;
outline: 1px solid #555;
}
#layers .graph-box h4 {
font-weight: bold;
display: block;
margin: 0 auto;
}
#layers .graph-label {
margin-right: 5%;
padding-left: 10px;
width: 15%;
height: 100%;
vertical-align: top;
display: flex;
align-items: center;
}
#layers .graph-label h3 {
margin: 0;
padding: 0;
}
#layers .graph-col {
height: 100%;
display: inline-flex;
align-items: center;
outline: 1px solid #555;
}
#layers .graph-label.pdf {
display: inline-block;
}
#layers .graph-col.pdf {
display: inline-block;
}
.blue-grad {
background: #3085dd;
/* Old browsers */
background: -moz-linear-gradient(left, #3085dd 0%, #60abf8 50%, #3085dd 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#3085dd), color-stop(0.5, #60abf8), to(#3085dd));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #3085dd 0%, #60abf8 50%, #3085dd 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #3085dd 0%, #60abf8 50%, #3085dd 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#3085dd', endColorstr='#3085dd', GradientType=1);
/* IE6-9 */
}
.red-grad {
background: #e54b29;
/* Old browsers */
background: -moz-linear-gradient(left, #e54b29 0%, #fc8364 50%, #e54b29 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#e54b29), color-stop(0.5, #fc8364), to(#e54b29));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #e54b29 0%, #fc8364 50%, #e54b29 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #e54b29 0%, #fc8364 50%, #e54b29 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#e54b29', endColorstr='#e54b29', GradientType=1);
/* IE6-9 */
}
.yellow-grad {
background: #e2dd31;
/* Old browsers */
background: -moz-linear-gradient(left, #e2dd31 0%, #fffa7a 50%, #e2dd31 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#e2dd31), color-stop(0.5, #fffa7a), to(#e2dd31));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #e2dd31 0%, #fffa7a 50%, #e2dd31 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #e2dd31 0%, #fffa7a 50%, #e2dd31 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#e2dd31', endColorstr='#e2dd31', GradientType=1);
/* IE6-9 */
}
.green-grad {
background: #3bdb30;
/* Old browsers */
background: -moz-linear-gradient(left, #3bdb30 0%, #8cf984 50%, #3bdb30 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#3bdb30), color-stop(0.5, #8cf984), to(#3bdb30));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #3bdb30 0%, #8cf984 50%, #3bdb30 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #3bdb30 0%, #8cf984 50%, #3bdb30 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#3bdb30', endColorstr='#3bdb30', GradientType=1);
/* IE6-9 */
}
.purple-grad {
background: #894bed;
/* Old browsers */
background: -moz-linear-gradient(left, #894bed 0%, #be99ff 50%, #894bed 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#894bed), color-stop(0.5, #be99ff), to(#894bed));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #894bed 0%, #be99ff 50%, #894bed 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #894bed 0%, #be99ff 50%, #894bed 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#894bed', endColorstr='#894bed', GradientType=1);
/* IE6-9 */
}
.orange-grad {
background: #d89531;
/* Old browsers */
background: -moz-linear-gradient(left, #d89531 0%, #fcce99 50%, #d89531 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#d89531), color-stop(0.5, #fcce99), to(#d89531));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #d89531 0%, #fcce99 50%, #d89531 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #d89531 0%, #fcce99 50%, #d89531 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#d89531', endColorstr='#d89531', GradientType=1);
/* IE6-9 */
}
.cyan-grad {
background: #49e5e0;
/* Old browsers */
background: -moz-linear-gradient(left, #49e5e0 0%, #b8f9f5 50%, #49e5e0 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#49e5e0), color-stop(0.5, #b8f9f5), to(#49e5e0));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #49e5e0 0%, #b8f9f5 50%, #49e5e0 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #49e5e0 0%, #b8f9f5 50%, #49e5e0 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#49e5e0', endColorstr='#49e5e0', GradientType=1);
/* IE6-9 */
}
.deepblue-grad {
background: #3b52d3;
/* Old browsers */
background: -moz-linear-gradient(left, #3b52d3 0%, #7692f7 50%, #3b52d3 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#3b52d3), color-stop(0.5, #7692f7), to(#3b52d3));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #3b52d3 0%, #7692f7 50%, #3b52d3 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #3b52d3 0%, #7692f7 50%, #3b52d3 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#3b52d3', endColorstr='#3b52d3', GradientType=1);
/* IE6-9 */
}
.pink-grad {
background: #db3dce;
/* Old browsers */
background: -moz-linear-gradient(left, #db3dce 0%, #fc94f5 50%, #db3dce 100%);
/* FF3.6-15 */
background: -webkit-gradient(linear, left top, right top, from(#db3dce), color-stop(0.5, #fc94f5), to(#db3dce));
/* Safari 4-5, Chrome 1-9 */
background: -webkit-linear-gradient(left, #db3dce 0%, #fc94f5 50%, #db3dce 100%);
/* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #db3dce 0%, #fc94f5 50%, #db3dce 100%);
/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#db3dce', endColorstr='#db3dce', GradientType=1);
/* IE6-9 */
}
#layers #consumed .graph {
padding-right: 5%;
position: relative;
}
#layers #consumed .graph-col {
vertical-align: bottom;
}
#layers #consumed .graph-label {
float: left;
margin-left: 5%;
}
#layers #consumed .graph-row {
position: absolute;
bottom: 0;
width: 100%;
padding-right: 5%;
}
#layers #consumed .graph-box {
margin-left: 0;
}
<div id="layers">
<div id="available">
<div class="graph">
<div class="graph-row" style="height:20%;">
<div class="graph-box red-grad" style="outline:1px solid #555;">
<div class="graph-col" style="width:40%;">
<h4>40%<br>Short</h4>
</div>
<div class="graph-col" style="width:20%;">
<h4>20%<br>This is a long one</h4>
</div>
<div class="graph-col" style="width:30%;">
<h4>30%<br>Short</h4>
</div>
<div class="graph-col" style="width:10%;">
<h4>10%<br>Short</h4>
</div>
</div>
<div class="graph-label">
<h3>$750,000</h3>
</div>
</div>
<div class="graph-row" style="height:27%;">
<div class="graph-box cyan-grad">
<div class="graph-col" style="width:20%;">
<h4>20%<br>Short</h4>
</div>
<div class="graph-col" style="width:40%;">
<h4>40%<br>Short</h4>
</div>
<div class="graph-col" style="width:15%;">
<h4>15%<br>Short</h4>
</div>
<div class="graph-col" style="width:10%;">
<h4>10%<br>Short</h4>
</div>
<div class="graph-col" style="width:15%;">
<h4>15%<br>Short</h4>
</div>
</div>
<div class="graph-label">
<h3>$1,000,000</h3>
</div>
</div>
<div class="graph-row" style="height:27%;">
<div class="graph-box yellow-grad">
<div class="graph-col" style="width:25%;">
<h4>25%<br>Short</h4>
</div>
<div class="graph-col" style="width:22%;">
<h4>22%<br>This is a long one</h4>
</div>
<div class="graph-col" style="width:18%;">
<h4>18%<br>Short</h4>
</div>
<div class="graph-col" style="width: 17%;">
<h4>17%<br>Short</h4>
</div>
<div class="graph-col" style="width:18%;">
<h4>18%<br>Short</h4>
</div>
</div>
<div class="graph-label">
<h3>$1,000,000</h3>
</div>
</div>
<div class="graph-row" style="height:14%;">
<div class="graph-box purple-grad">
<div class="graph-col" style="width:100%;">
<h4>100%<br>Short</h4>
</div>
</div>
<div class="graph-label">
<h3>$500,000</h3>
</div>
</div>
<div class="graph-row" style="height:12%;">
<div class="graph-box orange-grad">
<div class="graph-col" style="width:100%;">
<h4>100%<br>Short</h4>
</div>
</div>
<div class="graph-label">
<h3>$400,000</h3>
</div>
</div>
</div>
</div>
</div>
答案 0 :(得分:1)
由于rpart.plot(Rpart_temp, type = 4 , extra =104, digits = 2, cex=1,
box.palette=c("green", "red"))
rpart.plot(Rpart_temp, type = 4 , extra =104, digits = 2, cex=1,
box.palette="GnRd") # builtin palette
属性,问题是基线对齐。
vertical-align
属性适用于内联级和 table-cell 元素(source)。
由于您正在处理内联级容器(vertical-align
),因此正在应用display: inline-flex
,其默认值为vertical-align
。
只需在容器上使用baseline
覆盖它。
vertical-align: top