2014-04-04 57 views
0

我目前正在通过制作响应多个移动平台的页面的挑战,其中包括对桌面浏览器,iPhone,iPad,BB10和BB7的支持。PHP CSS移动响应

如你所知,这并不总是最简单的任务。

我已经到了希望每个设备使用不同CSS文件的地步,因为这使得不同屏幕尺寸的生活更加轻松。

我发现这个PHP脚本,它使我能够引导用户访问不同的html页面......虽然我觉得它不够高效,但它很棒。

相反,我希望能够让这个脚本为用户提供基于设备的不同.css文件。

我对PHP的理解很少,并希望在这里获得一些帮助。


<?php 
    // MOBILE 
    $android = strpos($_SERVER['HTTP_USER_AGENT'],"Android"); 
    $blackberry = strpos($_SERVER['HTTP_USER_AGENT'],"BB10"); 
    $blackberry2 = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry"); 
    $iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone"); 
    $iPad = strpos($_SERVER['HTTP_USER_AGENT'],"iPad"); 

    // DESKTOP 
    $windows = strpos($_SERVER['HTTP_USER_AGENT'],"Windows"); 
    $mac = strpos($_SERVER['HTTP_USER_AGENT'],"Mac"); 

    // REDIRECTS 
    // MOBILE 
    if ($android == true) 
    { 
    header('Location: mobile.html'); 
    } 
    else if ($blackberry == true) 
    { 
    header('Location: mobile.html'); 
    } 
    else if ($blackberry2 == true) 
    { 
    header('Location: mobile.html'); 
    } 
    else if ($iphone == true) 
    { 
    header('Location: mobile.html'); 
    } 
    else if ($ipad == true) 
    { 
    header('Location: mobile.html'); 
    } 
    // DESKTOP 
    else if ($windows == true) 
    { 
    header('Location: desktop.html'); 
    } 
    else if ($mac == true) 
    { 
    header('Location: desktop.html'); 
    } 
    ?> 

+1

一个单独的样式表。它再次是IE条件 – PeeHaa

+1

你必须使用媒体查询。根据各种“最小宽度”和“最大宽度”值定义样式规则。请阅读更多,https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries –

回答

1

你需要分析你的CSS低谷PHP。

<link rel="stylesheet" href="css.php"> 

然后在你的PHP:

<?php 
    // MOBILE 
    $android = strpos($_SERVER['HTTP_USER_AGENT'],"Android"); 
    $blackberry = strpos($_SERVER['HTTP_USER_AGENT'],"BB10"); 
    $blackberry2 = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry"); 
    $iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone"); 
    $iPad = strpos($_SERVER['HTTP_USER_AGENT'],"iPad"); 

    // DESKTOP 
    $windows = strpos($_SERVER['HTTP_USER_AGENT'],"Windows"); 
    $mac = strpos($_SERVER['HTTP_USER_AGENT'],"Mac"); 

    // REDIRECTS 
    // MOBILE 
    if ($android == true) 
    { 
    include('android.css'); 
    } 
    else if ($blackberry == true) 
    { 
    include('blackberry.css'); 
    } 
    // others 

但随着评论的家伙写的 - 这是不负责的CSS的 “现代” 的方式。

+0

感谢您的支持!你知道有什么方法可以在JavaScript中反对PHP吗? –

+0

您可以测试navigator.userAgent,然后在样式表标签中添加链接。 –

2

我想知道为什么你使用古老的方式,你可以使用响应式网页概念来建立响应式网站,根据决议。

使用Twitter bootstrap.js 或 阅读基于设备的,而不是屏幕大小听起来像一个可怕的想法对我来说这 http://getbootstrap.com/

+0

我明白这绝对不是做事的最佳方式。 没有太多细节,我们没有选择在当前项目中这样做。 谢谢 –