【发布时间】:2014-02-12 16:50:26
【问题描述】:
我正在使用人力车,并有一个图表悬停/注释,其中颜色样本(使用 <span> 定义)与 <div> 中的文本重叠,它们都包含在其中。
这是我的 HTML:
<div class="detail" style="left:250px">
<div class="item active" style="top: 200px">
<span style="background-color: #30c020" class="detail_swatch"></span>
Very very very very very long label: 67<br/>
<span style="color:#A0A0A0">Wed, 12 Feb 2014 18:51:01 GMT</span>
</div>
</div>
这是我的 CSS:
.detail {
position: absolute;
}
.detail .item {
position: absolute;
padding: 0.25em;
font-size: 12px;
font-family: Arial, sans-serif;
color: white;
white-space: nowrap;
}
.detail .item.active {
opacity: 1;
background: rgba(0, 0, 0, 0.8);
}
.detail_swatch {
display: inline-block;
float: right;
height: 10px;
margin: 0 4px 10px 10px;
width: 10px;
}
detail_swatch 正确显示在右上角,但会与very very ... long label 重叠。我读过的大多数解决方案都涉及更改包含 div 的位置语句。这不是一个选项。
有什么方法可以确保detail_swatch 不与文本重叠,而是扩展它们包含的div(水平)?
此代码可在 JSFiddle here 上找到,它也显示了问题。
【问题讨论】:
-
添加填充然后绝对定位
.detail_swatch:jsfiddle.net/KWt4C/4
标签: html css css-float rickshaw