Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/04/2012, 09:58
Avatar de ryugen
ryugen
Colaborador
 
Fecha de Ingreso: agosto-2008
Ubicación: Rosario, Santa Fe
Mensajes: 350
Antigüedad: 16 años, 3 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