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 中动态地执行此操作,因为 PHP 没有屏幕大小的概念(没有客户端 cookie 或类似的帮助)。

您应该为此使用 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 回答