17

主題が広すぎるためにこの質問が閉じられないことを願っていますが、レスポンシブ/アダプティブWebデザイン、つまりすべてのブラウザ、すべてのデバイスに対応する1つのWebサイトについて疑問に思っていました。

構造とレイアウトに関して、そのようなサイトを実装するための最良の方法は何ですか?

モバイルウェブサイトは今のところ大きなものであり、しばらくの間はそうなるので、私はそれを読み込もうとしていますが、ヒントとガイドラインのリストを見つけることができず、そのようなリソースがここSOで利用可能であると考えましたそうすれば、私たち全員が恩恵を受けることができます。

私を惹きつけるもう一つのことは、動的画像スケーリングがどのように行われるかということです。

ピクセルはデバイスごとに異なるため、私が推測しているレイアウトはおそらくピクセル値ではなくパーセンテージを使用して行われているため、これはすべての中で最も困惑することですが、画像はおそらくすべてのWebサイトを実現するための重要な要素です。

まだ見つけていないウェブ上のチュートリアルへのリンクであっても、人々の意見や回答を読むのを楽しみにしています。

4

3 に答える 3

24

1.1つのWebサイトすべてのブラウザ。

@Takが述べたように、ここでの答えは「プログレッシブエンハンスメント」と「グレースフルデグラデーション」です。しかし、彼が与えた定義は完全には正しくありません。適切なものは次のとおりです。

プログレッシブエンハンスメント」(リンクを参照)は、HTML4やCSS1などの実証済みのテクノロジーを使用して最初に古いブラウザー用にコーディングし(JavaScriptの有無にかかわらずIE6 / 7が良い出発点です)、進行するにつれてエンハンスメントを追加することを意味しますCSS3とほとんどのHTML5をサポートするモバイルデバイス上のChomeとSafariに至るまで、より新しいブラウザでテストすることによって。このようにして、サポートされている機能の可能な限り最高の組み合わせをブラウザに提供することを目指します(ちなみに、完全になることは決してないので、プロジェクトを実行しないように80/20の法則を覚えておいてください)。

優雅な劣化」(リンクを参照)は、ちょっと同じことですが、逆に、より怠惰な方法です。最新のブラウザに対してサイトの構築を開始し、古いブラウザで受け入れられるまで「パッチ」と「修正」を適用します。これは、最初から適切に計画するよりもはるかに多くの作業を作成することになり、このアプローチで一般的に発生する傾向があるのは、開発者/利害関係者がある時点で諦めることです(つまり、これを取得するにはあまりにも多くの作業が必要です) IE6 / 7での作業-スコープを解除します)

2.レイアウトを標準化するための最良の方法

個人的には、モバイルデバイスとデスクトップデバイスにまたがる標準レイアウトが必要な場合は、大きなフォント(小さなモバイル画面に表示されるように)と小さなフォント(デスクトップブラウザを持っている人が読むことができるように)を組み合わせて使用​​することをお勧めします。デスクトップサイズの900-1000px幅のすべての詳細)。

このサイトは一例です:

http://www.valuetrader.net

デスクトップブラウザで開くと多くの詳細が表示されますが、外出先でスマートフォンを使用すると、すべての重要な情報(つまり、共有を購入または販売する必要がありますか?)が非常に大きなフォントで表示されます。私の小さな画面で判読できるように見えます。

2014年更新

質問のこの部分は、「レイアウトを実装するための最良の方法は何ですか?」に効果的に変更されました。

現時点で(そして、広く利用可能なCSS3サポートの過去数年間)、クロスデバイスレイアウト設計の標準的なアプローチは、メディアクエリに基づくいわゆる「レスポンシブ」レイアウトを使用することです。ユーザーがモバイルフレンドリーなレイアウトを使い始めるために利用できるCSSフレームワークはたくさんあります。

「レスポンシブ」デザインの基本原則は、モバイルデバイスでスクロールすると、垂直方向のスペースが事実上無限になるため、水平方向のスペースによってのみ制限されるということです。したがって、画面が小さくなるにつれて、ページフローを使用して使用可能なすべての水平方向のスペースを埋め、ナビゲーションバーまたは水平方向の要素を垂直方向に折りたたんで、スペースを使用せずにアイテムを積み重ねることを確認する必要があります。水平方向に。

サイトの「応答性」をテストする標準的な方法は、ブラウザウィンドウの側面をドラッグして、使用可能な幅を減らすことです。

ここに画像の説明を入力してください

より良い方法は、開発者ツールを使用することです。たとえば、Chromeにはデバイスモードを切り替えるボタンがあります。これは、Stackoverflowを使用した例です。

ここに画像の説明を入力してください

#site-bannerデスクトップ画面とモバイル画面の要素のレイアウトを指定するメディアクエリの例は次のとおりです。

/* DESKTOP SUPPORT */
#site-banner { width: 1000px; background: #fff; margin: 0px auto; height: 120px; }

/* TABLET SUPPORT - rules apply below 1000px width */
@media all and (max-width: 1000px) {
    #site-banner { width: 700px; }
}

/* PHABLET & MOBILE SUPPORT - rules apply below 700px width */
@media all and (max-width: 700px) {
    #site-banner { width: 480px; height: auto; }
}

/* MOBILE SUPPORT - rules apply below 480px width */
@media all and (max-width: 480px) {
    #site-banner { width: auto; height: auto;}
}

3.動的画像スケーリングはどのように行われますか?

モバイルデバイスはこれをたくさん行うので、一般的にはそれがどのように機能するかを理解する必要があります。基本的に、最初のモバイルブラウザが登場したとき、デスクトップブラウザで動作しているサイトがモバイルでも動作することを確認する必要があったため(そうでない場合は、スマートフォンを使用してWebを閲覧することはできません)、考え出す必要がありました。サイトの幅を検出し、利用可能な画面解像度にサイズ変更する賢い方法。

たとえば、私のサイト「www.desalasworks.com」は900ピクセル幅にコード化されていますが、320ピクセルの小さな画面で縮小すると正常に機能します(ページ上の画像は、最近傍などのさまざまな方法を使用して自動的にリサンプリングされます)サンプリングバイキュービック補間、および可能な限りフォントをネイティブフォントに置き換えます)。画像のサンプリングに関する限り、スマートフォンで写真を「ズームイン」および「ズームアウト」にピンチしたことがある場合は、私が何を話しているかがわかります。

通常、画像を適切にリサンプリングするためにCSSについて心配する必要はありません。パーセンテージ幅を使用すると、CSSが少しおかしくなることがあるので、その場合はピクセルに固執して、ブラウザがアイテムの場所を簡単に識別できるようにします。お互いの関係。モバイルブラウザを具体的に検出し、サイトの幅を320pxに設定すると、それに応じてすべてがインラインになりますが、実際には、モバイルデバイスで動作するサイトを用意する必要はなく、これを行うと強制されます。モバイルサイトとデスクトップサイトの2つのサイトを維持するため(一部の企業はこれを喜んで行っています)。

4.パーセンテージ/固定幅。

個人的には、画面の中央に固定幅を使用する傾向があり(CSSマージン:0px自動を使用)、レイアウトを標準化するのは少し悪夢であるため、長い間パーセンテージ幅を使用していません。パーセンテージ幅を使用する場合は、基本的にさらに多くのテストを行う必要があるため、私はそれらから遠ざかる傾向があります。

これは私の意見であることに注意してください。一部の「応答性の高いウェブ」の達人は、ほぼすべての部分で幅のパーセンテージで誓います。私は、限界利益と見なすレイアウトの予測可能性を犠牲にするという考えに売られていません。しかし、私はデスクトップWebアプリの構築のバックグラウンドを持っているので、モバイルWeb(水平方向のスペースが貴重でレイアウトが単純になる傾向がある)だけに焦点を当てた場合は、おそらく違った考え方をするでしょう。

于 2011-12-08T10:56:50.823 に答える
3

あなたはパーセンテージについて正しいです。

アート要素としての習慣は、(CSSを使用して)画像にパーセンテージ幅を設定し、その表示をブロックに設定することです。

response-images.jsのように、クライアントの画面サイズに基づいて画像の解像度を変更するためのいくつかの手法もあります。この問題に取り組む方法については、まだ完璧な答えはないと思います。

レスポンシブデザインに本当に興味があるなら、EthanMacotteのレスポンシブウェブデザインを強くお勧めします。

于 2011-12-08T19:50:06.737 に答える
1

現在の2つの流行語は、優雅な劣化プログレッシブエンハンスメントであり、私は後者のファンボーイです。グレースフルデグラデーションとは、モバイル画面で表示するためにページ上の要素を非表示にしたり、サイズを変更したりすることを意味します。プログレッシブエンハンスメントとは、モバイルブラウザー用にコーディングし、より大きなものを使用している場合はビットを追加することを意味します。後者は、モバイルブラウザが巨大な画像をダウンロードする必要がなく、使用することのない多数のインクルードを防ぎ、モバイル帯域幅が貴重であるため、最適です。

私は320andupを使用しています。これは、モバイルブラウザ用に320pxでWebページをスタイリングするための優れた方法であり、タブレット、ネットブック、PC、および途方もなく大きなMacディスプレイ用に他の解像度を使用します。Webページは、すべての解像度で見栄えがします。

パーセンテージは使用しません。私は320pxの固定幅、480pxの固定幅などでウェブページのスタイルを設定しているので、各デバイスでどのように表示されるかを正確に把握しています。URLに変数を使用して、サーバー上ですべての画像スケーリングを行います。サーバーは、サイズ変更された画像を後でページを読み込むためにキャッシュします。そうすれば、私の光沢のあるWeb 2.0ロゴは、モバイルデバイスでは小さいですが、大画面では大きいです。これは、パーセンテージを使用しないもう1つの理由です。

于 2011-12-08T10:27:53.760 に答える