Eingang Platzhalter line-height Ausgabe
Was ist das Problem?
Es gibt ein Eingabefeld mit der Höhe 36px wie in obigem Bild gezeigt. In IE10 Platzhalter ist nicht vertikal in der Mitte.
Eingang Platzhalter line-height Ausgabe
Was ist das Problem?
Es gibt ein Eingabefeld mit der Höhe 36px wie in obigem Bild gezeigt. In IE10 Platzhalter ist nicht vertikal in der Mitte.
Für alle Eingänge geben nur
line-height:normal;
es normal line-height statt und wird in allen Browsern funktionieren.
Überraschenderweise funktioniert wie Charme –
Also warum ist normal nicht der Standard, große Antwort tho! Lief wie am Schnürchen. –
Versuchen Sie, diese zu nutzen:
vertical-align:middle;
Ich hatte das versucht, aber es hat nicht funktioniert. – Tushar
@ downvoters was ist los? –
Lösung 1:
Verwendung Eingänge ohne Platzhalter:
<input type="text" class="generalInput" value="Topic" onBlur="javascript:if(this.value==''){this.value=this.defaultValue; strechInput(this.id , 'c');}" onFocus="javascript:if(this.value==this.defaultValue){this.value=''; strechInput(this.id , 's');}">
Lösung 2:
Verwendung dieses Skript hinzufügen separate CSS für jeden Browser
var browsers = ['Firefox' , 'Safari'];//and so on
var browser = 'unknown';
for(var i = 0 ; i < browsers.length ; i++)
{
if(window.navigator.userAgent.indexOf(browsers[i]) != -1)
browser = browsers[i];
}
var head = document.getElementsByTagName("head");
var css = document.createElement("link");
css.setAttribute('href' , './' + browser.toLowerCase() + '.css');
css.setAttribute('rel' , 'stylesheet');
(head[0]).appendChild(css);
Lösung 3:
Verwendung HTML-Kommentare
<!--[if IE]>
<link rel="stylesheet" href="./ie.css">
<![ENDIF]-->
Vielen Dank für Ihre Antwort, aber ich hatte Problem für die vertikale Ausrichtung von Platzhalter, ich denke, Sie haben die obige Antwort für Platzhalter geteilt. – Tushar
@Tushar ja, irgendwie richtig, aber ich habe es nur für jemand anderen Bedürfnisse und für weitere Informationen. – Soosh
Sie js dieses Problem zu beheben verwenden waterwark können.
http://jsfiddle.net/maxim75/yJuF3/
prüfen Geige heraus.
<input type="text" id="Text1" />
Ich hatte Probleme mit der vertikalen Ausrichtung von Platzhaltern, ich denke, Sie haben die obige Demo für Platzhalter geteilt. – Tushar
Ja, nur das Hinzufügen der Platzhaltereigenschaft in Ihrem Eingabe-Tag garantiert nicht die korrekte Ausrichtung in jedem Browser. So können Sie für Wasserzeichen JS-Lösung gehen, wenn Sie möchten. – Anup
Für jedermann zu diesem späten kommt - fand ich eine Lösung, die in Twitter Bootstrap (3.1) sowie ein paar anderen Tests arbeitete ich lief.
einfach auf das Eingangselement hinzufügen:
height: inherit;
vertical-align: middle;
Ich habe in der Regel eine Höhe und line-height zum input [type = text] und erben diese Eigenschaften :: Platzhalter.
height: inherit;
line-height: inherit;
Lösung:
Angewandte gleich 36px line-height auf input [type = "text"].
Nebeneffekt:
Vor line-height geben: 36px es funktioniert in alle Browser in Ordnung.Wie ich 36px line-height auf Eingang [type = "text"], ist unter dem, was in Safari passiert:
Zweite Lösung:
Nehmen line-height mit IE-Hack . Das ist wie folgt
input[type="text"] {
line-height: 36px\9; // CSS Hack only for IE.
}
Können Sie bitte die CSS, die für die Eingänge gilt posten? Es ist schwierig zu sehen, was es ohne den Code verursachen könnte. – Advocation
Wenn Sie Zeilenhöhe verwenden: Versuchen Sie, 'vertical-align: middle' zum Text hinzuzufügen – RononDex
Sie brauchen nicht' line-height', teilen Sie Ihren vollständigen Code http://jsfiddle.net/VNrsQ/ –