Foros del Web » Creando para Internet » CSS »

Diferencia entre pseudo-elemento y pseudo-clase

Estas en el tema de Diferencia entre pseudo-elemento y pseudo-clase en el foro de CSS en Foros del Web. Hola buenas, Pues esa es mi pregunta,que diferencia hay entre estos dos terminos?? Un Saludo y gracias de antemano!!...
  #1 (permalink)  
Antiguo 29/09/2006, 17:35
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 2 meses
Puntos: 2
Diferencia entre pseudo-elemento y pseudo-clase

Hola buenas,

Pues esa es mi pregunta,que diferencia hay entre estos dos terminos??

Un Saludo y gracias de antemano!!
  #2 (permalink)  
Antiguo 29/09/2006, 18:16
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 2 meses
Puntos: 2
Buenas de nuevo,

Se me olvidava,el simbolo > que significa en css??

Un Saludo y gracia de nuevo!
  #3 (permalink)  
Antiguo 29/09/2006, 19:04
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
>:
Cita:
5.6 Selectores de hijos
Un selector de hijo equivale cuando un elemento es el hijo de algún elemento. Un selector de hijo se compone de dos o más selectores separados por ">".

Ejemplo(s):

La siguiente regla asigna el estilo de todos los elementos P que son hijos de BODY:

BODY > P { line-height: 1.3 }

Ejemplo(s):

El siguiente ejemplo combina selectores de descendientes con selectores de hijos:

DIV OL>LI P

Equivale a un elemento P que es descendiente de un LI; el elemento LI debe ser hijo de un elemento OL; el elemento OL debe ser descendiente de un DIV. Observe que el espacio en blanco opcional alrededor del combinador ">" ha sido descartado.

Por información acerca de la selección del primer hijo de un elemento, por favor, ver la sección acerca de la pseudo-clase :first-child abajo.
A primera vista es igual:
div p
a div > p
la diferencia es que la 2a el p debe ser directamente después de div, y la primera con que suceda después.

Última edición por Rafael; 29/09/2006 a las 19:16
  #4 (permalink)  
Antiguo 29/09/2006, 19:10
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Cita:
Los pseudo-elementos crean abstracciones acerca de la estructura del documento más allá de aquellas especificadas por el lenguaje del documento. Por ejemplo, los lenguajes de documento no ofrecen mecanismos para acceder a la primera letra o a la primera línea del contenido de un elemento. Los pseudo-elementos de CSS permiten a los diseñadores de hojas de estilo referirse a esta información inaccesible por otros medios. Los pseudo-elementos también pueden proporcionar a los diseñadores de hojas de estilo un modo de asignar estilos a un elemento que no existe en el documento fuente (ej., los pseudo-elementos :before y :after permite acceder al contenido generado).
Las pseudo-clases clasifican a los elementos basado en características más allá de su nombre, atributos o contenido; en principio, atributos que no pueden deducirse de la estructura del documento. Las pseudo-clases pueden ser dinámicas, en el sentido de que un elemento puede adquirir o perder una pseudo-clase a medida que el usuario interactúa con el documento. La excepción es ':first-child', que puede deducirse de la estructura del documento.
Un ejemplo de Pseudo-elemento es first-line, puedes usar esto por ejemplo para darle sangrado a un párrafo.
Un ejemplo Pseudo-class es hover. No depende del documento tener un estado hover, sino de lo que está haciendo el usuario.
  #5 (permalink)  
Antiguo 30/09/2006, 12:29
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola buenas,

Muchas gracias por la ayuda entendi todo a la perfeccion,solo un par de dudas mas,una a el selector de hijos:

-Si por ejemplo tengo una estructura del documento que contiene un body,ese body contiene tres elementos div y a su vez contienen dos elementos p cada uno,uno de los elementos p contiene a su vez un elemento p.Mi pregunta es,si se utiliza div p se le adjudicaria los estilos a todos los parrafos? y si se utiliza div>p solo cambiarian de estilo los primeros parrafos dentro de las etiquetas div,no?


La otra duda es la siguiente,como puedo saber si es una pseudoclase o un pseudoelemento sin saber que realizan los dichos?

Un Saludo y muchas gracias por responder!
  #6 (permalink)  
Antiguo 30/09/2006, 13:22
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Buenas preguntas, da gusto que pones atención a esa parte teórica.
Tu primer afirmación es correcta, pero habrá que verlo implementado en los navegadores. Hice tu ejemplo.

Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

<html>
<head><title>Untitled</title>
<style>
div p {color: red;}
div>p {background-color: black;}
</style>
</head>
<body>
<div>
<p>Hola<p>Adios</p></p>
</div>
</body>
</html>
En Ie no se vé el fondo negro, y en Mozilla no se respeta que solo sea el hijo.
Como verás no está bien implementada esta sintáxis.

Ahora ve esta:

Cita:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">

<html>
<head>
<title>Untitled</title>
<style>
div p {color: red;}
div > P:first-child {background-color: black;}
</style>
</head>

<body>

<div>
<p>Hola<p>Adios</p></p>

</div>

</body>
</html>
first-child si está implementada en mozilla

Va a ser mejor que uses classes e Id, en vez de pseudoelementos. Los únicos quizá son los hover de las <a>
  #7 (permalink)  
Antiguo 30/09/2006, 13:25
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Para saber cual es cual puedes revisar la especificación 2 en español:

http://www.sidar.org/recur/desdi/tra...css/cover.html

y en Inglés la 2.1
http://www.w3.org/TR/CSS21/

Capítulo 5
  #8 (permalink)  
Antiguo 30/09/2006, 17:27
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola buenas,

Bueno,he comprovado lo que decias por mi mismo y lo he entendido bien.

Eso que dices de que mejor utilize Clases e Id en vez de pseudoelementos,me lo dices expresamente a mi para que me sea mas facil? o es una regla para todos?

Los links que me has pasado me lo guardo y mañana me lo leo y te digo que tal..

Un Saludo!!
  #9 (permalink)  
Antiguo 30/09/2006, 17:29
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 2 meses
Puntos: 2
Buenas de nuevo,

Se me olvidava una cosa,no tengo aun muy clara la diferencia de Clase e Id,ya que las dos hacen lo mismo mas o menos no?se pueden indicar en un elemento como class="" o como id="",por tanto que tienen de diferente entre ellas?

Un Saludo y gracias de nuevo!
  #10 (permalink)  
Antiguo 03/10/2006, 01:25
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Cita:
Eso que dices de que mejor utilize Clases e Id en vez de pseudoelementos,me lo dices expresamente a mi para que me sea mas facil? o es una regla para todos?
Yo diría que para todos. Las unicas pseudoclases que recomiendo son el hover y esas cosas para <a>. Tal vez algún first:line para un sangrado bonito en mozilla y tal vez un first:child, igual, sólo mozilla.

La diferencia entre class e id es que class puedes repetirlo muchas veces, el Id lo puedes usar SOLO una vez.

ID="TuCredencial" de estudiante te identifica solo a TI. y un class puede ser simplemente Class="Estudiante". Estudiantes muchos.

Es un ID por página. Si puedes repetir un ID en páginas diferentes.
  #11 (permalink)  
Antiguo 03/10/2006, 11:32
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola muy buenas,

Pues ahora si que si,todo clarito.

Muchas gracias por hecharme una mano a todos los que contestaron.

Un Saludo!!
  #12 (permalink)  
Antiguo 03/10/2006, 14:59
Avatar de Rafael
Modegráfico
 
Fecha de Ingreso: marzo-2003
Mensajes: 9.028
Antigüedad: 21 años, 1 mes
Puntos: 1826
Ha sido un placer responder este post. Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:06.