CSS label vertikale Ausrichtung mit Eingabefeldern
Ich bin der Gestaltung des Formulars, um uesd werden auf vielen Seiten in einem online-system. Ein eifriger Benutzer der Tabellen für diesen Zweck, für viele Jahre, bin ich immer Recht genutzt, um mit Hilfe von CSS + Etiketten für das jetzt.
Eins hab ich noch zu meistern, ist die Art, wie die verschiedenen Browser-pad & position der Beschriftung relativ zum Eingabefeld. Ich gebe ein code-Beispiel, plus eine nahaufnahme, wie es rendert in jedem browser (IE = IE9).
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>HTML template</title>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type" />
<link rel="stylesheet" type="text/css" href="reset.css" />
<style>
body {
font-family:Verdana,Arial,"Lucida Grande","Lucida Sans Unicode",sans-serif;
font-size:13px;
font-style:normal;
font-weight:normal;
letter-spacing:normal;
margin:20px;
}
input {
font-family:Verdana,Arial,"Lucida Grande","Lucida Sans Unicode",sans-serif;
border:solid 1px #666;
width:150px;
}
.fld {
}
.usr {
border:solid 1px red;
}
p {
}
</style>
</head>
<body>
<p>
<label class="usr" for="email">Email*</label>
<input class="fld required email" type="text" name="email" id="email" value="Capital Letter">
</p>
</body>
</html>
OK - jetzt kann ich post ein pic - hier ist, was es sieht aus wie nach Ahmed Masud änderungen. Er hatte Recht - reset.css-Datei, die ich hatte (von http://html5reset.org/) nicht haben Polsterung auf die input-element. Jedoch, auch nach dem anwenden der änderungen gibt es noch eine variation in der Ausrichtung der Basis von text in das label im Vergleich zu, dass in der Eingabe. Firefox ist nun tot-Ebene, und für den IE & Chrom-der label-text ist 1px höher.
Wenn ich den link entfernen, um Sie zurückzusetzen.css, die Dinge ändern sich wieder: Chrome wird zum Toten-Ebene, DH setzt das label 1px höher als die Eingabe von text -, Firefox 1px niedriger als die Eingabe von text. Siehe unten:
Sollte ich darauf hinweisen, dass dies ein sehr einfaches layout, es einfach zu versuchen und das problem zu diagnostizieren. Ich werde es sehen alle besser später. Aber zuerst muss ich wissen, wie man alle meine text-line-up in allen Browsern mit einer CSS-Lösung.
- können Sie Ihre zurückgesetzt.css bitte?
- Es ist aus html5reset.org - Hinzugefügt link oben, zusammen mit der Antwort auf Ihre Antwort unten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okay css Ausrichtungen sind wenig eine schwarze Kunst mit CSS2 so lassen Sie mich Ihnen sagen, was passiert:
1) der reset.css-Sie haben wahrscheinlich NICHT das zurücksetzen der Polsterung des input-Elements, die ist, warum Sie immer, dass Sie die 1/2-pixel-Fehler
Versuchen Sie, diese zu Ihrem Stil
So eine Sache ist, zu entfernen, die Polsterung aus Eingang:
Müssen Sie jetzt legen Sie die Höhe der beiden label-und input-Elemente:
Die andere Sache ist, dass Sie wahrscheinlich wollen, richten Sie die Felder schön untereinander. Eine Möglichkeit, zu erreichen, ist auf dem Etikett ein block mit float left-Eigenschaft:
und die .fld block sowie:
würden Sie wollen, fügen Sie einige weitere Parameter zu
p
zu machen, rendering etwas mehr ästhetik.Hier ist, was ich Tat, um Ihre Datei:
Macht dies die gleiche Art und Weise, in IE/Safari/FF/Opera
Dies ist eine Möglichkeit, align:
CSS: