如何解決帶背景色的文字單行溢出省略號時多余背景色的問題?

如何解決帶背景色的文字單行溢出省略號時多余背景色的問題?

單行文本溢出省略號導致背景色多余的解決方案

css中,使用text-overflow: ellipsis處理單行文本溢出時,如果文本帶有背景色,常常會出現(xiàn)最后一個字符的背景色殘留問題。這是因為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,文本截斷將基于整個元素進行,從而有效避免了多余背景色的出現(xiàn),確保了文本溢出省略號的視覺效果更佳。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享