2017-03-01 2 views
1

Ich bin auf der Suche nach einer Texteingabe, wo der Text füllt das gesamte Eingabefeld vertikal. Wie im Bild unten dargestellt:Eingabe Text Höhe ist in Safari gebrochen

enter image description here

Dies funktioniert in Firefox und Chrome alles in Ordnung.

In Safari Ich sehe dieses Problem:

enter image description here

Es ist wie die line-height scheint nicht richtig für das Eingabefeld angelegt. Lustig genug wird es richtig für den Platzhalter angewendet.

Mein Code:

Html:

<input type="text" placeholder="ABCD" value="ABCD"> 

Css: https://jsfiddle.net/0xsven/16z9Lr6t/

Ist das ein Bug oder bin:

input { 
    padding: 0; 
    margin: 0; 
    border: 0 none; 
    height: 140px; 
    line-height: 140px; 
    width: 600px; 
    font-size: 185px; 
} 

Sie meinen Code mit diesem Link testen Ich vermisse etwas?

Edit: Ich bin auf Mac OS mit Safari 10.0.2

Antwort

1

Dies ist meine Lösung:

<div class="text-box"> 
<input type="text" placeholder="ABCD" value=""> 
</div> 
<div class="text-box"> 
<input type="text" placeholder="ABCD" value="ABCD"> 
</div> 

CSS

.text-box input { 
    padding: 0; 
    margin: 0; 
    border: 0 none; 
    background: none; 
    font-size: 185px; 
    position: relative; 
    top: -47px; 
} 

.text-box { 
    background:#fff; 
    height: 140px; 
    width: 600px; 
    overflow: hidden; 
} 

Live-jsFiddle - https://jsfiddle.net/16z9Lr6t/3/

+0

Das funktioniert. Vielen Dank. Würdest du sagen, dass dies ein Bug in Safari ist? – Sven

+0

@Sven Safari versteht die Zeilenhöhe nicht. Ich denke, es ist eine Funktion dieses Browsers – grinmax

0

nicht line-height Eigenschaft in jeder Line-Level-Tags verwenden Sie; gilt nur für Tags auf Blockebene.

https://developer.mozilla.org/en-US/docs/Web/CSS/line-height

+0

> Ein nicht-ersetzte Inline-Elemente, line-height die Höhe angibt, die zur Berechnung verwendet wird, Zeilenhöhe. – Justinas

+0

@ Kuba: Danke für die Antwort. Durch das Entfernen der Zeilenhöhe bleibt das Problem bestehen. (Wird den Titel aktualisieren.) Gibt es eine Chance, dass Sie mir einen Tipp geben können, der das Problem löst? – Sven

+0

@Justinas was bedeutet "nicht ersetzt" sogar? Bearbeiten: http://stackoverflow.com/questions/12468176/what-is-a-non-replaced-inline-element Aber wie hilft es mir? – Sven

0

line-height gibt nur Grenzen des Textes, nicht unbedingt die Textplatzierung in diesem Feld.

Versuchen Sie die Einstellung vertical-align: middle (oder einen anderen Wert, kann derzeit nicht getestet werden).

+0

hilft nicht. Danke für den Versuch. – Sven