Foros del Web » Creando para Internet » CSS »

por que tanta especificación?

Estas en el tema de por que tanta especificación? en el foro de CSS en Foros del Web. #contenido .post .posteadopor .autor {width: 620px;} por que no simplemente poner .autor {width: 620px;} :S me ayudan a entender? Gracias....
  #1 (permalink)  
Antiguo 05/10/2012, 20:12
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 7
por que tanta especificación?

#contenido .post .posteadopor .autor {width: 620px;}

por que no simplemente poner .autor {width: 620px;}


:S me ayudan a entender? Gracias.
  #2 (permalink)  
Antiguo 05/10/2012, 20:48
Avatar de flashmax  
Fecha de Ingreso: julio-2012
Ubicación: Bs.As. Argentina
Mensajes: 507
Antigüedad: 11 años, 9 meses
Puntos: 86
Respuesta: por que tanta especificación?

son clases CSS concatenadas es para asignarle a todos el valor width: 620px;
si no seria:
.autor {width: 620px;}
.posteadopor {width: 620px;}
.post {width: 620px;}
#contenido {width: 620px;}
__________________
Saludos!
----------------------------------------------------------
  #3 (permalink)  
Antiguo 05/10/2012, 20:53
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: por que tanta especificación?

Cita:
Iniciado por flashmax Ver Mensaje
son clases CSS concatenadas es para asignarle a todos el valor width: 620px;
si no seria:
.autor {width: 620px;}
.posteadopor {width: 620px;}
.post {width: 620px;}
#contenido {width: 620px;}
si no llevan la coma no son concatenarias.

que sería algo asi:

.clase, .clase2, .clase3

en realidad el código de rich boy dice

la clase .author dentro de .posteadopor dentro de .post dentro de #contenido tiene un ancho de 620px, generalmente esto se hace por si hay una clase author fuera de esto y no se quiere que afecte a esas clases. y se cumple solo si esta dentro de todo ese arbol

es como ul li a jaja

pero esto es una exageración, y obviamente está mal hecho.
  #4 (permalink)  
Antiguo 05/10/2012, 21:39
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: por que tanta especificación?

Aquí te vas a encontrar con las más variopintas respuestas.

Es todo muy relativo. Todo depende de todo y en el fondo da igual.
Si escribimos selectores eficientes, ayudamos al navegador a encontrar los elementos de una forma más rápida. Y los navegadores parecen ser un tanto árabes, ya que leen de izquierda a derecha. En tu ejemplo, buscará todas las clases autor primero, luego las que sean hijos de posteadopor que a la vez lo sean de post, y finalmente pertenezcan al ID contenido.
En tal caso, sería más eficiente, ya que ID sólo puede haber uno, indicar #contenido .autor. ¿Lo sería? De igual forma tendría que buscar primero todas las clases autor. Aunque se ahorraría buscar esas dos jerarquías extra.

Pero creo que daría bastante igual, porque los tiempos de respuesta, a menos que tengas una estructura que contenga miles y miles de elementos, la diferencia de velocidad no la vas a notar.

En todo caso, supongo que para el navegador le costaría menos trabajo algo del tipo #contenido p.autor. Pero ya te digo que en este sentido, da bastante igual. Porque de muy poco a muy poquito, va poquísima diferencia.

En este sentido, pienso que no hay que tener en cuenta al navegador.

Así que nos queda... ¡Nosotros mismos! Porque al usuario sí que poco le va a importar. En tu ejemplo yo me quedaría con #contenido p.autor —donde p es el elemento que sea— porque me resultaría más fácil de entender a la hora de editar. Además, cuanto más código, más meteduras de pata. No digo que haya que simplificar al máximo, de hecho digo justo lo contrario, que no hay que indicar burradas del tipo html body nav#miMenu>ul li.item a:link...
__________________
(:
  #5 (permalink)  
Antiguo 05/10/2012, 22:19
Avatar de RichBoy  
Fecha de Ingreso: agosto-2010
Mensajes: 177
Antigüedad: 13 años, 8 meses
Puntos: 7
Respuesta: por que tanta especificación?

Ahora entiendo por que tanta especificación XD. Muchas Gracias.
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 18:17.