在CSS中,使用text-overflow: ellipsis处理单行文本溢出时,如果文本带有背景色,常常会出现最后一个字符的背景色残留问题。这是因为text-overflow: ellipsis作用于行内元素,而背景色应用于文本元素本身,导致截断后背景色仍然可见。
下图所示为问题示例:
以下为问题的CSS和HTML代码:
.oneline {
width: 640rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text {
background-color: #999999;
padding: 4rpx 8rpx;
margin-right: 12rpx;
}
}
<view class="oneline"><text wx:for="{{flavorsarr}}" wx:key="index">{{item.label}}</text></view>
解决方法是将text元素的显示方式修改为inline-block。inline-block元素可以作为一个整体块处理,避免了单纯行内元素截断带来的背景色残留问题。
修改后的CSS代码如下:
.oneline {
width: 640rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
text {
display: inline-block; /* 此处修改为 inline-block */
background-color: #999999;
padding: 4rpx 8rpx;
margin-right: 12rpx;
}
}
通过将text元素设置为inline-block,文本截断将基于整个元素进行,从而有效避免了多余背景色的出现,确保了文本溢出省略号的视觉效果更佳。
以上就是如何解决带背景色的文字单行溢出省略号时多余背景色的问题?的详细内容,更多请关注知识资源分享宝库其它相关文章!
版权声明
本站内容来源于互联网搬运,
仅限用于小范围内传播学习,请在下载后24小时内删除,
如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!
E-mail:dpw1001@163.com
发表评论