全くの質問ですが、こちらです。
CSS
.product__specfield_8_arrow {
/*background-image:url(../../upload/orng_bg_arrow.png);
background-repeat:no-repeat;*/
background-color:#fc0;
width:50px !important;
height:33px !important;
border: 1px solid #dddddd;
border-left:none;
border-radius:5px;
-moz-border-radius:5px;
-webkit-border-radius:5px;
border-bottom-left-radius:0px;
border-top-left-radius:0px;
-moz-border-radius-bottomleft:0px;
-moz-border-radius-topleft:0px;
-webkit-border-bottom-left-radius:0px;
-webkit-border-top-left-radius:0px;
margin:0;
padding:2px;
cursor:pointer;
}
HTML
<span class="product__specfield_8_arrow"> </span>
基本的に私はボタンをエミュレートしようとしています、スパン(または何か)が実際に1である必要はない入力フィールドの隣のボタンのように見えるようにします。これは今のところ手っ取り早い解決策だと思いましたが、明らかにそうではありません。
ありがとう。
スパンはインライン要素です。幅や高さはありません。
あなたはそれをブロックレベルの要素に変えることができます、それからそれはあなたの寸法指示を受け入れます。
span.product__specfield_8_arrow
{
display: block; /* or inline-block */
}
div
の代わりにspan
を使用するか、CSSのdisplay: block;
またはdisplay: inline-block;
を使用してみてください。span
は、デフォルトではwidth
およびheight
プロパティを使用できないインライン要素です。
@Hamedからインスピレーションを得て、私は以下を追加しました、そしてそれは私のために働きました:
display: inline-block; overflow: hidden;
スパンを幅と高さにするのは、ブロック要素にするときだけです。
span {display:block;}
@Paulからのコメントのとおり、display:blockが指定された場合、spanはインライン要素およびそれが次の行に現れた後の要素ではなくなります。
私は私のスパンの高さの問題に対する解決策を見つけるためにここに来ました、そして私は私自身の解決策を得ました
overflow:hidden;
を追加してインラインにしておくと、IE8 Quirksモードでテストしたばかりの問題が解決します。
span
sはデフォルトではインラインで表示されます。つまり、高さと幅がありません。
あなたのスパンにdisplay: block
を追加してみてください。
スパンはインライン要素として始まります。たとえば、display属性をblockに変更すると、height/width属性が有効になります。
span {display:block;}
は改行も追加します。
これを避けるには、span {display:inline-block;}
を使用してから、インライン要素に幅と高さを追加し、ブロック内で整列させることもできます。
span {
display:inline-block;
width: 5em;
font-weight: normal;
text-align: center
}