Ich verwende calc()
, um die verfügbare Breite der Eingabe zu messen, nachdem die Breite der gleichgeordneten Elemente subtrahiert wurde.CSS3 Funktion calc() funktioniert nicht richtig
<div class="containero">
<button class="noey">No</button>
<input class="inpoot" />
<button class="yeso">Yes</button>
</div>
Und ich habe folgende CSS.
.containero {
width: 100%;
background-color: yellow;
display: inline-block;
box-sizing:border-box;
}
.noey, .yeso {
border: 1px solid red;
width: 30px;
height: 30px;
text-align: center;
vertical-align: middle;
display:inline-block;
color: red;
padding:0px;
box-sizing:border-box;
}
.inpoot {
height: 31px;
margin: 0 5px;
display:inline-block;
width: calc(100% - 70px);
box-sizing:border-box;
}
Jetzt nach meinen Berechnungen das Element .inpoot
sollte schön und gemütlich passen, wenn ich seine Breite zu calc(100% - 70px);
unter Berücksichtigung der widht von 30px
für die Geschwister beide gesetzt und seine eigene Marge von 10px
dann. Aber zu meiner größten Bestürzung, Leben ist nicht einfach es funktioniert nicht wie erwartet. Das letzte Geschwister .yeso
wird in die nächste Zeile geschoben.
ABER !!! wenn ich die .inpoot
Breite auf calc(100% - 82px)
voila setze !! es funktioniert, aber ich bin verblüfft, wo auf der schönen Erde GOTTES diese zusätzliche Breite herkommt?
Meine Güte !!! Das war ein hinterhältiger kleiner Käfer! :) Danke, lieber Gentleman. –
@MohdAbdulMujib gibt es keinen Fehler, ist eine Funktion. Leerzeichen zwischen Inline-Elementen sind physikalisch vorhanden. Es braucht also seinen Platz. Es ist kein Fehler, es ist breit im Internet referenziert. Suchen Sie nach Inline-Blöcken und Leerzeichen. Viel Glück! –
Sie können diese Antwort als richtig überprüfen. Vielen Dank! :) –