2013-01-10 31 views
5

Tôi có một trang đăng nhập với hai trường nhập. Trong Chrome, Firefox và IE10, chúng trông tuyệt vời, nhưng trong IE 7, 8, 9, chúng quá mỏng. Đây là HTML và lớp cho các trường.Làm cách nào để làm cho các trường nhập của tôi giống nhau trên các trình duyệt?

HTML:

<div class="login-input"> 
<input data-val="true" data-val-required="Username is required." id="Username" name="Username" type="text" value=""> 
</div> 

CSS:

.login-input input 
{ 
width: 250px; 
height: 14px; 
} 

Đây là cách nó hiển thị trong Chrome, Firefox, IE10 (đúng nhìn) http://i.imgur.com/6swf7.png

Đây là cách có vẻ trong IE 7, 8, 9 (giao diện không chính xác) http://i.imgur.com/ltzdG.png

Cảm ơn!

+1

Tôi gặp vấn đề tương tự trên trang web của mình. Tôi đã giải quyết nó bằng cách tải một biểu định kiểu khác cho IE. Xem http://stackoverflow.com/questions/3541982/apply-css-rules-if-browser-is-ie – Bart

+1

thử đặt giá trị đệm. – dezman

+0

đặt lại các tệp css đôi khi được sử dụng để có điểm "bắt đầu nhất quán" làm cơ sở giống nhau - ví dụ: mặc định cho 1em có thể thay đổi từ trình duyệt đến trình duyệt. –

Trả lời

1

Bạn đã thử đặt giá trị cho đệm?

+0

Tôi vừa xóa thuộc tính chiều cao và thêm phần đệm vào đầu và cuối của trường nhập và có vẻ tốt hơn nhiều. Cảm ơn! – Jonathan

1

bạn có thể thử box-sizing đến border-box, nhưng có no support cho ie7 cho điều đó.

input { 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -ms-box-sizing: border-box; 
    box-sizing: border-box; 
} 
0

Sử dụng chiều cao dòng ngoài chiều cao.

.login-input input 
{ 
    width: 250px; 
    height: 14px; 
    line-height: 14px; 
}