【发布时间】:2015-09-01 14:26:04
【问题描述】:
这是我目前所拥有的 JSFiddle:
html
<div class="results">
<h2>Some data</h2>
<ul style="margin:0;padding:0;">
<li class="resultsListItem" style="list-style-type: none;">
<div class="answerDiv"> text </div>
<div class="histogramBar"> </div>
<div class="resultDiv"> 7 </div>
</li>
<br>
<li class="resultsListItem" style="list-style-type: none;">
<div class="answerDiv"> text </div>
<div class="histogramBar"> </div>
<div class="resultDiv"> 1 </div>
</li>
<br>
<li class="resultsListItem" style="list-style-type: none;">
<div class="answerDiv"> text </div>
<div class="histogramBar"> </div>
<div class="resultDiv"> 4 </div>
</li>
<br>
<li class="resultsListItem" style="list-style-type: none;">
<div class="answerDiv"> text </div>
<div class="histogramBar"> </div>
<div class="resultDiv"> 4 </div>
</li>
<br>
</ul>
</div>
css
.answerDiv, .resultDiv, .histogramBar {
display: inline-block;
}
.answerDiv, .histogramBar {
float: left;
}
.answerDiv {
margin-right: 10px;
width: 100px;
}
.histogramBar {
height: 6px;
width: 100px;
background-color: #66dd66;
margin-top: 9px;
border-radius: 5px;
transition: width 1s;
}
.histogramBar:hover {
width: 150px;
}
/*text*/
h2 {
font-size: 40px;
color: black;
}
/*alignment*/
.results {
width: 400px;
height: 400px;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
但是,我遇到了一些麻烦,无法正确对齐所有对齐内容。我的目标是让 .answerDiv 中的文本全部向左浮动。如果文本更长,在某个点它会换行到第二行。然后, histogramBar 也会向左浮动并位于文本的右侧。然后,结果编号将向右浮动到包含 div 的另一侧。此外,当 histogramBar 的宽度发生变化时,我无法弄清楚如何使右侧的数字保持不变。
不幸的是,我无法弄清楚如何让它正常工作。我对样式比较陌生,所以我很清楚我的代码可能真的很难看。
我该如何做到这一点?
回顾 - 文本向左浮动,直方图向左浮动(文本右侧)数字向右浮动。当您将鼠标悬停在栏上并且它的大小发生变化时,右侧的数字不应该受到影响。
【问题讨论】:
-
旁注:您的 HTML 无效。
<li>是<ul>唯一允许的直接子元素。你在那里有非法的<br />。
标签: html css alignment css-float