Estoy haciendo una firma de correo electrónico HTML con CSS en línea (es decir, en CSS styleatributos), y estoy curioso en cuanto a si es posible utilizar las :beforey :afterlos pseudo-elementos.
Si es así, ¿cómo implementaría algo como esto con CSS en línea?
td { text-align: justify; }
td:after { content: ""; display: inline-block; width: 100%; }

Respuestas:
No puede especificar estilos en línea para pseudoelementos.
Esto se debe a que los pseudoelementos, como las pseudo-clases (vea mi respuesta a esta otra pregunta ), se definen en CSS utilizando selectores como abstracciones del árbol de documentos que no se pueden expresar en HTML. Un
styleatributo en línea , por otro lado, se especifica dentro de HTML para un elemento en particular.Dado que los estilos en línea solo pueden aparecer en HTML, solo se aplicarán al elemento HTML en el que están definidos, y no a ningún pseudoelemento que genere.
Por otro lado, la principal diferencia entre pseudo-elementos y pseudo-clases en este aspecto es que las propiedades que se heredan por defecto serán heredadas por
:beforey:afterdesde el elemento generador, mientras que los estilos de pseudo-clase simplemente no se aplican en absoluto. En su caso, por ejemplo, si colocatext-align: justifyun atributo de estilo en línea para untdelemento, será heredado portd:after. La advertencia es que no puede declarartd:aftercon el atributo de estilo en línea; debes hacerlo en la hoja de estilo.fuente
como se mencionó anteriormente: no es posible llamar a una pseudo-clase / -elemento css en línea. lo que hice ahora es: darle a su elemento un identificador único, f.ex. una identificación o una clase única. y escribir un
<style>elemento apropiadofugly, pero ¿qué css en línea no es ...?
fuente
scopedestilos y:rootde clase pseudo (esto es genial):<article><style scoped>:root:before { content: "*";}</style><!-- something --></article>.:scopepseudo-clase:<article><style scoped>:scope:before { content: "*";}</style><!-- something --></article>scopeactual ( estilos d) y la especificación CSS (:scope) . Debería haber sido más claro.Puedes usar los datos en línea
fuente
data-contentatributo comocontentpara un pseudo-elemento. No tiene nada que ver con la creación de pseudoelementos con CSS en línea.No, no puede apuntar a las pseudo-clases o pseudo-elementos en inline-css como dijo David Thomas . Para más detalles vea esta respuesta de BoltClock sobre Pseudo-clases
También podemos escribir uso igual para los pseudoelementos
fuente
No puede crear pseudo elementos en CSS en línea.
Sin embargo, si puede crear un pseudo elemento en una hoja de estilo, entonces hay una manera de darle estilo en línea estableciendo un estilo en línea en su elemento padre, y luego usando la palabra clave heredar para dar estilo al pseudo elemento, de esta manera:
a veces esto puede ser útil.
fuente
Sí, es posible , solo agregue estilos en línea para el elemento que agrega después o antes, Ejemplo
fuente
::aftery los::beforepseudoelementos necesitan locontent: valuecontrario, lo que por defectocontent:noneresulta en básicamente nada.Como se mencionó anteriormente, no puede usar elementos en línea para diseñar pseudo clases . Las pseudo clases anteriores y posteriores son estados de elementos, no elementos reales. Es posible que solo puedas usar JavaScript para esto.
fuente
Si tiene control sobre el HTML, entonces podría agregar un elemento real en lugar de un pseudo uno. : before y: after los pseudo elementos se representan justo después de la etiqueta abierta o justo antes de la etiqueta cerrada. El equivalente en línea para este CSS
Sería algo como esto:
Tenga en cuenta; Sus elementos "reales" de antes y después y cualquier cosa con CSS en línea aumentará en gran medida el tamaño de sus páginas e ignorará las optimizaciones de carga de página que los CSS externos y los pseudoelementos hacen posible.
fuente
puedes usar
en css
fuente