CSS: ¿Cómo eliminar pseudoelementos (después, antes,...)?
Me gustaría utilizar un modificador para el diseño de etiquetas de párrafo en una página web.
Yo uso el pseudoelemento posterior:
p:after {content: url("../img/paragraph.gif");}
Ahora necesito eliminar este código CSS de la página.
¿Cómo se puede hacer esto fácilmente?
Quiero agregar eso:
jQuery ya se utiliza en la página
y no quiero incluir ni eliminar archivos que contengan CSS.
p:after {
content: none;
}
none es el valor oficial para establecer el contenido, si se especifica, en nada.
http://www.w3schools.com/cssref/pr_gen_content.asp
Debe agregar una regla CSS que elimine el contenido posterior ( a través de una clase ).
Una actualización debido a algunos comentarios válidos.
La forma más correcta de eliminar/deshabilitar completamente la :after
regla es usar
p.no-after:after{content:none;}
como respondió Gillian Lo Wong .
Respuesta original
Debe agregar una regla CSS que elimine el contenido posterior ( a través de una clase ).
p.no-after:after{content:"";}
y agrega esa clase a tu p
cuando quieras con esta línea
$('p').addClass('no-after'); // replace the p selector with what you need...
un ejemplo práctico en: http://www.jsfiddle.net/G2czw/
Como se menciona en la respuesta de Gillian , asignar none
resuelve content
el problema:
p::after {
content: none;
}
Tenga en cuenta que en CSS3 , el W3C recomendó utilizar dos puntos ( ::
) para pseudoelementos como ::before
o ::after
.
Del documento web de MDN sobre pseudoelementos :
Nota: Como regla general,
::
se deben utilizar dos puntos dobles ( ) en lugar de dos puntos simples (:
). Esto distingue las pseudoclases de los pseudoelementos. Sin embargo, dado que esta distinción no estaba presente en versiones anteriores de la especificación W3C, la mayoría de los navegadores admiten ambas sintaxis por razones de compatibilidad. Tenga en cuenta que::selection
siempre debe comenzar con dos puntos dobles (::
).