Total noob Frage, aber hier.
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>
Grundsätzlich versuche ich, eine Schaltfläche zu emulieren, einen Bereich (oder etwas anderes) wie eine Schaltfläche neben einem Eingabefeld aussehen zu lassen, das aufgrund eines automatischen Füllgenerators, der bei Eingabe Fehler generiert, eigentlich keine sein muss. Ich dachte, dies wäre eine schnelle Lösung für den Moment, aber offensichtlich nicht.
Vielen Dank.
Antworten:
Span ist ein Inline-Element. Es hat keine Breite oder Höhe.
Sie können es in ein Element auf Blockebene verwandeln, dann akzeptiert es Ihre Dimensionsanweisungen.
quelle
display: block
angegeben, wird span angehalten, um ein Inline-Element und ein Element zu sein, nachdem es in der nächsten Zeile angezeigt wird. Ich brauche ein Element, das inline ist, aber die gewünschte Breite haben könnte.Versuchen Sie, eine Verwendung
div
anstelle derspan
oder über die CSSdisplay: block;
oderdisplay: inline-block;
-span
ist standardmäßig ein Inline - Element , das nicht nehmenwidth
undheight
Eigenschaften.quelle
Inspiriert von @Hamed habe ich Folgendes hinzugefügt und es hat bei mir funktioniert:
quelle
Span nimmt nur dann Breite und Höhe an, wenn wir es zu einem Blockelement machen.
quelle
display: inline-block;
ist besserGemäß dem Kommentar von @Paul: Wenn display: block angegeben ist, wird span angehalten, um ein Inline-Element und ein Element zu sein, nachdem es in der nächsten Zeile angezeigt wird.
Ich bin hierher gekommen, um eine Lösung für mein Problem mit der Spannweite zu finden, und habe eine eigene Lösung gefunden
Durch Hinzufügen
overflow:hidden;
und Inline-Keeing wird das Problem gelöst, das gerade im IE8 Quirks-Modus getestet wurdequelle
overflow:hidden;
in diesem Zusammenhang immer wieder. "Der Inhalt wird ohne Bildlaufleisten abgeschnitten", sagt MDN . Scheint nicht intuitiv zu sein. Was macht es hier?span
s werden standardmäßig inline angezeigt, dh sie haben keine Höhe und Breite.Versuchen Sie
display: block
, Ihrer Spanne ein hinzuzufügen .quelle
Span beginnt als Inline-Element. Sie können beispielsweise das Anzeigeattribut in Block ändern, und die Höhen- / Breitenattribute werden wirksam.
quelle
span {display:block;}
fügt auch einen Zeilenumbruch hinzu.Um dies zu vermeiden, verwenden Sie
span {display:inline-block;}
und dann können Sie dem Inline-Element Breite und Höhe hinzufügen und es auch innerhalb des Blocks ausrichten:mehr hier
quelle