2008 20 czerwca 2008
Jeśli kiedykolwiek dokonane (lub co jeden) pionowe menu przy użyciu elementów listy (li) tagi i CSS, jakie można napotkać, to kolejny błąd w przeglądarce Internet Explorer, gdzie IE 6 Wkładki te luki pomiędzy elementami list zawierających elementy poziomie bloków, w tzn. jeśli istnieje białe znaki między elementami listy w kodzie. Dzięki, ale nie dzięki, wersja IE 7 wydaje się wolny od tego błędu.
Jeśli tak jak ja i wiele innych, należysz do tej bandy sfrustrowanych twórców, którzy nadal muszą dostać swoje nowe układy, pracujące w IE6 też, to może okazać się przydatne. Zapraszamy do obejrzenia ...
Markup próbki:
<ul id="menu">
<li> <a href="#"> Strona główna </ a> </ li>
<li> <a href="#"> O </ a> </ li>
<li> <a href="#"> Usługi </ a> </ li>
<li> <a href="#"> Portfolio </ a> </ li>
<li> <a href="#"> FAQ </ a> </ li>
<li> <a href="#"> Kontakt z nami </ a> </ li>
</ Ul>
Możesz stworzyć jakiś CSS, podobny do tego poniżej, aby transfrom powyższy znaczników w pionowym menu ....
Przykładowy CSS ...
# Menu {
margin: 0; padding: 0; background: # FF9900;
list-style-type: none; width: 150px;
}
# Menu li {margin: 0; padding: 0;}
# Menu {display: block;
color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2,5; border-bottom: 1px solid # FFF;
}
Wyniki można zobaczyć ...
Rozwiązanie dla tego błędu ... (zmodyfikowany / dodany CSS pogrubioną kursywą)
# Menu {
margin: 0; padding: 0; background: # FF9900; list-style-type: none; width: 150px;
float: left; / * to zawiera płynęły elementów listy * /
}
# Menu li {
margin: 0; padding: 0;
float: left; / * to poprawki * /
szerokość: 100%; / * błąd białe znaki w IE6 * /
}
# Menu {
display: block; color: # 555555;
text-decoration: none;
padding: 0 15px;
line-height: 2,5; border-bottom: 1px solid # FFF;
}
Jeśli powyższe doesnot rozwiązanie wydaje się działać (z powodów znanych tylko IE6) ... spróbować tej metody zamiast
Wystarczy dodać te dodatkowe IE6 tylko style do znaczników ...
<- [If lt IE 7>
<style type="text/css">
# Menu li {display: inline-block;}
# Menu li {display: block;}
</ Style>
<[Endif] ->
Brak komentarzy | tags: Błędy IE i IE Naprawia i Hacks IE i problemy IE , w IE6 i Poradniki | posted in dziwactw przeglądarek , CSS
2008 06 czerwca 2008
Więcej elementów DOM na stronie, wolniej to świadczy, wolniejszy dostęp do DOM w JavaScript-tych. Duża liczba elementów DOM może być spowodowane złym projekt układu. Na przykład, zagnieżdżone tabele mogły być wykorzystywane do celów układu. Użyj dowolnego znacznika HTML, gdzie jest sens semantycznie. Np. dla tabel dawca stosowania dla układów, ale dawca wahaj się ich użyć, gdy masz do wyświetlania danych tabelarycznych, a więc będzie używać zmniejszyć elementów DOM, w porównaniu do podobnej strukturze utworzonej za pomocą DIV tylko ..
Aby sprawdzić liczbę elementów DOM w stronie HTML, wpisz następujące polecenie w konsoli: Firebug jest document.getElementsByTagName('*').length
Nie ma ustalonego standardu określającego, ile elementów DOM jest zbyt wiele. Sprawdź inne podobne strony, które mają dobrą markup.Eg. Strona główna Yahoo! jest dość zajęty strona i jeszcze w 700 elementy (tagi HTML).
no comments | tags: Best Practices , DOM | pisał w Dobrych Praktykach , Interfejs Użytkownika Desgin
2008 02 czerwca 2008
Użyj GET dla żądań AJAX
Stwierdzono, że przy użyciu XMLHttpRequest, POST jest zaimplementowana w przeglądarkach jako dwóch etapów: wysyłające nagłówki, potem wysyłania danych. Tak więc najlepiej jest użyć GET, która zajmuje tylko jeden pakiet TCP wysyła (chyba, że masz dużo ciasteczek). Maksymalna długość adresu URL w IE jest 2K, więc jeśli wysyłasz więcej niż 2K danych może nie być w stanie używać GET.
Ciekawe afekt strona jest to, że POST bez rzeczywistego wysyłania jakichkolwiek danych zachowuje się jak GET. GET jest przeznaczona do pobierania informacji, więc ma to sens ust semantycznie) do korzystania z GET kiedy tylko o dane, w przeciwieństwie do przesyłania danych przechowywanych po stronie serwera.
Unikaj wywołań synchronicznych AJAX
Dokonując "ajax" żądań, można wybrać jedną lub asynchronicznie tryb synchronizacji. Asynchroniczny tryb kieruje wniosek w tle, podczas gdy inne działania przeglądarki może nadal przetwarzać. Sync tryb będzie czekać na żądanie powrotu przed kontynuowaniem.
Wnioski składane w trybie synchronizacji należy unikać. Wnioski te będą powodować przeglądarki, aby zamknąć dla użytkownika aż do powrotu żądania. W przypadkach, gdy serwer jest zajęty i odpowiedź zajmuje chwilę, przeglądarki użytkownika (a może OS) nie pozwoli na nic innego do zrobienia. W przypadkach, gdy odpowiedź nie jest prawidłowo odbierany, przeglądarka może nadal blokować do wniosku skończyła się.
Jeśli uważasz, że twoja sytuacja wymaga tryb synchronizacji, to najprawdopodobniej czas do przemyślenia swojego projektu. Bardzo niewiele (jeśli w ogóle) sytuacje rzeczywiście wymagają żądań AJAX w trybie synchronizacji.
1 komentarz | Tagi: AJAX , w Best Practices | Posted in AJAX , w Dobrych Praktyk , w interfejs użytkownika Desgin