2010-02-14 36 views
73

Khi tôi đặt phần tử trước thành nội dung có thể chỉnh sửa được và đặt trọng tâm vào đó để chỉnh sửa, nó sẽ nhận được đường viền chấm xung quanh nó trông không đẹp lắm. Đường viền không có ở đó khi tiêu điểm ở đâu đó khác.
Làm cách nào để xóa đường viền đó?Làm cách nào để xóa đường viền xung quanh nội dung tập trung có thể chỉnh sửa trước được?

Cảm ơn

Trả lời

125

Đặt outline property để 0px solid transparent;. Bạn có thể phải cài đặt nó về tình trạng :focus là tốt, ví dụ:

[contenteditable]:focus { 
    outline: 0px solid transparent; 
} 
+2

Điều đó đã làm điều đó, cảm ơn! – Christoffer

+6

@Christoffer: 'outline' sẽ không hoạt động trong IE7 trở xuống. Trong các trình duyệt này, bạn cần đặt thuộc tính 'hideFocus' của phần tử thành' true', tức là '$ ('# myEl'). Get(). HideFocus = true;' –

+13

Để tham khảo: '[contenteditable]: focus {outline: 0px rắn trong suốt; } ' –

9

Bạn cũng có thể thêm các :read-write pseudo-class đến các yếu tố phong cách có thể chỉnh sửa.

Ví dụ (jsFiddle):

.element:read-write:focus { 
    outline: none; 
} 

Read more here on codrops.

Bộ chọn giả lớp được hỗ trợ trong Chrome, Safari và Opera 14+ và trên iOS. Nó được hỗ trợ với tiền tố -moz- trong Firefox ở dạng :-moz-read-write. Bộ chọn :read-write không được hỗ trợ trong Internet Explorer và trên Android.

+0

Sự khác nhau giữa điều này và' .element: focus' là gì? – JJJ

+1

Nó chỉ áp dụng cho các bộ chọn có thể chấp nhận được. – morkro

+3

Bất kỳ lợi ích nào sử dụng nó trên '[contenteditable]: focus'? – Joel

Các vấn đề liên quan