以下是我正在处理的问题。根据以前的内容调整HTML span元素的位置
- 我需要显示出售物品的原始价格和促销价格。
- 有些项目可能没有任何价格 - 因此没有被显示在所有
- 一些项目可能只是表示价格,但没有促销价
- 项目可以选择性地表明他们的价格的单位
当是一种价格 - 只有在有价格的情况下,我想追加定价货币和价格单位(如果有的话)。这是最好的下方
#spnOldPrice{text-decoration:line-through;}
#spnNewPrice{color:red !important;}
.pricing{position:relative;}
.pricing:not(:empty)::before
{
position:absolute;
left:100%;
content:attr(data-label);
}
<span id='spnOldPrice'><span id='plainoldPrice' class='pricing'>9.99</span></span>
<span id='spnNewPrice'><span id='plainnewPrice' class='pricing'>4.99</span></span>
<hr>
<span id='spnOldPrice'><span id='oldPrice' class='pricing' data-label='€/box'>9.99</span></span>
<span id='spnNewPrice'><span id='newPrice' class='pricing' data-label='€/box'>4.99</span></span>
看例子明白我有两个例子在这里
- 第一个简单的表示充分和促销价。这里没有问题。
- 第二个指示充分,与货币沿着促销价格和价格
的单元后一个例子示出了该问题。额外的€/ box字符串会导致我的条件CSS规则:not(:empty)::before
踢在哪些情况下绝对定位的before
伪元素显示可见内容。当然,以下范围 - 促销价格 - 并不知道此pseduo元素的任何内容,并根据/盒位自动绘制。
我可以抛开我在这里做过的事情,使用多个嵌套跨度并使用JS的一个点,以确保所有时间都能正常工作。然而,我不得不想一想,在这里必须有一个更优雅的CSS解决方案。我希望这里的某个人能够提出这个解决方案。
与剥离位置尝试:绝对的;左:100%从.pricing:not(:empty):在css之前。 –
这只是显示货币/单位的效果,例如€/ box,左边的实际价格根本不是什么意图 – DroidOS