スパンがインライン要素であることをよく知っていて、別のスパンを作成して単にdisplay:block
を使用することでほとんどの場合解決策になります。私のコードはJavascript & semi-PHPコードで絡み合っているので、私のほうがもう少し複雑です。だからここに私が直面してんだよ:JavascriptまたはCSSを使用してスパン内の線を分割する
<p id="reduction_amount" {if !$product->specificPrice || $product->specificPrice.reduction_type != 'amount' || $product->specificPrice.reduction|floatval ==0} style="display:none"{/if}>
{strip}
<span id="reduction_amount_display">
{if $product->specificPrice && $product->specificPrice.reduction_type == 'amount' && $product->specificPrice.reduction|floatval !=0}
SAVE {convertPrice price=$productPriceWithoutReduction|floatval-$productPrice|floatval}
{/if}
</span>
{/strip}
</p>
..And .jsファイル内のこの部分:
if (combination.specific_price.reduction_type == 'amount') {
$('#reduction_amount_display').html('SAVE ' + formatCurrency(discountValue, currencyFormat, currencySign, currencyBlank));
$('#reduction_amount').show();
}
コードのこの部分は、テンプレートファイル(の.tpl)に使用されています
これは完璧に動作し、これが現在どのように見えるかです:
(注:<p>
要素の幅と高さが固定されています)
"SAVE"部分の後に改行して、より大きなフォントサイズで表示するようにスタイルを変更したいと思います。デモンストレーション:
私は2つの2と他のスパンを分離し、私はそれを見てみたいどのようにそれらをstylizingすることによって達成さ、前述したように、これは、可能性があります。しかし、私のJavascriptに関する知識はかなり限られているので、私はスパンを挿入する正しい方法を知らない。私はいくつかの方法を試しました。たとえば、html += '<span class="blabla">'
の直前にformatCurrency
を追加し、閉じたタグをparanthesisの後に追加しましたが、これは何らかの理由でデザインのすべてを台無しにしました。私もhtml +=
を使わずに試してみましたが、ひたすら引用符をつけて同じことが起こりました。これにはどんな解決策がありますか?必ずしもJavascriptコードである必要はありません。それは、CSSまたはHTMLソリューションでもあります。
編集:私は別々に示さ金額を型にはめることができないであろうから
<br>
を使用したが、残念ながらもっともらしいではありません。また、そのタグを使用すると、その量が<p>
要素の外に出る(オーバーフローする)大きな隙間ができます。
あなただけの "保存" した後
を追加することはできませんか?次に、 $ 10 次に、新しいスタイルをクラスfooに適用するには、cssを使用しますか? –
@ user3739842そうではないにしても、金額を別々に書式設定することはできません。また、それはちょっと台無しになる。金額と "SAVE"の差はあまりにも大きくなりすぎます(彼らは固執しません)。 –
の高さをCSSでも変えることができます –