2016-09-28 15 views
3

テキスト入力ボックスのプレースホルダを垂直方向に揃えようとしています。私はWebKitのルールでvertical-align: middle;を試みたCSS垂直位置揃えプレースホルダテキスト

私は行く::--webkit:--mozルールを持っている、と彼らは他のスタイリングのために働いているが、垂直配向ではない...、と下には.inputそのもの。私はまた、誰もが私が欠けているシンプルなものを見ることができます

jsfiddle.net/s3vpgxqg/

line-height: <same as the input box height>を試してみました?

ありがとうございました!

+0

奇妙な!私もChromeを使用しています... –

+0

それをより大きな高さに展開すると、プレースホルダはどこに表示されますか? – StardustGogeta

+0

より大きい高さでは中央に表示されますが、確かに60pxでは表示されません。高さが高くなると、「垂直方向に整列することはできません:top;」(私がしたいとは思っていません):http://jsfiddle.net/dfuobnnn /テキストは垂直に整列していますか?このフィドルであなたのためにトップ? –

答えて

0

1つのオプションは、入力用のフォント書式設定プレースホルダを変更することです(プレースホルダは書式設定を継承します)。

https://jsfiddle.net/rwh6hkc6/

html, body { 
 
    margin: 0; 
 
} 
 

 
.email.input { 
 
    text-indent: 40px; 
 
    font-family: "HelveticaNeue-Ultra-Light", "Helvetica Neue Ultra Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; 
 
    width: 400px; 
 
    border: none; 
 
    background-color: #FFCF6B; 
 
    font-size: 1.8em; 
 
    font-weight: 100; 
 
    padding: 10px 0; 
 
} 
 

 
::-webkit-input-placeholder { /* WebKit, Blink, Edge */ 
 
    color: #B1B1B1; 
 
} 
 

 
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ 
 
    color: #B1B1B1; 
 
    opacity: 1; 
 
} 
 

 
::-moz-placeholder { /* Mozilla Firefox 19+ */ 
 
    color: #B1B1B1; 
 
    opacity: 1; 
 
} 
 

 
:-ms-input-placeholder { /* Internet Explorer 10-11 */ 
 
    color: #B1B1B1; 
 
}
<div class="centered"> 
 
    <div class="input"> 
 
    <input type="text" class="email input" name="email" placeholder="enter your email"> 
 
    </div> 
 
</div>

+0

コードスニペットを実行すると、プレースホルダは垂直に配置されません。 – achref

+0

これは、フォントによって上下の間隔が異なるためです。パディングの上端と下端を確認してください。 –

+0

ポイントは、プレースホルダのフォントサイズが入力フォントのサイズと異なることです。 – Liangjun

関連する問題