Ich möchte, dass ein Eingabeelement [type = text] immer die gleiche Breite wie die Tabellenzelle hat, in der es enthalten ist. Ich muss sicherstellen, dass die Breite der Tabellenzelle nicht von der Breite des Eingabeelements beeinflusst wird .
Wie kann ich das mit CSS machen? Muss ich JS benutzen? Wenn ja, was wäre der beste Weg zu bestimmen, wann die Tabellenzelle die Größe geändert hat?
Das Setzen der CSS-Regeln width:100%;
und display:block;
für das INPUT
-Element sollte dies tun.
In der Praxis ist das nicht genug, es scheint, als ob einige Browser die INPUT
size
attibute gegenüber dem Stil betonen. So erweitert Chrome beispielsweise das Element so, dass es der Größe entspricht, wodurch die Tabellenspalte erweitert wird. Die Einstellung size=0
funktioniert nicht, da sie dann auf einen gültigen Wert gesetzt wird. Wenn Sie jedoch das Attribut size=1
am Element INPUT
setzen, wird das gewünschte Verhalten erzielt. Dies ist jedoch keine CSS-Lösung, und das INPUT
kann nicht unter eine bestimmte, aber geringe Breite komprimiert werden.
Was ist mit der Einstellung Stil (oder Klasse) Breite: 100%; für Eingabeelemente, die sich in einer Tabelle befinden?
In etwa so:
%Vor%Tags und Links javascript html css input