以下是我正在處理的問題。根據以前的內容調整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