2008 2008年 6月 20 日
あなたが今まで(または1を作る)リスト項目(li)タグやCSSを使って垂直方向のメニューを行った場合は、発生する可能性がある、Internet Explorerでは、ブロックレベル要素を含むリストアイテムの間IE 6を挿入し、これらのギャップ、でこれはまだ別のバグマークアップ内のリスト項目の間に空白がある場合、すなわち。 ありがとう、でもおかげで、IEのバージョン7は、このバグから解放さそうです。
私、および多くのように、あなたはまだあまりにもIE6での作業、新しいレイアウトを取得する必要がありイライラし、開発者のこのバンドに属している場合、これは役立つかもしれません。 を見て...
サンプルマークアップ :
<ul id="menu">
<li> <a href="#">トップページ</ a> </ LI>
<li> <a href="#">について</ a> </ LI>
<li> <a href="#">サービス</ a> </ LI>
<li> <a href="#">ポートフォリオ</ a>した</ li>
<li> <a href="#">に関するよくある質問</ a> </ LI>
<li> <a href="#">お問い合わせ</ a> </ LI>
</ UL>
あなたは、垂直メニューに上記のマークアップをtransfromするために、以下のような、いくつかのCSSを作成することができます....
サンプルCSS ...
#メニュー{
マージン:0;パディング:0;背景:#FF9900;
リストスタイルのタイプ:なし;幅:875;
}
#メニューのLi {マージン:0;パディング:0;}
#メニュー{表示:ブロック;
色:#555555;
テキスト装飾:なし;
パディング:0 15px;
行の高さ:2.5;国境底:1px固体#FFF;
}
あなたが表示されます。結果...
このバグの解決策...(太字のイタリック体でCSSを変更/追加されました)
#メニュー{
マージン:0;パディング:0;背景:#FF9900;リストスタイルのタイプ:なし;幅:875;
フロート:左; / *これはフロートのリスト項目が含まれています* /
}
#メニューのLi {
マージン:0;パディング:0;
フロート:左; / *この修正* /
幅:100%; / IE6の*空白のバグ* /
}
#メニュー{
表示:ブロック;色:#555555;
テキスト装飾:なし;
パディング:0 15px;
行の高さ:2.5;国境底:1px固体#FFF;
}
上記ソリューションの鞭は...(IE6のみに知られている理由で)動作するように見える代わりにこのメソッドをしようとした場合
ちょうどあなたのマークアップには、この追加IE6だけのスタイルを追加...
<! - [LT IE 7の場合>
<style type="text/css">
#メニューのLi 1 {表示:インラインブロック;}
#メニューのLi 1 {表示:ブロック;}
</ STYLE>
<[endifの] - >
コメントはありません |タグ: IEのバグ 、 IEの修正 、 IEのハック 、 IEの問題 、 IE6 、 チュートリアル |に投稿されたブラウザの癖 、 CSS
2008 2008年 6 月 6 日
ページ上の複数のDOM要素が、遅い、それがレンダリングされ、遅いJavaScriptのDOMにアクセスすることです。 DOM要素の数が多いため、悪いレイアウト設計することができます。 たとえば、ネストした表は、レイアウト目的で使用されている可能性があります。 意味的に理にかなっているされているすべてのHTMLタグを使用しています。 レイアウトの例DONOT使用テーブルではなく、DONOTは、表形式のデータを表示する必要がどこにそれらを使用することを躊躇し、したがって、divタグのみを使用して作成した同様の構造に、比較して、DOM要素を減らす使用します。..
HTMLページ内のDOM要素の数をテストするには、ちょうどFirebugのコンソールに次のように入力しますdocument.getElementsByTagName('*').length
あまりにも多くのどのように多くのDOM要素へのようには設定さ標準はありません。 良いmarkup.Egを持っている他の同様のページをチェックしてください。 ヤフーのホームページは、700の要素(HTMLタグ)の下でまだかなり忙しいページです。
コメントはありません |タグ: ベストプラクティス 、 DOM |に投稿されたベストプラクティス 、 ユーザインタフェース設計、実装
2008 2008年 6月 2 日
AJAXリクエストのためにGETを使用する
データを送信し、最初のヘッダを送信する:それは、XMLHttpRequestを使用している場合、POSTは、2段階のプロセスとしてのブラウザに実装されていることが判明した。 ので、それだけで(あなたがクッキーをたくさん持っていない限り)を送信する1つのTCPパケットを生ずる、GETを使用することをお勧めします。 IEのURLの最大長は、2Kのデータ以上のものを送るので、もしあなたがGETを使用することはできないかもしれませんが、2Kです。
興味深い側の影響は、実際にはデータのGETと同じように動作を掲示せずに、そのPOSTです。 情報を取得するためのものなので、サーバーサイドの格納されるデータを送信するのではなく、あなただけで、データを要求しているときにGETを使用するために(意味的に)理にかなってはgetになります。
同期AJAX呼び出しを避ける
"AJAX"要求を行うときは、非同期または同期モードのいずれかを選択することができます。 他のブラウザの活動を処理し続けることができますが、非同期モードでは、バックグラウンドでリクエストを実行します。 同期モードでは、続行する前に返すように要求を待ちます。
同期モードで行われた要求は避けるべきである。 これらの要求は、ブラウザがリクエストを返すまで、ユーザーのためにロックアップするようになります。 サーバがビジー状態であると応答は時間がかかる場合には、ユーザーのブラウザ(多分OS)が行われるために何を許可しません。 応答が正しく受信されません場合には、ブラウザは要求がタイムアウトするまでブロックし続ける可能性があります。
あなたの状況が同期モードが必要であることを考えるなら、それはあなたのデザイン再考する可能性が最も高い時間です。 (もしあれば)非常に少ない状況では、実際には同期モードのAjaxリクエストをする必要があります。
1コメント |タグ: AJAX 、 ベストプラクティス |に投稿されたAJAX 、 ベストプラクティス 、 ユーザインタフェース設計、実装