Ok, so wissen wir, dass das Festlegen der Auffüllung auf ein Objekt seine Breite ändert, auch wenn es explizit festgelegt ist. Während man die Logik dahinter argumentieren kann, verursacht es einige Probleme mit einigen Elementen.Padding innerhalb von Eingängen bricht Breite 100%
In den meisten Fällen fügen Sie einfach ein untergeordnetes Element hinzu und fügen anstelle dieses auf 100% hinzu, aber für Formulareingaben ist das kein möglicher Schritt.
einen Blick auf diese: http://sandman.net/test/formcss.html
Der zweite Eingang seiner Polsterung 5px, die ich sehr viel lieber auf die Standardeinstellung gesetzt hat. Aber das lässt die Eingabe in alle Richtungen um 10px wachsen, einschließlich 10px zur 100% Breite.
Problem hier ist, dass ich ein Kindelement innerhalb der Eingabe nicht hinzufügen kann, damit ich es nicht beheben kann. Die Frage ist also:
Gibt es eine Möglichkeit, Padding innerhalb der Eingabe hinzuzufügen, während immer noch die Breite 100%? Es muss 100% sein, da die Formulare in Eltern mit unterschiedlicher Breite dargestellt werden, so dass ich die Breite des Elternteils vorher nicht kenne.
Siehe http://stackoverflow.com/questions/628500/can-i-stop-100-width-text-boxes-from-exteen-beyond-their-containers/628912#628912 für wie Sie das CSS3 'verwenden box-sizing' Attribut –
Ich muss nur sagen, danke, dass du deine Beispielseite die ganze Zeit aufgespart hast. Macht mich verrückt, wenn jemand eine URL in der Frage postet und es ist unten, nachdem die Antwort beantwortet wird oder sie nicht etwas wie jsfiddle verwenden. –
In Bezug auf die Verwendung von Box-Sizing-Attribut; Mein Problem war das gleiche Problem, aber mit der Höhe - Einstellung der Höhe auf 100% bedeutet, Höhe + Rahmen + Polsterung = Container Höhe. Um die Eingabe zu erhalten, um die tatsächliche Höhe des Containers zu haben, musste ich einfach Box-Sizing verwenden: content-box. – Skychan