Kann ich mit einem Eingabeelement die Breite einer Tabellenspalte füllen?

8

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?

    
diolemo 23.12.2011, 05:31
quelle

5 Antworten

7

Wenn dies für Sie funktioniert:

%Vor%

versuche das:

%Vor%     
jerjer 23.12.2011 05:42
quelle
5

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.

    
dronus 03.03.2012 17:12
quelle
2

Wenn Sie die Breite Ihres Felds auf 100% einstellen, sollte es funktionieren. In diesem Fall sollten Sie auch die box-sizing -Regel hinzufügen, um zu vermeiden, dass das Eingabefeld die Tabellenzellenpolsterungen ignoriert.

%Vor%

Siehe Beispiel Ссылка

    
dfsq 23.12.2011 06:57
quelle
0

Was ist mit der Einstellung Stil (oder Klasse) Breite: 100%; für Eingabeelemente, die sich in einer Tabelle befinden?

In etwa so:

%Vor%     
Fire-Dragon-DoL 23.12.2011 05:35
quelle
0

CSS sollte den Trick machen:

%Vor%     
Ayman Safadi 23.12.2011 05:37
quelle

Tags und Links