で働いていないの後、私はダイナミックテキストとスタイルの文を持っています。テキストが長すぎる場合があり、ボックスの外側の端にアンカーをプッシュします。 span.price-difference
の後にテキストを折り返しますが、アンカーボタンはp
の右側に配置する必要があります。:擬似要素はサファリ
Iが.price-difference
に:after
擬似要素を追加しました。私はそれをcontent: ''
とdisplay: block
に設定しました。 FF、Chrome、IE(SafariはサポートしていないIE8を含む)で動作します。
あり簡単な答えは別のspan
に.price-difference
を次のテキストをラップする、である、とblock
に設定しますが、HTMLを変更するJSPファイルに変更を加えるために、バックエンドの開発を必要とする、面倒である、と私は願っていますそれを避けるために。 CSSのみのソリューションを探しています(存在する場合)。
<p class="upsell"> Upgrade To
<span class="stateroom-upgrade"> Concierge Class </span>
for an additional
<span class="price-difference">$7.14 USD </span>
per person per day
<a href="" class="ccButtonNew"><span>View Upgrades</span></a>
</p>
CSS
.upsell {
background: none repeat scroll 0px 0px #FAFAFA;
border-top: 2px dashed #E8E8E8;
color: #666;
display: block;
font-size: 11.5px;
font-weight: 600;
margin: auto 19px 5px;
padding: 8px 0px 8px 8px;
position: relative;
text-transform: none;
white-space: nowrap;
width: 560px;
}
.upsell .price-difference {
color: #0C82C4;
font-size: 15px;
font-weight: 700;
margin-left: 5px;
display: inline-block;
}
.stateroom .upsell .price-difference::after {
content: "";
display: block;
}
.upsell .ccButtonNew {
position: absolute;
right: 10px;
top: 17px;
}
p
要素は、その上にwhite-space: nowrap
セットを持っていますが、私はそれをオフにすると、問題は消えません。
私はそれは、以下のリンクに関連することだと思うが、私の状況は同じではありません。その質問では、質問者はブロックレベルの要素div
をp
の内側に配置します。これはインライン要素のみを取ります。私はp
の中にインライン要素span
を持っています。このはである必要があります。
:after pseudo-element working in FF, but not Safari or Chrome
。 Web開発者はInternet Explorer 8がCSS3構文をサポートしていないため、単にCSS2.1構文のみを使用するため、単純に使用しません。 – pentzzsolt
あなたは、正しいです。これは、適切に(正確にiPhone 5)Safariでボタンタグで擬似要素からなる純粋なCSSの矢印を合わせるために私を助けた – Elemenofi
ありがとう。余白と左の属性を使って、私はそれを正しく得ることができました。 +1 – hardcodepunk