Center HTML Input Text Place Placeholder


153

Bagaimana saya bisa memusatkan penyelarasan placeholder bidang input dalam bentuk html?

Saya menggunakan kode berikut, tetapi tidak berfungsi:

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>

Bukan jawaban, tetapi jQuery Mobile melakukan ini sehingga Anda mungkin ingin melihat bagaimana mereka mencapainya.
— Evanss

Bagi saya, kode Anda berfungsi saat Anda menyingkirkan input.placeholderbit. Menyelaraskan teks di dalam input ke tengah juga menyelaraskan placeholder.
— Cannicide

Jawaban:


283

Jika Anda ingin mengubah hanya gaya placeholder

::-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
Ini berfungsi dengan baik untuk sebagian besar bidang input, tetapi tidak untuk tipe tanggal. Apakah Anda tahu cara membuatnya bekerja untuk kencan?
— Cornelius Parkin

92
input{
   text-align:center;
}

itu yang kamu butuhkan.

Contoh kerja di FF6. Metode ini tampaknya tidak kompatibel lintas-browser.

CSS Anda sebelumnya berusaha memusatkan teks elemen input yang memiliki kelas "placeholder".


5
Saya tidak ingin memusatkan placeholder dan juga teks yang dimasukkan ke dalam bidang
— max_

1
Iya. Inilah yang dilakukan contoh ini. Placeholder adalah teks di bidang.
— Jamie Dixon

2
itu tidak berfungsi dalam contoh. Dalam contoh, placeholder dibiarkan selaras.
— maks_

Hati-hati, jika Anda menggunakan pustaka seperti Bootstrap atau Semantic UI, Anda harus menambahkan style inline, yaitu <input type="text" placeholder="Search..." style="text-align: right;">agar bisa berfungsi. Atau tambahkan important!ke aturan CSS Anda jika Anda menggunakan file eksternal.
— Behdad

Sepertinya masalah yang Anda miliki max_ hanyalah masalah kompatibilitas browser. Ini berfungsi baik di sebagian besar browser utama kecuali Safari.
— Cannicide

7

Elemen placeholder HTML5 dapat ditata untuk browser yang menerima elemen, tetapi dengan cara yang berbeda, seperti yang Anda lihat di sini: http://davidwalsh.name/html5-placeholder-css .

Tapi saya tidak percaya itu text-alignakan ditafsirkan oleh browser. Paling tidak di Chrome, atribut ini diabaikan. Tapi Anda selalu dapat mengubah hal-hal lain, seperti color, font-size, font-familydll saya sarankan Anda memikirkan kembali desain Anda apakah mungkin untuk menghapus perilaku pusat ini.

EDIT

Jika Anda benar-benar ingin teks ini terpusat, Anda selalu dapat menggunakan beberapa kode atau plugin jQuery untuk mensimulasikan perilaku placeholder. Berikut adalah contohnya: http://www.hagenburger.net/BLOG/HTML5-Input-Placeholder-Fix-With-jQuery.html .

Dengan cara ini gaya akan bekerja:

input.placeholder {
    text-align: center;
}

7

Anda dapat membuat seperti ini:

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

Kerjakan Kode Di sini


Hanya ini yang bekerja untuk saya. Mungkin gaya yang ditambahkan dalam HTML diberikan prioritas lebih atau mengesampingkan semua gaya lainnya.
— Gokul

5

Ini berfungsi dengan baik untuk kebutuhan saya, Anda harus memeriksa kompatibilitas untuk browser Anda, saya tidak memiliki masalah karena saya tidak peduli dengan kompatibilitas ke belakang

.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
Bukankah jawaban ini merupakan salinan langsung dari jawaban lain?
— Anwar

3

Anda juga dapat menggunakan cara ini untuk menulis css untuk placeholder

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

2

Anda dapat mencoba seperti ini:

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

Dengan menggunakan cuplikan kode di bawah ini, Anda memilih placeholder di dalam input Anda, dan kode apa pun yang ditempatkan di dalam hanya akan memengaruhi placeholder.

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

Jawaban ini sepertinya tidak menawarkan sesuatu yang berbeda dibandingkan dengan Jawaban yang Diterima .
— Anton Menshov

Jawaban ini memang memberi petunjuk tentang cara mengganti placeholder dari hanya satu elemen spesifik yang bertentangan dengan semua placeholder. Misalnya .foo::-webkit-input-placeholder { … }.
— Henrik N

0

Anda dapat menggunakan set di kelas seperti di bawah ini dan mengatur untuk memasukkan
CSS kelas teks :

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

HTML:

<input type="text" class="place-holder-center">
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.