2008-11-16 22 views
7

Tôi có câu hỏi về hành vi gửi của trình khám phá internet. Nếu tôi tải trang tất cả mọi thứ là tốt - nút gửi trông như nó cần.Kiểu nút gửi trong IE

Inactive state http://img58.imageshack.us/img58/7214/inactiveci9.jpg

Nhưng nếu tôi bấm bên trong FORM, nút gửi được một số phong cách bổ sung mà tôi không thích (xem hình để biết thêm thông tin).

Active state http://img238.imageshack.us/img238/5282/activeyi0.jpg

Làm cách nào để tắt hành vi này. Tôi đang sử dụng IE7 trong Vista.

Trả lời

5

CSS:

input:focus, 
input:active, 
input:hover 
{ 
    outline: none; 
    border: 1px solid; 
} 

Không bảo lãnh, nhưng đó là phải để ngăn chặn IE là ngu ngốc.

Bạn nên mở rộng kiểu trên một chút, ví dụ: thay đổi màu nền hoặc màu đường viền để đưa ra thay đổi thay thế cho biết tiêu điểm.

(nhấn tab, bạn sẽ thấy nó di chuyển;), kiểu bổ sung là chỉ báo cho biết hành động sẽ được thực hiện khi nhấn ENTER)

+2

Tại sao IE là ngu ngốc? Nó chỉ tuân theo quy ước giao diện người dùng Windows chuẩn. –

+1

@John, yay, nhưng cái nào đến trước, W3C hoặc cửa sổ? –

+3

@Kent - W3C chỉ định nút gửi trông như thế nào? –

2

Tôi đã gặp phải hành vi tương tự trong IE. Theo như tôi biết, cách duy nhất để ngăn chặn hành vi đó là thiết lập thuộc tính border của nút thành none - không lý tưởng vì điều đó rõ ràng tác động đến kiểu nút của bạn.

1

Đây chỉ là hành vi tiêu chuẩn của Windows, trong đó nút mặc định — tức là nút được nhấp nếu bạn nhấn Enter — có đường viền hơi dày hơn.

5

Điều này cho biết nút đó được lấy nét. Nó là cần thiết cho điều hướng bàn phím. Bạn không nên xóa nó.

Nếu bạn đánh giá cao vẻ ngoài của thiết kế của bạn trên khả năng sử dụng và khả năng truy cập, hãy thử thuộc tính hideFocus (ít nhất nó không độc hại như blur()).