Hapus textarea inner shadow di Mobile Safari (iPhone)


152

Secara default, tampaknya Mobile Safari menambahkan bayangan bagian dalam atas ke semua bidang input, termasuk textarea. Apakah ada cara untuk menghapusnya?

Ini terutama jelek ketika Anda memiliki latar belakang putih.

Jawaban:


340

Dengan menambahkan gaya css ini:

-webkit-appearance: none;

26
hati-hati saat menambahkan properti ini pada kotak centang tipe input dan pemilih tombol radio, karena menyembunyikan kotak centang dan tombol radio;)
Zain Shaikh

14
Terima kasih atas jawabannya Lyon. Btw, cara terbaik untuk menggunakannya adalah hanya menerapkannya textarea, input[type="text"], input[type="submit"].
jgthms

8
Jangan lupa input[type="password"]juga.
Nick Pyett

7
Jangan lupa [type="email"]juga!
Willster

35
Mungkin lebih mudah menggunakan operator yang tidak bergantung pada tipe input apa yang Anda gunakan:input:not([type=checkbox]):not([type=radio])
Justin Fisher

30

Sambil menambahkan gaya CSS

-webkit-appearance: none;

akan bekerja, itu menghilangkan segalanya. Anda mungkin ingin mencoba ini sebagai gantinya:

box-shadow: none !important;

Dengan cara ini Anda menjaga panah bawah.


6
Hanya menambahkan properti bayangan kotak tidak bekerja. Bayangan batin masih muncul di Safari di iOS.
silentmouth

22

Ini solusi mudahnya

input[type=text] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

9

Kadang-kadang Anda dapat memiliki stylesheet di sana appearance: none;sehingga cara untuk memperbaikinya ketika itu terjadi adalah dengan menggunakancaret . Cara terbaik adalah menulis ulang kode Anda dan mencari tahu bagian mana dari kode Anda di sananone

Sebelum menggunakan caretAnda perlu tahu bahwa itu bisa membuat Anda kesulitan dengan gaya lain

-webkit-appearance: caret;
   -moz-appearance: caret;
     -o-appearance: caret;
        appearance: caret;

CATATAN: Gunakan none, caretbukan yang optimal.



-31

Pengaturan salah satu backgrounddan borderproperti css dariinput tag juga tampaknya berfungsi.

Coba ini:

<style>
input {
    background: #ccc;
    border: none;
}
</style>

<form>
First name: <input type="text"/><br />
Last name: <input type="text" />
</form>

9
Tidak benar dan menyesatkan. Silakan uji kode Anda pada perangkat yang tepat sebelum memposting ...
Ariel

Jawaban yang benar-benar salah, tidak ada yang ditanyakan oleh OP
Jacta
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.