<html>
Name:<input type="text"/></br>
Email Address:<input type="text"/></br>
Description of the input value:<input type="text"/></br>
</html>
Jetzt beginnen die Beschriftungen alle in derselben Spalte, aber die Textfelder beginnen an unterschiedlichen Positionen gemäß der Textlänge der Beschriftung.
Gibt es eine Möglichkeit, die Eingabefelder so auszurichten, dass alle “:” und die Textfelder an derselben Position beginnen und der vorangehende Text bis zum “:” rechtsbündig ausgerichtet wird?
Ich bin mit der Verwendung von CSS einverstanden, wenn dies dazu beitragen kann.
Wo ist das Formular? Ich sehe Formularsteuerelemente, aber keine Formulare.
– Madaras Geist
3. Juni 2012 um 7:41 Uhr
Es ist nur ein Pseudo-Code-Snippet. Angenommen, Sie haben ein Formular innerhalb des HTML-Tags.
– Sankara
3. Juni 2012 um 7:56 Uhr
Beantwortet das deine Frage? So richten Sie Eingabeformulare in HTML aus
<div>
<label>Name:</label><input type="text">
<label>Email Address:</label><input type = "text">
<label>Description of the input value:</label><input type="text">
</div>
Gibt es eine Möglichkeit, dies zu tun, ohne eine absolute Breite angeben zu müssen?
– Ajedi32
28. Oktober 2013 um 1:21 Uhr
Ajedi32, Sie können die relative Breite (%) verwenden, schauen Sie hier: jsfiddle.net/T6zhj/293 . Aber Sie müssen die gleiche Breite für alle Etiketten auf irgendeine Weise einrichten, weil Sie sie rechts ausrichten müssen.
– DaneSoul
28. Oktober 2013 um 17:19 Uhr
vscode sagen. Und wenn ich die Anzeige sowohl in der Beschriftung als auch in der Eingabe entferne, scheint es wahr zu sein. “Inline-Block wird aufgrund des Floats ignoriert. Wenn ‘float’ einen anderen Wert als ‘none’ hat, wird die Box gefloatet und ‘display’ wird als ‘block’css (propertyIgnoredDueToDisplay) behandelt”
– Greif
4. Mai um 7:23 Uhr
huysentruitw
Sie könnten ein Etikett verwenden (siehe JsFiddle)
Oder Sie könnten diese Beschriftungen in einer Tabelle verwenden (JsFiddle)
<html>
<table>
<tbody>
<tr><td><label for="name">Name:</label></td><td><input id="name" type="text"></td></tr>
<tr><td><label for="email">Email Address:</label></td><td><input id="email" type = "text"></td></tr>
<tr><td><label for="desc">Description of the input value:</label></td><td><input id="desc" type="text"></td></tr>
</tbody>
</table>
</html>
Plus, durch die Verwendung label Sie erhalten alle möglichen netten Zugänglichkeitsfunktionen: Sie können klicken, um zum zugehörigen Steuerelement zu springen, und Screenreader können Ihr Formular verstehen. tables für Layout erhalten Sie nichts davon.
– Mattias Bülens
3. Juni 2012 um 7:55 Uhr
@MattiasBuelens: aber eine Tabelle wird die erste Spalte an die Breite der Beschriftungen anpassen. Beispielsweise für eine mehrsprachige Site, bei der Sie die Label-Beschriftung dynamisch erhalten, könnten Sie die tds in der ersten Spalte auf nowrap setzen … Also lassen Sie die Tabellen noch nicht fallen, sie haben ihren Nutzen
– huysentruitw
3. Juni 2012 um 7:58 Uhr
@wouterHuysentruit Das ist, wonach ich suche, aber im CSS-Beispiel gibt es keine Leerzeichen zwischen den Feldern. Wie kann das behoben werden?
Legen Sie eine Breite für das Formularelement fest (das in Ihrem Beispiel vorhanden sein sollte! ) und schweben Sie (und löschen Sie) die Eingabeelemente. Lassen Sie auch die br-Elemente fallen.
Ich weiß, dass dieser Ansatz schon früher verwendet wurde, aber ich glaube, dass das Layout mithilfe von Tabellen einfach generiert werden kann, obwohl dies der Fall ist möglicherweise nicht die beste Vorgehensweise.
<table>
<tr><td>Name:</td><td><input type="text"/></td></tr>
<tr><td>Age:</td><td><input type="text"/></td></tr>
</table>
<!--You can add the fields as you want-->
CSS
td{
text-align:right;
}
Es ist immer noch besser, als die Breite absolut anzugeben
– Umschlag
31. Januar 2017 um 16:04 Uhr
Schleife
In meinem Fall lege ich diese Sachen immer in ein ap-Tag wie
<p>
name : < input type=text />
</p>
und so weiter und dann das CSS wie anwenden
p {
text-align:left;
}
p input {
float:right;
}
Sie müssen die Breite des p-Tags angeben, da die Eingabe-Tags ganz nach rechts schweben.
Dieses CSS wirkt sich auch auf die Senden-Schaltfläche aus. Sie müssen die Regel für dieses Tag überschreiben.
Es ist immer noch besser, als die Breite absolut anzugeben
– Umschlag
31. Januar 2017 um 16:04 Uhr
Teil
Ich habe dem Label gerade eine Breite gegeben und der Eingabetyp wurde automatisch ausgerichtet.
Dies richtet sie nicht wirklich aus. Es scheint, als wären sie ausgerichtet, weil „Vorname“ und „Nachname“ fast die gleiche Breite haben, aber sie sind nicht ganz ausgerichtet und es würde nicht mit Etiketten unterschiedlicher Größe funktionieren.
– Solomon Ucko
19. April 2018 um 21:53 Uhr
12995500cookie-checkHTML-Eingabefelder ausrichten nach : [duplicate]yes
Wo ist das Formular? Ich sehe Formularsteuerelemente, aber keine Formulare.
– Madaras Geist
3. Juni 2012 um 7:41 Uhr
Es ist nur ein Pseudo-Code-Snippet. Angenommen, Sie haben ein Formular innerhalb des HTML-Tags.
– Sankara
3. Juni 2012 um 7:56 Uhr
Beantwortet das deine Frage? So richten Sie Eingabeformulare in HTML aus
– Cyberritter
3. Mai 2020 um 22:32 Uhr