CSS: Làm thế nào để loại bỏ các yếu tố giả (sau, trước, trước)?


235

Tôi muốn sử dụng một công tắc để bố trí các thẻ đoạn trên một trang web.

Tôi sử dụng giả sau:

p:after {content: url("../img/paragraph.gif");}

Bây giờ tôi cần xóa mã CSS này khỏi trang.

Làm thế nào điều này có thể được thực hiện dễ dàng?

Tôi muốn thêm rằng:

  • jQuery đã được sử dụng trên trang

  • và tôi không muốn bao gồm hoặc xóa các tệp có chứa CSS.


Câu trả lời:


454
p:after {
   content: none;
}

không có giá trị chính thức để đặt nội dung, nếu được chỉ định, thành không có gì.

http://www.w3schools.com/cssref/pr_gen_content.asp


2
Điều này có thực sự xóa bỏ các phong cách liên quan đến nội dung khác hay không, do đó ngay cả khi bạn có phần đệm và lề đặt chúng trở nên trơ?
Ryan Williams

Đây phải là câu trả lời được chấp nhận. Sử dụng nội dung: ''; có thể dẫn đến kết quả không mong muốn khi cố gắng ghi đè thuộc tính nội dung được đặt trước đó.
Roy Milder

Bạn không thể làm gì display: none?
MDTech.us_MAN

@ MDTech.us_MAN có, bạn có thể thực hiện "display: none", nhưng nó vẫn sẽ được giữ lại trong cây DOM. Cài đặt nội dung: không ai thậm chí không đặt nó vào cây DOM (bạn có thể kiểm tra thông qua trình kiểm tra DOM của Chrome)
kumarharsh

29

Bạn cần thêm quy tắc css để loại bỏ nội dung sau ( thông qua một lớp ) ..


Một bản cập nhật do một số ý kiến ​​hợp lệ.

Cách chính xác hơn để loại bỏ / vô hiệu hóa hoàn toàn :afterquy tắc là sử dụng

p.no-after:after{content:none;}

như Gillian Lo Wong đã trả lời .


Câu trả lời gốc

Bạn cần thêm quy tắc css để loại bỏ nội dung sau ( thông qua một lớp ) ..

p.no-after:after{content:"";}

và thêm lớp đó vào của bạn pkhi bạn muốn với dòng này

$('p').addClass('no-after'); // replace the p selector with what you need...

một ví dụ hoạt động tại: http://www.jsfiddle.net/G2czw/



8

Như đã đề cập trong câu trả lời của Gillian , gán noneđể contentgiải quyết vấn đề:

p::after {
   content: none;
}

Lưu ý rằng trong CSS3 , W3C khuyến nghị sử dụng hai dấu hai chấm ( ::) cho các phần tử giả như trước hoặc sau .

Từ tài liệu web MDN về các yếu tố giả

Lưu ý: Theo quy định, ::nên sử dụng dấu hai chấm ( ) thay vì dấu hai chấm đơn ( :). Điều này phân biệt các lớp giả với các phần tử giả. Tuy nhiên, do sự khác biệt này không có trong các phiên bản cũ hơn của thông số W3C, nên hầu hết các trình duyệt đều hỗ trợ cả hai cú pháp vì mục đích tương thích. Lưu ý rằng ::selectionphải luôn bắt đầu bằng dấu hai chấm ( ::).


5

Điều này phụ thuộc vào những gì thực sự được thêm vào bởi các giả hành. Trong tình huống của bạn, cài đặt nội dung ""sẽ loại bỏ nội dung đó, nhưng nếu bạn đang đặt đường viền hoặc hình nền hoặc bất cứ điều gì, bạn cần loại bỏ những nội dung đó một cách cụ thể. Theo như tôi biết, không có ai chữa khỏi tất cả mọi thứ về một yếu tố trước / sau bất kể đó là gì.


0

có một vấn đề tương tự vài phút trước và chỉ content:none;không làm việc mà thêm content:none !important;display:none !important;làm việc cho tôi


-3
p:after {
  content: none;
}

Đây là một cách để loại bỏ :aftervà bạn có thể làm tương tự cho:before


1
Câu trả lời này dường như nhắc lại giải pháp tương tự như giải pháp hiện đang được chấp nhận từ vài năm trước. Nếu bạn cảm thấy bạn có một cái gì đó để thêm, xin vui lòng để lại như là một nhận xét về câu trả lời ban đầu. Ngoài ra, nếu bạn có một giải pháp khác, vui lòng giải thích tại sao nó khác (và có thể tốt hơn).
MTCoster
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.