¿Puedo usar css3 no selector con pseudo clase?


test test

No está funcionando como se esperaba ya que todas las letras del párrafo deben estar en negro, excepto primero.

0
p: not (...) filtra todos los elementos p que coinciden con ... . Ningún elemento p coincide con p: first-letter . Además, : not() no acepta pseudo-elementos, por lo que esto no funcionará en primer lugar.
agregado el autor Blender, fuente
Para que quede claro, : first-letter es un pseudo-elemento, no una pseudo-clase como dices.
agregado el autor BoltClock, fuente

3 Respuestas

El selector CSS no solo toma selectores simples como parámetro.

Un selector simple es: un solo elemento, selector de atributos, clase, id o clase pseude.

Ejemplos de selectores simples:

body
*
[value="foo"]
.foo
#foo
:hover
0
agregado

No. el pseudo-elemento first-letter no es parte de la colección devuelta por el selector p . No puedes excluirlo entonces. ¿Por qué no solo usas:


test test

Por cierto, esta no es una buena práctica en absoluto. Debes usar una clase en tu elemento p y estilo a través de css. No es necesario generar CSS dinámicamente para eso.


test test
0
agregado
El asker no puede menospreciar, por lo que fue otra persona quien lo hizo. No estoy seguro por qué, porque la respuesta es correcta.
agregado el autor BoltClock, fuente
Quiero agregar color en el atributo de estilo porque el color es de la base de datos y no puedo hacer que CSS sea dinámico.
agregado el autor gaurav, fuente
@ ArmelLarcier es correcto. +1 de mi parte
agregado el autor Hiral, fuente
-1? ¿por qué? ¿cualquier comentario?
agregado el autor Armel Larcier, fuente
entonces -1 ... Genial ... Primero, el CSS en línea es "malo". Deberías usar una clase. Segundo, mi solución funciona. Solo estoy tratando de ayudarte, hombre.
agregado el autor Armel Larcier, fuente
Ver editar. Y elimina este -1!
agregado el autor Armel Larcier, fuente
Oh! No lo sabía Gracias por el consejo. @gaurav ¡no importa! Poniéndose más fresco ahora ;-)
agregado el autor Armel Larcier, fuente

La pseudoclase de negación de CSS, : no (X) , es una notación funcional   tomando un selector simple X como argumento. Coincide con un elemento que   no está representado por el argumento. X no debe contener otro   selector de negación, o cualquier pseudo-elemento.

That means you cant use ::first-letter as an argument of :not(), because it's a pseudo-element.

Prueba al revés:

http://jsfiddle.net/YET8v/1/

HTML:


Test test

CSS:

p {
    color: #000;
}

p::first-letter {
    color: blue;
}
0
agregado