2012-04-16 12 views
64

He creado algunos elementos DOM bastante elaborados con un: después del pseudo-elemento, y me gustaría poder inspeccionarlos y modificarlos en Chrome Inspector o Firebug o su equivalente.¿Cómo puedo inspeccionar y modificar: antes y después de los pseudo-elementos en el navegador?

A pesar de que esta característica se menciona en this WebKit/Safari blog post (con fecha de 2010), no puedo encontrar esta característica en Chrome ni en Safari. Chrome tiene al menos casillas de verificación para inspeccionar: hover,: visited y: estados activos, pero: before y: after no están visibles.

Además, this blog post (con fecha de 2009!) Menciona que esta capacidad existe en las herramientas de desarrollo IE, pero actualmente estoy usando Mac OS, por lo que esto no es de ninguna ayuda para mí. Además, IE no es un navegador al que me dirijo principalmente.

¿Hay alguna forma de inspeccionar estos pseudo-elementos?

EDITAR: Además de estar equivocado acerca de que Firebug no puede inspeccionar estos elementos, he encontrado que Opera es bastante bueno en Inspección: antes y después de los elementos de fábrica.

+1

con firebug puede inspeccionar el * estilo * de esos pseudoelementos. – fcalderan

+0

@ F. Calderan ¿cómo? ¿Actualiza la página si los modifico? – majackson

+0

sí, puedo cambiar propiedades para pseudoelementos a través de firebug 1.9.1 en Fx11/MacOS – fcalderan

Respuesta

45

En Chrome's Dev tools, los estilos de un pseudo-elemento son visibles en el panel:

De lo contrario, también puede introducir la siguiente línea en la consola JavaScript, e inspeccionar el CSSStyleDeclaration objeto devuelto:

getComputedStyle(document.querySelector('html > body'), ':before'); 
+5

No veo esto. ¿Qué elemento está inspeccionando para ver esto aparecer en el panel? Además, ¿qué versión de Chrome estás usando? – majackson

+0

@majackson Chrome 18.0 Ubuntu 11.10. Inspeccione la 'x' en esta demostración: http://jsfiddle.net/2M6JA/ –

+0

Veo las pseudoclases en su demo, pero no en mi código, lo que me hace sospechar que tengo otro problema diferente. En cualquier caso, es obvio que tienes razón, así que lo marcaré como resuelto, ¡muchas gracias! – majackson

23

A partir de Chrome 31 pseudo elementos muestran en el panel de elementos como elementos secundarios de sus padres como se muestra en la siguiente imagen:

Screenshot

puede seleccionarlos como lo haría un normales elemento pero si elimina el estilo content, el pseudo elemento también se eliminará y el foco de devtools cambiará a su elemento primario.

Parece que los estilos CSS heredados son no visibles y no se puede editar el contenido CSS desde el panel de elementos.

+0

Acabo de tropezar con él y es realmente útil (a excepción de lo que señaló en su último párrafo). Gracias por responder. – bfncs

+1

@boundaryfunctions ¡De nada! Con suerte, el equipo de Devtools verá esto y lo actualizará. –

1

Firefox ha tenido esta característica por un tiempo ahora, simplemente haga clic derecho, "inspeccionar elemento", y ver los elementos antes y después en el panel derecho del inspector.

+0

No veo los pseudo-elementos ': after' y': before' en la herramienta del inspector "native" - ​​alternar los pseudoelementos solo me da 'hover',' active' y 'focus'. Aunque puedo verlos en Firebug. – sameers

+0

@sameers ¿Estás hablando de los botones del menú contextual? Porque: antes y después: después no son algo que cambias allí, siempre deben aparecer en el inspector css. – NoBugs

10

Chrome no se mostrará: antes y después de los pseudo elementos en el árbol DOM, si pierden el atributo "contenido". Debe establecerse, incluso si está configurado en nada.

Esto no se mostrará:

:after { 
    background-color: red; 
} 

mismo se mostrará en el inspector:

:after { 
    content: ""; 
    background-color: red;  
} 

espero que ayude.

+1

¡Fue muy útil! No pude encontrar algunos de mis elementos posteriores y ahora sé por qué. – Arashsoft

+0

Gracias una tonelada, +1 –

3

Después de una gran cantidad de frustración, me di cuenta de que Firefox no muestra los pseudo elementos en la estructura del documento en absoluto, pero si se selecciona el elemento exacta que tiene elemento (s) de pseudo definido, a continuación, los estilos para sus pseudo elemento (s) se muestran en la sección de reglas de estilo en el lado derecho. Esto es cierto tanto para firebug como para la inspección incorporada ("Q"), y estoy sorprendido de que nadie se haya molestado en explicar esto claramente antes.

Claramente, el manejo de pseudo elementos de cromo/cromo es enormemente superior, ya que se pueden seleccionar (tanto en el árbol de documentos como directamente en la página) e inspeccionarse como elementos regulares, con diseño, propiedades y todo lo demás, independiente de su "dueño".

Versiones de navegador que estoy usando actualmente: Chromium 40.0.2214.91, Firefox 31.3.0.

Cuestiones relacionadas