2014-04-04 99 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

我明白這絕對不是做事的最佳方式。 沒有太多細節,我們沒有選擇在當前項目中這樣做。 謝謝 –