2008 20 de junio 2008

Bug espacio en blanco en artículos de línea / Lista (li) en IE6

Si alguna vez has hecho (o hacer uno) un menú vertical con elementos de la lista (li) y las etiquetas de CSS, puede encontrarse con este otro error en Internet Explorer, IE 6, donde se inserta la brecha entre los elementos de la lista que contienen los elementos a nivel de bloque, es decir, si hay algún espacio en blanco entre los elementos de la lista en el marcado. Gracias, pero no, la versión de Internet Explorer 7 parece libre de este error.
Si como yo, y muchos más, usted pertenece a este grupo de desarrolladores frustrados, que aún tienen que conseguir sus nuevos diseños, que trabajan en IE6 también, entonces esto podría resultar útil. ¡Echa un vistazo ...

Ejemplo de marcado:

<ul id="menu">
<li> <a href="#"> Inicio </ a> </ li>
<li> <a href="#"> Acerca de </ a> </ li>
<li> <a href="#"> Servicios </ a> </ li>
<li> <a href="#"> cartera </ a> </ li>
<li> <a href="#"> Ayuda </ a> </ li>
<li> <a href="#"> Contacte con nosotros </ a> </ li>
</ Ul>

Usted puede crear un poco de CSS, similar a la de abajo, para transformar la margen anterior en un menú vertical ....

Muestra CSS ...
# Menu {
margin: 0; padding: 0; fondo: # FF9900;
list-style-type: none; ancho: 150px;
}
# Menu li {margin: 0; padding: 0;}
# Menu a {display: block;
color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2.5; border-bottom: 1px solid # FFF;
}

Los resultados que usted verá ...
nulo

Solución para este error ... (modificado / añadido CSS en negrita y cursiva)

# Menu {
margin: 0; padding: 0; fondo: # FF9900; list-style-type: none; ancho: 150px;
float: left; / * esto contiene elementos flotantes de la lista * /
}
# Menu li {
margin: 0; padding: 0;
float: left; / * Esto fija el * /
width: 100%; / * espacio en blanco bug en IE6 * /
}
# Menu {un
display: block; color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2.5; border-bottom: 1px solid # FFF;
}

Si la solución anterior doesnot parecen funcionar (por razones conocidas sólo IE6) ... probar este método en lugar

Sólo tiene que añadir estos otros estilos sólo IE6 de su margen de beneficio ...

<- [If lt IE 7>
<style type="text/css">
# Menu li a {display: inline-block;}
# Menu li a {display: block;}
</ Style>
<[Endif] ->


2008 06 de junio 2008

Mejores prácticas: mantener el número de elementos DOM Pequeña

Más los elementos DOM de la página, más lento se hace, más lento es el acceso a DOM en JavaScript. Un gran número de elementos DOM puede ser el diseño por el diseño malo. Por ejemplo, las tablas anidadas podría haber sido utilizado para fines de diseño. Utilizar cualquier etiqueta HTML en el que se tiene sentido semántico. Por ejemplo, las mesas de uso DONOT para los diseños, pero DONOT dudan en utilizarlos donde usted tiene que mostrar los datos tabulares, y por lo tanto utilizará reducir los elementos DOM, en comparación, a una estructura similar creada con DIVs sólo ..

Para comprobar el número de elementos DOM en la página HTML, sólo tienes que escribir lo siguiente en la consola de Firebug: document.getElementsByTagName('*').length

No hay ninguna norma establecida en cuanto a cuántos elementos DOM son demasiados. Compruebe otras páginas similares que tienen markup.Eg buena. Página principal de Yahoo! es una página muy ocupado y todavía menos de 700 elementos (etiquetas HTML).


2008 02 de junio 2008

Mejores Prácticas: El uso de AJAX

Usar GET para las peticiones AJAX

Se ha encontrado que cuando se utiliza XMLHttpRequest, POST está implementado en los navegadores como un proceso en dos etapas: el envío de las cabeceras primero, entonces el envío de datos. Así que lo mejor es utilizar GET, que sólo se necesita un paquete TCP a enviar (a menos que tengas un montón de galletas). La longitud máxima de URL en Internet Explorer es 2K, así que si envías más de los datos de 2K que podría no ser capaz de utilizar GET.
Un efecto secundario interesante es que la POST sin llegar a publicar cualquier dato se comporta como GET. GET es para la recuperación de información, así que tiene sentido (semánticamente) para utilizar GET cuando sólo se solicitan datos, en comparación con el envío de datos que se almacenan en el servidor.

Evite sincrónicas llamadas AJAX

Al hacer "Ajax" las solicitudes, que podrán elegir entre el modo de sincronización o async. Async modo ejecuta la solicitud en el fondo mientras que otras actividades navegador puede continuar con la tramitación. El modo de sincronización esperará a que la solicitud de devolución antes de continuar.
Las solicitudes realizadas con el modo de sincronización debe ser evitado. Estas peticiones que el navegador se bloquee para el usuario hasta que regrese la solicitud. En los casos en que el servidor está ocupado, y la respuesta tarda un rato, el navegador del usuario (y tal vez OS) no permitirá que nada más que hacer. En los casos en que una respuesta no se recibe correctamente, el navegador puede seguir bloqueará hasta que la solicitud se ha agotado el tiempo.
Si usted piensa que su situación requiere el modo de sincronización, es el momento más probabilidades de volver a pensar en su diseño. Situaciones muy pocos (si alguno) realmente requieren las peticiones Ajax en el modo de sincronización.


NDK en casa | Expresando IT | Boca Expresando | Penmenship Expresando | Awe Expresando | expresarme