2012-01-30 22 views
0

私はCSSやデザインや実装に対応できる他の方法を使ってレイアウトを達成する方法を模索しています。CSSフレームの代わりに?

「上部」部分は固定された領域です。 「左」領域は、「主」領域を対象とするテキストリンクのリストになります。具体的には、プロファイルへのリンクのリストが「左」領域に表示され、関連するプロファイルを「メイン」領域に表示することができます。

私はフレームで行うことができますが、HTML5ではこれが最善の方法ではないため、サポートされていないため、この代替手段が必要です。何か案は?

答えて

0

はい... jqueryとload()関数を使用することができます.HTMLだけを使用していて、サーバー側ではないと仮定します。

1

CSSでposition: fixed;という一部の要素を設定することで、これを行うことができます。たとえば、トップにdivを、サイドバーにdivを作成し、CSSにposition: fixed;のdivを設定します。 あなたのメインエリアdivは普通のボディでスクロールされる普通のdivです。

これは本当に簡単で、すべての主要なブラウザで動作します(一部のモバイルブラウザは除きます)。

jQueryまたはJavascriptが不要です。 PHPのようなものをあなたのメインエリアに使うことができます。

更新 また、固定サイズでdivを作成し、属性overflow: scrollを追加することができます。同様の結果を得る。

+0

1左側のURLをクリックすると、AJAXの上にページをロードするように、あなたにはJavaScript/jQueryを使って「徐々に強化する」ことができますがとそれをメインエリアに挿入します。もちろん –

+0

。実際には、URLのSEOやユーザビリティの問題があります。あなたがURLのハッシュを使用していない場合、URLのハッシュを使用していると、現在はそのレベルが高すぎる可能性があります。 –

0

フレームが不要で、気に入らない場合はリロードやAJAXが必要ありません。 すべてのHTMLを1ページに配置します。 頭、側、内容を別々のdivコンテナに入れてください。 左側からどのリンクを開くかを指定するには、style.display = "none"またはstyle.display = ""を使用してください。

また、AJAXを使用してプロファイルの内容を取得することもできます。

JavaScriptの知識がわからないため、この回答があなたには十分であるかどうかはわかりません。

+0

は、パフォーマンスに劣り、さらに目に見えないコンテンツを追加する携帯端末には適していません。もちろん、これは小さなページでうまくいくでしょう。 –

+0

その一部は? AJAX部分またはインライン部分? 私は約2つの選択肢を書いて、依頼者の知識を求めました。 – Nabor

+0

すべてのHTMLを1ページに入れ、 'display:none;'を使用します。 –

関連する問題