2008 20 iunie 2008

Bug spaţiu alb în linie / Lista de Produse (LI), în IE6

Dacă aţi făcut vreodată (sau de a face o) un meniu vertical cu ajutorul elementelor de listă (LI) tag-uri şi CSS, s-ar putea întâlni, aceasta încă un bug în Internet Explorer, în cazul în care IE 6 insertii de aceste diferenţe dintre elementele din listă care conţin elemente de nivel bloc, şi anume în cazul în care există spaţiu între elementele din lista de marcare. Multumesc, dar nu, mulţumesc, versiunea IE 7 pare a fi liber de acest bug.
În cazul în care ca mine, şi mai multe, vă aparţin, aceasta banda de dezvoltatori frustraţi, care încă mai au pentru a obţine lor de aspecte noi, care lucrează în IE6 de asemenea, atunci acest lucru s-ar putea dovedi util. Arunca o privire ...

Exemplu de marcare:

<ul id="menu">
<li> <a href="#"> Prima </ a> </ li>
<li> <a href="#"> Despre </ a> </ li>
<li> <a href="#"> Servicii </ a> </ li>
<li> <a href="#"> Portofoliu </ a> </ li>
<li> <a href="#"> Întrebări frecvente </ a> </ li>
<li> <a href="#"> Contactaţi-ne </ a> </ li>
</ UL>

S-ar putea crea unele CSS, similar cu cel de mai jos, pentru a transfrom markup-ul de mai sus într-un meniu vertical ....

Exemplu CSS ...
# Meniu {
0; padding:: Marja de 0; fundal: # FF9900;
lista-stil-tip: none; lăţime: 150px;
}
# Meniu li {margin: 0; padding: 0;}
# Un meniu {display: block;
color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2,5; border-bottom: 1px solid # FFF;
}

Rezultatele pe care le vor vedea ...
null

Soluţia pentru această problemă ... (modificat / CSS adăugat în caractere cursive aldine)

# Meniu {
0; padding:: Marja de 0; fundal: # FF9900; lista-stil-tip: none; lăţime: 150px;
float: left; / * aceasta conţine elemente pluteau listă * /
}
# Meniu li {
0; padding:: Marja de 0;
float: left; / * Aceasta stabileşte * /
Lăţime: 100%; / * bug spaţiu în IE6 * /
}
# Un meniu {
display: block; color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2,5; border-bottom: 1px solid # FFF;
}

Dacă doesnot soluţie de mai sus par să lucreze (din motive cunoscute doar la IE6) ... încercaţi această metodă în locul

Adăuga doar acest stiluri IE6 doar pentru marcare ta ...

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


2008 06 iunie 2008

Cele mai bune practici: păstraţi numărul de elemente DOM mici

Mai multe elemente DOM de pe pagina, se face mai lent, mai lent este accesul în DOM lui JavaScript. Un număr mare de elemente DOM poate fi cauza de design aspect rău. De exemplu, tabelele imbricate ar fi fost utilizate în scopuri de aspect. Folosiţi orice etichetă HTML în cazul în care se face sens semantic. , De exemplu donot mese de utilizare pentru layout-uri, dar donot ezitaţi să le utilizeze în cazul în care va trebui să afişa date tabelare, şi, prin urmare, va reduce folosi elemente DOM, în comparaţie, la o structură similară creat folosind divs numai ..

Pentru a testa numărul de elemente DOM din pagina HTML, doar tastaţi următoarele în consola Firebug de: document.getElementsByTagName('*').length

Nu există nici un standard stabilit ca la cât de multe elemente DOM sunt prea multe. Verificaţi alte pagini similare, care au markup.Eg bun. Home Page Yahoo! este o pagina destul de ocupat şi încă în curs de 700 de elemente (tag-uri HTML).


2008 02 iunie 2008

Cele mai bune practici: Utilizarea AJAX

Utilizaţi Obţineţi Cereri pentru AJAX

Acesta a fost descoperit că atunci când se utilizează XMLHttpRequest, POST este implementat în browsere ca un proces în două etape: trimiterea anteturile în primul rând, apoi trimiterea datelor. Deci, cel mai bine este să utilizaţi GET, care are doar un pachet TCP pentru a trimite (dacă nu aveţi o mulţime de cookie-uri). Lungimea maximă a URL-ul în IE este de 2K, asa ca daca ai trimite mai mult de 2K de date ar putea să nu fi capabil de a utiliza GET.
Un efect interesant este faptul că partea de POST, fara a posta de fapt, orice date se comportă ca GET. GET este destinat pentru regăsirea de informaţii, deci are sens (semantic) pentru a utiliza GET atunci când solicită date, doar ca spre deosebire de trimiterea de date pentru a fi stocate server-side.

Evitaţi solicită sincrone AJAX

Atunci când se face "Ajax" cererile, puteţi alege fie asincron sau de modul de sincronizare. Asincron modul rulează cererea în fundal în timp ce alte activităţi browser-ul poate continua să le prelucreze. Sync Mode va aştepta pentru cererea de a reveni înainte de a continua.
Cererile făcute cu modul de sincronizare ar trebui să fie evitate. Aceste cereri vor determina browser pentru a bloca pentru utilizator până când se întoarce de cerere. În cazul în care serverul este ocupat şi de răspuns nevoie de un timp, browser-ul utilizatorului (şi poate OS) nu va permite nimic altceva de făcut. În cazurile în care un răspuns nu este corect primite, browser-ul poate continua să blocheze până când cererea este expirat.
Dacă credeţi că situaţia impune modul de sincronizare, este timpul cel mai probabil de a re-gândi design-ul. Situaţii foarte puţine (dacă există) de a solicita de fapt, cererile de Ajax în modul de sincronizare.


NDK acasă | Exprimarea IT | Gust Exprimarea | Penmenship Exprimarea | Awe Exprimarea | a mă exprima