2

レスポンシブ レイアウトに問題があります。

レイアウトには、ブラウザーの幅に応じて、異なる場所に同じ php ファイルを含める必要があります。

表示:なし; それでもコンテンツをロードし、そのファイル内のコードを壊す可能性があります。

<div id="more_than_960">
    <?php require "content.php";?>
</div>

<div id="less_than_960">
    <?php require "content.php";?>
</div>

目標を達成するためのより良い方法はありますか?

問題は、コンテンツを非表示にすることではなく、読み込みプロセスから除外することです。


この問題を抱えている他の人に。私のMarkusが提供する素晴らしい解決策は次のとおりです。

https://github.com/serbanghita/Mobile-Detect

4

3 に答える 3

4

サーバー側でレスポンシブを行うべきではありません@media。クエリと必要に応じて JavaScript を使用して、クライアント側で行う必要があります。したがって、次のようなものになります。

@media (min-width:960px) {
    .somestuff {
        display: none;
}

そのため、アプローチを少し変更する必要があります。重複したコンテンツを挿入するのではなく、よく劣化するコンテンツを作成します。

サーバー側でこれを行う必要がある場合は、おそらく幅を要求するのではなく、このhttps://github.com/serbanghita/Mobile-Detectのようなライブラリを使用してデバイスの特定のグループを直接検出したくないでしょう。 .

さらに、おそらく、マークアップをコンテンツから分離したいと思うでしょう。

include 'Mobile_Detect.php';
$detect = new Mobile_Detect();

if ($detect->isMobile()) {
    $markup = 'your markup';
}
else if ($detect->isTablet()) {
    $markup = 'your alternative markup';
}
于 2012-12-11T12:13:38.610 に答える
3

コンテンツの表示にはメディア クエリを使用します。divを表示/非表示にする必要はありません

ヘルプについては、このリンクを参照してください http://line25.com/tutorials/create-a-responsive-web-design-with-media-queries

于 2012-12-11T12:10:36.270 に答える
0

を作成しIf-Else functionて使用すると、使用$_SERVER['HTTP_USER_AGENT']されているデバイスを確認できます。読み込まれる 1 つの div を作成します。

于 2012-12-11T12:11:24.600 に答える