2013-09-01 18 views
-3

我正在使用媒體查詢來調整網站佈局。如何根據PHP中的屏幕大小顯示不同數量的滑塊項目?

我的問題是:如何根據屏幕大小顯示不同數量的滑塊項目?

爲小屏幕我贊同這一點:

<?php if($i == 4) {echo '</li><li>';} ?> 

上大屏幕,我需要這個呼應:

<?php if($i == **3**) {echo '</li><li>';} ?> 

如何設置只用PHP?有沒有解決方法?

謝謝

+0

你不能做到這一點只用PHP,PHP有沒有辦法知道用戶的屏幕尺寸 –

+0

可以使用一箇中轉頁面,使用JavaScript函數獲取屏幕大小並將其存儲在會話中。 http://stackoverflow.com/questions/3437786/how-to-get-web-page-size-browser-window-size-screen-size-in-a-cross-browser-wa – DevZer0

+0

有什麼方法可以執行基於JavaScript的屏幕大小的PHP代碼?如果小屏幕[exec php1] else [exec php2]? – Warrior

回答

0

簡短的回答:你不能。

很長的答案:由於PHP運行在服務器上,它絕對沒有辦法知道它將顯示在哪裏,或者它是否真的顯示;更不用說顯示器的大小了。服務器無法訪問該信息。有一些解決方法涉及AJAX,發送參數和重新加載頁面,以及其他各種黑客;但最終,您應該接受PHP是不適合該任務的工具,並使用類似JavaScript的東西來更新樣式。

+0

謝謝,我想我會去這樣的事情︰if(width == 1920){ $(「#myDiv」)。load(「book1.php」);其他{ $(「#myDiv」).load(「book2.php」); } – Warrior

0

您可以通過兩次回顯所有內容來實現此目的,並對大屏幕和移動屏幕進行必要的修改。

<div class="mobile-only"> 
    <!-- Echo your stuff for mobiles --> 
</div> 
<div class="big-screen-only"> 
    <!-- Echo your stuff for full-sized screens --> 
</div> 
<!-- Maybe more -- depending on your requirements --> 

然後讓您的媒體查詢在正常屏幕上隱藏.mobile-only,反之亦然。雖然這看起來有點矯枉過正,但我​​想大多數情況下這是完全正常的。

更新:發佈媒體查詢,將做的工作(糾正它們,你認爲合適)

@media screen and (max-width:480px) { 
    .big-screen-only { display: none } 
} 

@media screen and (min-width:481px) { 
    .mobile-only { display: none } 
} 
+0

是的,這可能是解決方案,謝謝 – Warrior

相關問題