0

画面幅が 1024 ピクセルより大きいかどうかを確認したい、サイドバー + 50px を設定する

このコードを試しました (ただし、1024+ ではサイドバーが読み込まれません):

<?php $arjunaOptions = arjuna_get_options(); ?>
<?php
//calculate sidebar and content area ratio
if ($arjunaOptions['sidebarDisplay'] != 'none') {
    $available = 920;
    $available2 = 970;
    $contentArea = $arjunaOptions['contentAreaWidth'];
    $sidebar = $available - $contentArea;
    $sidebarlarge = $available2 - $contentArea ;
    $sidebarLeftRight = floor(($sidebar - 50) / 2);

    print '<style type="text/css">
    @media screen and (max-width: 1024px) {
    .contentWrapper .contentArea {width:'.$contentArea.'px;}
    .contentWrapper .sidebars {width:'.$sidebar.'px;}
    .contentWrapper .sidebarLeft, .contentWrapper .sidebarRight {width:'.$sidebarLeftRight.'px;}  
    }

    @media screen and (min-width: 1025px) {
    .contentWrapper .contentArea {width:'.$contentArea.'px;}
    .contentWrapper .sidebars {width:'.$sidebarlarge.'px;}
    .contentWrapper .sidebarLeft, .contentWrapper .sidebarRight {width:'.$sidebarLeftRight.'px;}
    }

    </style>';

}
?>
4

1 に答える 1

3

PHP には画面のサイズの概念がないため (クライアント側の Cookie などの助けがなければ)、PHP でこれを動的に行うべきではありません。

これには、CSS メディア クエリを使用する必要があります。例えば:

@media screen and (max-width: 1024px) {
  /* CSS for up to 1024px width */   
}

@media screen and (min-width: 1025px) {
  /* CSS for over 1024px width */
}

JavaScript を使用して、要素の CSS プロパティを変更することもできます。実際、あなたの例はPHPでjQuery構文を使用しようとしているようですが、もちろんうまくいきません。

于 2013-04-03T18:20:14.397 に答える