2011-09-11 2 views
116

입력란의 자리 표시 자의 맞춤을 html 형식의 가운데에 맞출 수있는 방법은 무엇입니까?가운데 HTML 입력 텍스트 필드 자리 표시 자

나는 다음과 같은 코드를 사용하고 있지만,이 작동하지 않습니다

CSS ->

input.placeholder { 
    text-align: center; 
} 
.emailField { 
    top:413px; 
    right:290px; 
    width: 355px; 
    height: 30px; 
    position: absolute; 
    border: none; 
    font-size: 17; 
    text-align: center; 
} 

HTML ->

<form action="" method="POST"> 
    <input type="text" class="emailField" placeholder="[email protected]" style="text-align: center" name="email" /> 
    <!<input type="submit" value="submit" /> 
</form> 
+0

당신이 당신의 HTML을 보여줄 수 있습니까? – Will

+0

답변은 아니지만 jQuery Mobile이이를 수행하므로 어떻게 달성하는지 볼 수 있습니다. – Evans

+0

나를 위해, 당신의 코드는'input.placeholder' 비트를 제거 할 때 작동합니다. 입력 텍스트를 가운데 정렬하면 자리 표시 자도 정렬됩니다. – IamGuest

답변

219

당신이, 당신이 당신의 브라우저 호환성을 확인해야합니다 그것은 내 요구에 잘 작동

::-webkit-input-placeholder { 
    text-align: center; 
} 

:-moz-placeholder { /* Firefox 18- */ 
    text-align: center; 
} 

::-moz-placeholder { /* Firefox 19+ */ 
    text-align: center; 
} 

:-ms-input-placeholder { 
    text-align: center; 
} 
+3

대부분의 입력 필드에서는 제대로 작동하지만 유형 날짜에서는 작동하지 않습니다. 당신은 또한 그것이 날짜로 작동하도록하는 방법을 알고 있습니까? –

70
input{ 
    text-align:center; 
} 

것은 당신이 필요로하는 모두이다.

Working example (FF6) 이 방법은 브라우저 간 호환이되지 않는 것 같습니다.

이전 CSS에서 "자리 표시 자"클래스가있는 입력 요소의 텍스트를 가운데에 놓으려고했습니다.

+3

필드에 입력 한 텍스트와 자리 표시 자의 가운데에 자리 매김을하지 않습니다. –

+1

예. 이것이 바로이 예제입니다. 자리 표시 자 _is_ 필드에있는 텍스트입니다. –

+2

예제에서는 작동하지 않습니다. 이 예에서 자리 표시자는 왼쪽 정렬됩니다. –

6

HTML5 자리 표시 자 요소는 요소를 허용하는 브라우저에서 스타일을 지정할 수 있지만 다른 방법으로는 여기에서 볼 수 있습니다 (http://davidwalsh.name/html5-placeholder-css).

그러나 나는 text-align이 브라우저에 의해 해석 될 것이라고 생각하지 않습니다. 적어도 Chrome에서는이 속성이 무시됩니다. 하지만 언제든지 color, font-size, font-family 등의 다른 것들을 변경할 수 있습니다.이 센터 동작을 제거 할 수 있는지 여부를 다시 생각해 보시기 바랍니다.

편집

당신이 정말이 텍스트를 중심으로 원한다면, 당신은 항상 자리 동작을 시뮬레이션하기 위해 일부 jQuery 코드 또는 플러그인을 사용할 수 있습니다. 다음은 그 샘플입니다. http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html.

이 방법

스타일이 작동합니다

input.placeholder { 
    text-align: center; 
} 
6

에만 자리 표시 스타일을 변경하려면, 나는 이전 버전과의 호환성을 걱정하지 않았기 때문에 문제가 없었습니다.

.inputclass::-webkit-input-placeholder { 
text-align: center; 
} 
.inputclass:-moz-placeholder { /* Firefox 18- */ 
text-align: center; 
} 
.inputclass::-moz-placeholder { /* Firefox 19+ */ 
text-align: center; 
} 
.inputclass:-ms-input-placeholder { 
text-align: center; 
} 
+1

이 대답은 다른 대답의 직접적인 사본이 아닙니까? – Anwar

+1

@Anwar nah, 너는 단지 데자뷰를 경험하고있다 – konzo

2

당신은 다음과 같이 할 수 있습니다 :

<center> 
    <form action="" method="POST"> 
    <input type="text" class="emailField" placeholder="[email protected]" style="text-align: center" name="email" /> 
    <input type="submit" value="submit" /> 
</form> 
    </center> 

Working CodePen here

+0

이것이 나를 위해 일하고있다. 어쩌면 HTML에 추가 된 스타일에 우선 순위가 부여되거나 다른 모든 스타일보다 우선 적용됩니다. – Gokul

0
::-webkit-input-placeholder { 
font-size: 14px; 
color: #d0cdfa; 
text-transform: uppercase; 
text-transform: uppercase; 
text-align: center; 
font-weight: bold; 
} 
:-moz-placeholder { 
font-size:14px; 
color: #d0cdfa; 
text-transform: uppercase; 
text-align: center; 
font-weight: bold; 
} 
::-moz-placeholder { 
font-size: 14px; 
color: #d0cdfa; 
text-transform: uppercase; 
text-align: center; 
font-weight: bold; 
} 
:-ms-input-placeholder { 
font-size: 14px; 
color: #d0cdfa; 
text-transform: uppercase; 
text-align: center; 
font-weight: bold; 
} 
0

당신은 다음과 같이 시도 할 수 있습니다 :

input[placeholder] { 
    text-align: center; 
} 
관련 문제