CSS - Problema con el pseudo-elemento ::first-letter

 
Vista:
Imágen de perfil de Israel
Val: 66
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por Israel (51 intervenciones) el 08/05/2020 22:19:51
Modifico el aspecto de la primera letra de un párrafo con ayuda de "p::first-letter".

El problema viene cuando intento que esa primera letra tenga por altura el equivalente a 3 líneas del párrafo de modo que dichas líneas se coloquen a su derecha cubriendo exactamente su altura (he adjuntado una imagen para indicar a que me refiero).

He leido que se puede hacer con la declaración "initial-letter:3;" pero no se ejecuta.

Este es mi codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<head>
    <style>
 
        body{
            width: 500px;
            background-color:yellow;
            margin:auto;}
 
        p::first-letter{
            color:red;
            initial-letter:3;}
 
	</style>
<head>
 
<body>
 
	<header>
        <h1>Entendiendo los Pseudo-elementos</h1>
	</header>
 
	<section>
 
        <p>Este texto esta pensado para ver el pseudo-elemento ::first-letter que permite en CSS
        modificar las caracteristicas de la primera letra de un parrafo (normalmente se modifica
        el tamano).</p>
	</section>
 
</body>
 
 
</body>

gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Israel
Val: 66
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por Israel (51 intervenciones) el 09/05/2020 15:32:26
Creo que el problema es que los Navegadores aun no han implementado los cambios para este atributo. Puede que haya que indicar:
-mz- para Firefox, -webkit- para Chrome........

Cómo se hacía eso?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 870
Oro
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por joel (252 intervenciones) el 10/05/2020 08:48:45
Hola Israel, he copiado tu código y ejecutado, y funciona perfectamente!!! la primera letra me la ha puesto en rojo!!!

Que navegador estas utilizando?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Israel
Val: 66
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por Israel (51 intervenciones) el 10/05/2020 10:32:44
Efectivamente el poner el texto en rojo no es problema. El problema viene con la propiedad "initial-letter". Ella está pensada para cambiar el tamaño de esa primera letra hasta hacerla coincidir con el número de líneas que indique su valor.

Es decir, en el ejemplo además de poner la "E" en rojo debería incrementar su tamaño hasta tener una altura de 3 líneas de texto, lo cual no lo hace. Puedes ver el archivo adjunto en mi primer mensaje para saber a q me refiero.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 870
Oro
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por joel (252 intervenciones) el 10/05/2020 11:37:07
Disculpa Israel, no entendi bien...

He mirado , y initial-letter solo esta soportado por safari... https://caniuse.com/#feat=css-initial-letter

En su defecto, puedes utilizar font-size que esta soportado en todos los navegadores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Israel
Val: 66
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por Israel (51 intervenciones) el 10/05/2020 20:33:34
Gracias Joel.

Cierto es que "initial-letter" es nueva en la especificación HTML5 pero también que ya lleva años operando, parece mentira que aún los Navegadores no se hayan actualizado.

No es con la única propiedad que ocurre como ya sabras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 870
Oro
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por joel (252 intervenciones) el 11/05/2020 08:35:12
la verdad es que no se muy bien porque no esta implementado... ni las razones por lo que no lo implementan... si te enteras de algo, ya lo comentaras...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Israel
Val: 66
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por Israel (51 intervenciones) el 11/05/2020 20:10:17
Hola Joel,

La verdad que me llama la atención que los Navegadores no hayan implementado varias de las novedades de HTML5 y CSS3. No me explico cómo empresas de tanto prestigio como Apple y Google no tengan actualizados sus Navegadores. HTML5 y CSS3 ya aparecieron hace años.

Entiendo que crear un Navegador no reporta beneficio económico pero, muchos diseñadores Web son clientes potenciales de por ejemplo Apple.

Es algo que no puedo comprender.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 870
Oro
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por joel (252 intervenciones) el 12/05/2020 08:09:02
Yo creo que el problema esta en que no creen que sea necesario implementarlo, ya que a mi modo de ver, no es necesaria, ya que se puede utilizar ::first-letter por lo que initial-letter pierde todo su sentido.

Se podría decir, que las dos sirven para lo mismo!!! ... porque tener dos comandos que hacen lo mismo??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Israel
Val: 66
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por Israel (51 intervenciones) el 12/05/2020 10:37:27
No es cierto ni son lo mismo ni hacen lo mismo:

1) ::first-letter es un pseudo-elemento de CSS por lo que sirve para identificar la primera letra de una etiqueta como puede ser pej. de un <h1> o un <p>. Luego hay que indicar las propiedades para dar formato como puede ser "color", "background-color", "font-size"..

2) "initial-letter" es una propiedad CSS, por lo que se coloca dentro del bloque de declaraciones de cualquier etiqueta, no antes como en el caso de los pseudo-elementos. Además, ello cambia únicamente una caracteristica del formato: el tamano, y ademas lo hace de una manera muy concreta, por lo que dista de parecerse a "font-size". Tiene como valor un número que indica cuanto ha de agrandarse esa primera letra para quese equipare, en altura, al numero de lineas del texto. Es más, no solo eso, si no que esa primera letra se coloca pararela a las lineas, no por encima de ellas como hace "font-size".

Comentaste en un mensaje anterior que seríá igual que usar la propiedad "font-size" nada que ver. Para conseguir el mismo efecto que con "initial-letter" habria que:

a) Indicar un "font-size" de una altura igual al numero de lineas a que nos queremos referir. Así que ya habria que estar probando tamanos....

b) Aplicar a esa primera letra (a traves de ::first-letter) un: float:left.

c) Indicar un: margin-top para poner la primera letra paralela al numero de lineas que nos interesa.

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de joel
Val: 870
Oro
Ha mantenido su posición en CSS (en relación al último mes)
Gráfica de CSS

Problema con el pseudo-elemento ::first-letter

Publicado por joel (252 intervenciones) el 12/05/2020 14:20:32
Si, si, tienes toda la razón... solo intentaba encontrar una explicación...

Por alguna razón en Google, Microsoft y Mozilla no piensan como tu y no lo implementan... si encuentras el porque ya nos explicaras...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar