Foros del Web » Creando para Internet » CSS »

50% de selectores eficientes de css

Estas en el tema de 50% de selectores eficientes de css en el foro de CSS en Foros del Web. Hola a todos según un análisis que hice tengo un 50% de selectores ineficientes en mi hoja de estilo y la verdad es que me ...
  #1 (permalink)  
Antiguo 31/03/2012, 21:25
 
Fecha de Ingreso: marzo-2012
Mensajes: 51
Antigüedad: 12 años, 8 meses
Puntos: 5
50% de selectores eficientes de css

Hola a todos según un análisis que hice tengo un 50% de selectores ineficientes en mi hoja de estilo y la verdad es que me gustaría arreglar esto con la ayuda de ustedes que son los que saben. Les dejo la hoja de estilo y espero que puedan ayudarme a mejorar mi hoja de estilo marcándome los cambios que debería hacer ya que intente hacerlo automáticamente pero me hace desastres visuales.

http://paste2.org/p/1962355

Desde ya agradezco mucho su ayuda. Saludos a todos!!!
  #2 (permalink)  
Antiguo 01/04/2012, 00:35
 
Fecha de Ingreso: marzo-2012
Mensajes: 51
Antigüedad: 12 años, 8 meses
Puntos: 5
Respuesta: 50% de selectores eficientes de css

Parece que a alguien le molesta que una persona no sepa y pida ayuda lo digo por aquel que me dio un voto negativo, no entiendo como puede considerar negativo el hecho de pedir ayuda, ¿será que se cree superior a los demás? quizás lo sea o no pero aún así de alguien aprendió lo que sabe y no creo que le hubiese gustado en sus inicios que fueran despectivos hacia sus consultas o solicitudes de ayuda. Me molestan bastantes los omnipotentes y es por esto que me veo en la obligación de responder a su acción.
  #3 (permalink)  
Antiguo 01/04/2012, 09:58
Avatar de ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 2 meses
Puntos: 187
Respuesta: 50% de selectores eficientes de css

Vamos por parte, en tu hoja de estilo hay una especie de "reset.css" los selectores de este tipo suelen ser ineficientes porque suelen estar dirigidos a todos los elementos de un documento, por ejemplo:
Código CSS:
Ver original
  1. html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td {
  2. background:transparent;
  3. border:0;
  4. font-size:100%;
  5. margin:0;
  6. outline:0;
  7. padding:0;
  8. vertical-align:baseline;
  9. }
Contra esto no hay mucho por hacer, uno tiene que decidir, cual es su mayor objetivo si el rendimiento de la página (rapidez de los selectores) o la interoperabilidad de la misma (minimizar diferencias entre browsers).

Por otro lado, veo que luego vuelves a definir estilos para ciertos elementos:
Código CSS:
Ver original
  1. body {
  2. background:url(../images/bg.jpg) repeat;
  3. color:#4d4d4d;
  4. font-family:Arial, Helvetica, sans-serif;
  5. font-size:12px;
  6. line-height:20px;
  7. margin:0;
  8. padding:0;
  9. }
  10. h1 {
  11. font-size:24px;
  12. }
  13. h2 {
  14. font-size:22px;
  15. }
  16. h3 {
  17. font-size:20px;
  18. }
  19. h4 {
  20. font-size:18px;
  21. }
  22. h6 {
  23. font-size:14px;
  24. }

Entonces, estás enfrentando la doble penalización. Hay un movimiento que se llama "Normalize" (http://necolas.github.com/normalize.css/) que su objetivo es en lugar de resetear todos los estilos a cero como lo hace ("reset.css") lo que hace normalizarlos a un punto común. Muchas veces yo parto de este proyecto para adaptarlo al mío y parto de esa base común a todos pero a la cual ya le puse mi base y no requiero redefinición.

Otras cosas a optimizar son por ejemplo:
Código CSS:
Ver original
  1. #topnav ul.topRight span {
  2. display:block;
  3. float:left;
  4. padding-right:5px;
  5. }

En este caso "ul.topRight" el "ul" es redundante ya estas clasificando al elemento. A menos que este aplicando esa a otro elemento, ejemplo "div" pero no es tu caso.

También en tu documento hay mucho de esto:
Código CSS:
Ver original
  1. .dd ul li a {
  2. background:url(../images/navSep.png) no-repeat 100% 0;
  3. color:#d9d9d9;
  4. display:block;
  5. float:left;
  6. font-size:10px;
  7. font-weight:700;
  8. padding:7px 25px 8px;
  9. text-transform:uppercase;
  10. }
Tres selectores de elementos HTML seguidos, esta clase de selectores son muy poco eficientes. Estas obligando al navegador, a buscar todos los "a" luego todos los "a" que sean hijos, nietos, etc de un "li" y a su vez ese "li" sea hijo, nieto, etc de algún "ul" y que a su vez sea hijo, nieto, etc de un elemento con clase "dd". Recuerda siempre que el navegador aplica estilo de derecha a izquierda y no de izquierda a derecha como estamos acostrumbrados a leer. Esta clase de selectores debes de revisarlo.

Los demás selectores sufren los problemas antes nombrados

Etiquetas: selectores
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

SíEste tema le ha gustado a 1 personas




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