가운데 HTML 입력 텍스트 필드 자리 표시 자


153

입력 필드의 자리 표시 자 정렬을 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="support@socialpic.org" style="text-align: center" name="email" />
    <!<input type="submit" value="submit" />  
</form>

실제로 대답은 아니지만 jQuery Mobile이이를 수행하므로 어떻게 달성하는지 살펴볼 수 있습니다.
Evanss

나를 위해, 당신의 input.placeholder비트 는 비트를 제거 할 때 작동합니다 . 입력 내부의 텍스트를 가운데에 맞추면 자리 표시 자도 정렬됩니다.
Cannicide

답변:


283

자리 표시 자 스타일 만 변경하려는 경우

::-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; 
}

5
이것은 대부분의 입력 필드에는 적합하지만 날짜 유형에는 적합하지 않습니다. 날짜별로 작동시키는 방법을 알고 있습니까?
Cornelius Parkin

92
input{
   text-align:center;
}

당신이 필요한 전부입니다.

FF6의 실례 . 이 방법은 브라우저 간 호환이되지 않는 것 같습니다.

이전 CSS는 "자리 표시 자"클래스가있는 입력 요소의 텍스트를 중앙에 배치하려고했습니다.


5
자리 표시 자와 필드에 입력 한 텍스트를 중앙에 배치하고
싶지 않습니다.

1
예. 이것이이 예제의 기능입니다. 자리 표시 자는 필드의 텍스트입니다.
Jamie Dixon

2
예제에서는 작동하지 않습니다. 이 예에서 자리 표시자는 정렬 된 상태로 있습니다.
max_

Bootstrap 또는 Semantic UI와 같은 라이브러리를 사용하는 경우 스타일을 인라인으로 추가해야 <input type="text" placeholder="Search..." style="text-align: right;">작동합니다. important!외부 파일을 사용하는 경우 CSS 규칙에 추가 하십시오.
Behdad

max_에 문제가있는 것은 브라우저 호환성 문제 일뿐입니다. Safari를 제외한 대부분의 주요 브라우저에서 제대로 작동합니다.
Cannicide

7

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;
}

7

다음과 같이 만들 수 있습니다.

    <center>
    <form action="" method="POST">
    <input type="text" class="emailField" placeholder="support@socialpic.org" style="text-align: center" name="email" />
    <input type="submit" value="submit" />  
</form>
    </center>

작업 코드 펜


이것 만이 나를 위해 일하고 있습니다. HTML에 추가 된 스타일에 우선 순위가 더 주어 지거나 다른 모든 스타일보다 우선 할 수 있습니다.
Gokul

5

그것은 내 요구에 잘 작동합니다. 브라우저의 호환성을 확인해야합니다. 역 호환성을 신경 쓰지 않았기 때문에 문제가 없었습니다.

.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; 
}

3
이 답변이 다른 답변의 직접 사본이 아닙니까?
Anwar

3

이 방법으로 자리 표시 자에 대한 CSS를 작성할 수도 있습니다.

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

2

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

input[placeholder] {
   text-align: center;
}

1
::-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::-webkit-input-placeholder {
      text-align: center
}

이 답변은 수락 된 답변 과 다른 것을 제공하지 않는 것 같습니다 .
Anton Menshov

이 답변은 모든 자리 표시 자와는 대조적으로 특정 요소의 자리 표시자를 변경하는 방법에 대한 힌트를 제공합니다. 예 .foo::-webkit-input-placeholder { … }.
Henrik N

0

아래와 같은 클래스에서 set을 사용하고 텍스트 클래스
CSS 를 입력하도록 설정할 수 있습니다 .

 .place-holder-center::placeholder {
        text-align: center;
    }

HTML :

<input type="text" class="place-holder-center">
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.