2008 20 de xuño de 2008

Erro espazo en branco en Liña / lista de elementos (LI) no IE6

Se xa fixo (ou facer un) un menú vertical usando os elementos dunha lista (li) etiquetas e CSS, podes atopar, este aínda outro erro en Internet Explorer, onde o IE 6 inserir estas lagoas entre os elementos de lista que conteñen elementos nivel de bloque, é dicir, se hai calquera espazo en branco entre os elementos da lista na reserva. Grazas, pero non, grazas, a versión de IE 7 parece libre dese erro.
Se lle gusta de min, e moitos máis, vostede pertence a ese grupo de desenvolvedores frustrados, que aínda teñen para obter os seus novos esquemas, traballando no IE6 tamén, entón iso pode ser útil. Bótalle un ollo ...

Marcado de exemplo:

<ul id="menu">
<li> <a href="#"> Home </ a> </ li>
<li> <a href="#"> Sobre </ a> </ li>
<li> <a href="#"> Servizos </ a> </ li>
<li> <a href="#"> Portfolio </ a> </ li>
<li> <a href="#"> FAQ </ a> </ li>
<li> <a href="#"> Contacte connosco </ a> </ li>
</ Ul>

Pode crear un pouco de CSS, semellante a un abaixo, para transfrom a reserva por riba nun menú vertical ....

Exemplo CSS ...
# Menú {
Margin: 0; padding: 0; background: # FF9900;
list-style-type: none; width: 150px;
}
# Menú li {Margin: 0; padding: 0;}
# Menú a {display: block;
color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2.5; Modelo-bottom: 1px solid # FFF;
}

Os resultados que ver ...
nulo

A solución a este erro ... (modificado / engadido CSS en negra e cursiva)

# Menú {
Margin: 0; padding: 0; background: # FF9900; list-style-type: none; width: 150px;
float: left; / * este contén elementos de lista flutuou * /
}
# Menú li {
Margin: 0; padding: 0;
float: left; / * Isto resolve o * /
width: 100%; / bug * espazos en branco ao IE6 * /
}
# Menú a {
bloque; cor :: display # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2.5; Modelo-bottom: 1px solid # FFF;
}

Se a solución anterior doesnot parecen funcionar (por razóns coñecidas só para IE6) ... probar este método en vez

Tan só engadir este adicionais IE6 estilos únicos a súa cita ...

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


2008 06 de xuño de 2008

Mellores prácticas: manter o número de elementos DOM Pequeno

Máis os elementos DOM na páxina, máis lento fai, máis lento é o acceso DON en JavaScript. Un número elevado de elementos DOM pode ser proxecto de deseño debido malo. Por exemplo, as táboas noutras citas poderían ser utilizados con fins de distribución. Utilizar tag HTML onde está ten sentido semanticamente. Para, por exemplo táboas de uso DONOT para esquemas, pero DONOT dubide en usalos onde ten que ver datos tabulares, e, polo tanto, usará reducir elementos DOM, en comparación, para unha estrutura semellante creado utilizando DIVs só ..

Para probar o número de elementos DOM na súa páxina HTML, escriba o seguinte na consola do Firebug: document.getElementsByTagName('*').length

Non hai un patrón definido en canto ao número de elementos DOM son moitos. Consulte outras páxinas similares que markup.Eg bo. Páxina de inicio de Yahoo! é unha páxina moi ocupado e aínda en 700 elementos (tags de HTML).


2008 2 de xuño de 2008

Mellores Prácticas: Empregando AJAX

Use get para solicitudes AJAX

Verificouse que cando se utiliza XMLHttpRequest, o post é aplicado nos navegadores como un proceso en dúas etapas: enviar as cabeceiras primeiro, a continuación, o envío de datos. Entón, é mellor usar get, que leva só un paquete TCP para enviar (a menos que ten unha morea de cookies). A lonxitude máxima de URL no IE é 2K, entón se enviar máis de 2K de datos pode non ser capaz de usar get.
Efectos secundarios interesante é que o post sen realmente calquera mensaxe de datos se comporta como get. Get está destinado a recuperación de información, polo que ten sentido (semántica) para usar get cando está só pedindo datos, en oposición ao envío de datos a seren almacenados no servidor.

Evite chamadas síncronas AJAX

Ao facer "Ajax" peticións, podes escoller async ou modo de sincronización. Async xeito corre a petición en segundo plano mentres outras actividades navegador pode continuar a procesar. Modo de sincronización vai agardar a petición para voltar antes de continuar.
Peticións feitas co modo de sincronización deben evitar. Esas peticións fará que o teu navegador para bloquear a un usuario ata que a solicitude retorna. Nos casos en que o servidor está ocupado ea resposta leva un pouco, o navegador do usuario (e talvez os) non permitirá que calquera outra cousa para facer. Nos casos en que unha resposta nunca é recibida correctamente, o navegador pode continuar a bloquear ata que a petición está esgotado.
Se pensa que a súa situación require modo de sincronización, é tempo máis probable para repensar o seu proxecto. Situacións moi poucos (se) realmente necesitan de peticións Ajax no modo de sincronización.


NDK casa | Expresando IT | Palate expresando | Penmenship expresando | AWE expresando | expresar o meu