2016-11-14 22 views
1

::beforeを使用して、<span>タグのインラインプレフィックスを実現します。
このプレフィックスは、<span>と同じ寸法(パディングトップとパディングボトム)である必要がありますが、背景色は異なります。擬似要素:垂直方向のインラインアラインメント

左に浮かべると、わずかにずれて擬似要素の上に小さな空白ができます。私がここで見つけたすべてのアプローチは、vertical-align: bottomを設定すると言われましたが、うまくいきません。

私は2つの<span>タグを隣り合わせに置くとすべて動作しますが、擬似要素を使用したいのは、<span>タグが1つだけで、CSSがきれいだからです。

HTML

<span>Some text I want to have here.</span> 

SCSS

span { 
    background-color: #ebebeb; 
    padding: .5em .2em .5em .2em; 

    &::before { 
     content: "Prefix:\00a0"; 
     background-color: #d1d1d1; 
     padding: .5em .2em .5em .2em; 
     float: left; 
    } 
} 

参照デモ:http://codepen.io/to7be/pen/yVJYaW

答えて

0

だけfloat: leftはそれが良いに見えるの削除:

preview

CodePen:http://codepen.io/anon/pen/VmjvEQ

垂直配向が浮上要素で動作しません。

あなたは左側にその小さな小さなスペースを必要としない場合、あなたはmargin-left: -2px;を行うことができます。

preview

CodePen:まずhttp://codepen.io/anon/pen/bBeVQJ

+0

私も、そう思いました。しかし、ちょうど左に、のパディングで少し明るい灰色の領域が成長しています。 浮動要素の垂直整列が機能しないことを知っておくとよいでしょう! – to7be

+0

@ to7be完全な回答を確認しましたか? *小さな小さなスペースを左にしたくない場合は、... * ** Reload buddy!** 2つの画像と2つのコードがあります。 –

+1

リロードが動作し、コードが動作します。ありがとうございました :) – to7be

関連する問題