HTML Girişi Metin Alanı Yer Tutucusunu Ortala


154

Giriş alanının yer tutucusunun hizalamasını html biçiminde nasıl ortalayabilirim?

Aşağıdaki kodu kullanıyorum, ama çalışmıyor:

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>

Gerçekten bir cevap değil, ama jQuery Mobile bunu yapıyor, böylece nasıl başardıklarına bakmak isteyebilirsiniz.
Evanss

Benim için, kodunuz input.placeholderbiraz kurtulduğunuzda çalışır . Girdinin içindeki metni merkeze hizalamak da yer tutucuyu hizalar.
Cannicide

Yanıtlar:


284

Yalnızca yer tutucu stilini değiştirmek istiyorsanız

::-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
Bu, çoğu girdi alanı için iyi çalışır, ancak tür tarihi için uygun değildir. Tarih için nasıl çalışacağını biliyor musunuz?
Cornelius Parkin

93
input{
   text-align:center;
}

tüm ihtiyacın olan.

FF6'da çalışma örneği . Bu yöntem tarayıcılar arası uyumlu görünmüyor.

Önceki CSS'niz, "yer tutucu" sınıfına sahip bir giriş öğesinin metnini ortalamaya çalışıyordu.


5
Yer tutucuyu ve alana girilen metni ortalamak
istemiyorum

1
Evet. Bu örneğin yaptığı budur. Yer tutucu , alandaki metindir.
Jamie Dixon

2
örnekte çalışmaz. Örnekte, yer tutucu sola hizalanır.
max_

Bootstrap veya Semantic UI gibi kütüphaneler kullanıyorsanız, stili satır içi eklemeniz gerekir, yani <input type="text" placeholder="Search..." style="text-align: right;">çalışması için. Veya important!harici dosyalar kullanıyorsanız CSS kuralınıza ekleyin .
Behdad

Görünüşe göre max_ yaşadığınız sorun sadece tarayıcı uyumluluğu ile ilgili bir sorun. Safari hariç çoğu tarayıcıda işe yarar.
Cannicide

7

HTML5 yer tutucu öğesi, öğeyi kabul eden tarayıcılar için, ancak burada görebileceğiniz gibi farklı şekillerde şekillendirilebilir: http://davidwalsh.name/html5-placeholder-css .

Ama text-alignbunun tarayıcılar tarafından yorumlanacağına inanmıyorum . En azından Chrome'da bu özellik yok sayılır. Ama her zaman, gibi diğer şeyleri değiştirebilir color, font-size, font-familyvb ben bu merkez davranışı kaldırmak mümkün olmadığını tasarımınızı yeniden düşünmek öneririz.

DÜZENLE

Bu metnin gerçekten ortalanmasını istiyorsanız, yer tutucu davranışını simüle etmek için her zaman bazı jQuery kodu veya eklentisi kullanabilirsiniz. İşte bir örnek: http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html .

Bu şekilde stil çalışacaktır:

input.placeholder {
    text-align: center;
}

7

Bu şekilde yapabilirsiniz:

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

Çalışma Kodu


Sadece bu benim için çalışıyor. HTML'ye eklenen stillere daha fazla öncelik verilir veya diğer tüm stiller geçersiz kılınır.
Gokul

5

İhtiyaçlarım için iyi çalışıyor, tarayıcınızın uyumluluğunu kontrol etmelisiniz, sorunlarım yoktu çünkü geriye dönük uyumluluğu umursamadım

.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
Bu cevap başka bir cevabın doğrudan kopyası değil mi?
Anwar

3

yer tutucu için css yazmak için de bu yolu kullanabilirsiniz

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

2

Bu şekilde deneyebilirsiniz:

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

Aşağıdaki kod snippet'ini kullanarak, girdinizin içindeki yer tutucuyu seçersiniz ve içine yerleştirilen herhangi bir kod yalnızca yer tutucuyu etkiler.

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

Bu cevap, Kabul Edilen Cevapla karşılaştırıldığında farklı bir şey sunmuyor gibi görünüyor .
Anton Menshov

Bu cevap, tüm yer tutucuların aksine, yalnızca bir belirli öğenin yer tutucusunun nasıl değiştirileceğine dair bir ipucu vermektedir. Örn .foo::-webkit-input-placeholder { … }.
Henrik N

0

Set'i aşağıdaki gibi bir sınıfta kullanabilir ve
CSS metin sınıfı girişine ayarlayabilirsiniz :

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

HTML:

<input type="text" class="place-holder-center">
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.