2016-09-28 2 views
3

텍스트 입력란의 자리 표시자를 세로로 정렬하려고합니다. 나는 웹킷 규칙에 vertical-align: middle;을 시도했습니다CSS 세로 맞춤 자리 표시 자 텍스트

내가가는 ::--webkit:--moz 규칙을 가지고, 그들은 다른 stylings가 근무하고 있지만 수직으로 정렬되지 ..., 이하는 .input 자체 . 나는 또한 누군가가 내가 부족 간단한 일을 볼 수

jsfiddle.net/s3vpgxqg/

line-height: <same as the input box height>을 시도했다 ??

감사합니다.

+0

이상한! Chrome을 사용 중입니다 ... –

+0

더 큰 높이로 펼치면 자리 표시자가 어디에 표시됩니까? – StardustGogeta

+0

더 큰 높이로 중간에 나타나지만 확실히 60px에서는 보이지 않습니다. 그리고 더 큰 높이에서 '세로 정렬 : top'도 할 수 없습니다 (원하는 것은 아닙니다) : http://jsfiddle.net/dfuobnnn/텍스트가 세로로 정렬되어 있습니까? –

답변

0

한 가지 옵션은 입력에 대한 글꼴 서식 지정 자리 표시자를 변경하는 것입니다 (자리 표시자는 형식을 상속 함).

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