PHP if语句的屏幕宽度

时间:2013-04-03 18:18:26

标签: php if-statement window width

我想检查屏幕宽度是否高于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>';

}
?>

1 个答案:

答案 0 :(得分: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语法,这当然不起作用。