Làm cách nào để xóa đường viền xung quanh một phần trước có thể nội dung được tập trung?


96

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

Cảm ơn

Câu trả lời:


188

Đặt thuộc outlinetính thành 0px solid transparent;. Bạn cũng có thể phải đặt nó ở :focustrạng thái, ví dụ:

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

6
@Christoffer: outlinesẽ không hoạt động trong IE7 trở xuống. Trong những trình duyệt này, bạn cần phải thiết lập các hideFocusthuộc tính của phần tử true, tức là$('#myEl').get().hideFocus = true;
Andy E

13
Để tham khảo:[contenteditable]:focus { outline: 0px solid transparent; }
Alf Eaton

Cảm ơn tất cả. Đã cứu sống ngày. FYI Tôi chỉ nhìn thấy đường viền trên Chrome. Firefox và IE11 không hiển thị nó.
nevf

3
Bạn cũng có thể đơn giản sử dụngoutline: none
Yves M.

Alf, nhận xét của bạn nên được đánh dấu là câu trả lời:>
foreyez

14

Bạn cũng có thể thêm lớp :read-writegiả vào các phần tử kiểu có thể chỉnh sửa được.

Ví dụ ( jsFiddle ) :

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

Đọc thêm ở đây về codrops .

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


Sự khác biệt giữa cái này và .element:focus?
JJJ

1
Nó chỉ áp dụng cho các bộ chọn có thể hài lòng.
morkro

4
Bất kỳ lợi ích nào khi sử dụng nó hơn [contenteditable]:focus?
Joel

thêm: kích hoạt selector pseudo
Walle Cyril
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.