2013-07-24 34 views
39

Tôi biết rằng đã được yêu cầu trước đó, nhưng tôi thấy không có cách nào sạch của trọng CSS này:Làm cách nào để ghi đè CSS được đặt trên một phần tử giả?

.ui-input-search:after { 
    content: ""; 
    height: 18px; 
    left: 0.3125em; 
    margin-top: -9px; 
    opacity: 0.5; 
    position: absolute; 
    top: 50%; 
    width: 18px; 
} 

tôi cần phải rời khỏi ui-input-search trên yếu tố, nhưng có thể thêm lớp của riêng tôi, như:

.ui-input-search-no-pseudo:after { 
    content: ""; 
} 

Câu hỏi:
Có cách nào dễ dàng để xóa "pseudo-css" mà không phải ghi đè lên dòng CSS không?

Cảm ơn!

Trả lời

78

Theo như tôi có thể nói không có cách nào khác ngoài việc ghi đè lên tất cả các thuộc tính. Các kiểu được định nghĩa trên phần tử, chúng sẽ không biến mất chỉ vì một bộ chọn khác nhắm vào phần tử đó.

Nếu bạn chỉ muốn xóa phần tử giả khỏi trang bạn có thể thực hiện content: none.

+4

'cái nội dung: none' là những gì tôi cần. Hoàn hảo! Cám ơn. – frequent

+30

Sự khác biệt giữa 'nội dung:' ''và' nội dung: none' là 'nội dung:" "' tạo thành phần tử giả không có nội dung (tức là phần tử giả rỗng), trong khi 'nội dung: none' ngăn cản pseudo - không được tạo ra. – BoltClock

+0

@ Nhận xét của BoltClock nên được đưa vào câu trả lời để giải thích. –

3

Ở đây content: ""; không có tác dụng gì cả nếu bạn muốn loại bỏ giả đó bạn phải sử dụng content:none; nó sẽ xóa nội dung giả được thêm trước đó.

Nếu điều đó không giúp bạn cũng có thể thử:

display:none; 
//or 
display:none !important; 

đây đang làm việc jsfiddle

https://jsfiddle.net/ganeshswami99/52duu0x8/1/

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