2011-09-29 21 views
81

Các thiết bị iOS thêm rất nhiều kiểu gây phiền nhiễu vào đầu vào biểu mẫu, đặc biệt là trên đầu vào [loại = gửi]. Hiển thị bên dưới là cùng một biểu mẫu tìm kiếm đơn giản trên trình duyệt trên máy tính để bàn và trên iPad.Các lực lượng iOS làm tròn các góc và độ chói trên các đầu vào

Desktop:

Desktop

iPad:

iPad

Các đầu vào [type = text] sử dụng một hình chữ nhật hộp CSS bóng và tôi thậm chí quy định -webkit-border-radius: không ai; mà dường như bị ghi đè. Màu sắc và hình dạng của nút [type = submit] đầu vào của tôi bị bastardized hoàn toàn trên iPad. Có ai biết tôi có thể làm gì để sửa lỗi này không? Cảm ơn trước.

+4

-webkit-xuất hiện: none ; Giúp loại bỏ hầu hết các vấn đề, nhưng nó vẫn không loại bỏ khoảng cách giữa hai phần tử hoặc các góc tròn. Vì vậy, bất kỳ trợ giúp về điều đó sẽ được đánh giá cao. Cảm ơn. – inorganik

+2

Bạn đã chỉ định '-webkit-border-radius: none;' bạn đã chỉ định 'border-radius: none;'? –

+7

Chỉ định '-webkit-appearance: none' và' -webkit-border-radius: 0' đã thực hiện mẹo trên iOS cho tôi! – Primus202

Trả lời

164

Phiên bản tôi đã làm việc là:

input { 
    -webkit-appearance: none; 
} 

Trong một số phiên bản trình duyệt webkit, bạn cũng có thể phải đối mặt với các border-radius vẫn đang được tại chỗ. Thiết lập lại với những điều sau đây:

input { 
    -webkit-border-radius:0; 
    border-radius:0; 
} 

Điều này có thể được mở rộng để áp dụng cho tất cả các webkit kiểu form thành phần như input, select, button hoặc textarea.

Trong tham chiếu đến câu hỏi ban đầu, bạn sẽ không sử dụng giá trị 'none' khi xóa bất kỳ phần tử css dựa trên đơn vị nào. Cũng lưu ý rằng các hộp kiểm ẩn này trong Chrome, vì vậy, có thể sử dụng một cái gì đó như input[type=text] hoặc input:not([type=checkbox]), input:not([type=radio]) thay thế.

+0

Hmm không hoạt động – acctman

+3

-webkit-appearance: none; Ẩn các hộp kiểm trong Chrome - không phải là giải pháp hợp lệ! –

+0

Được đề cập ở trên, cảm ơn – marksyzm

0

có một cái nhìn để normalize.css

Có một bản demo, nơi bạn có thể kiểm tra các yếu tố hình thức và xem cách họ trông giống như trong ios. Có nhiều thuộc tính định hướng webkit.

4

Đối với nút gửi không sử dụng:

<input type="submit" class="yourstylehere" value="submit" /> 

Thay vì sử dụng thẻ nút:

<button type="submit" class="yourstylehere">Submit</button> 

này đã làm việc cho tôi.

+1

FWIW, chỉ có vấn đề này trên một dự án, và iPad 1 Tôi đã thử nghiệm trên cũng được thêm phong cách để '

16

Bạn có thể thoát khỏi một số hình thức hơn webkits, đầu vào vv styling với điều này:

input, textarea, select { 
    -webkit-appearance: none; 
} 
+0

Nó vẫn sẽ cần 'border-radius: 0;' để đặt lại hoàn toàn và không muốn bán kính đường viền. Khác chỉ cần đặt 'border-radius'. – Refilon

0

Đây là những gì tôi sử dụng trong các dự án của tôi

* { 
    -webkit-tap-highlight-color: transparent; 
} 
a, article, div, h1, h2, h3, h4, h5, h6, img, section, span { 
    -moz-user-select: none; 
    -webkit-user-select: none; 
} 
input, select, textarea { 
    -webkit-appearance: none; 
    -webkit-border-radius:0; 
    border-radius: 0; 
} 
Các vấn đề liên quan