我很抱歉,如果有人问过这个问题,我确定某处必须有答案,但由于某些原因我无法找到它,可能使用了错误的搜索查询
我知道您可以使用媒体查询来定位不同的设备,如下所示:
@media only screen and (max-device-width: 480px) {
div#wrapper {
width: 400px;
}
}
但我想知道的是,如何根据所查看的设备更改我的网站设计?
示例
让我们说我的正常网站结构是这样的:
if desktop
<div id="user">
<div id="profilePic">
<img src="images/responSiveTest/ppic.PNG" class="p-img" />
</div>
<div id="uname">
<h4 style="color:white">Welcome Guest</h4>
<p style="color:white">Please Log in</p>
</div>
</div>
现在,当用户在移动设备上查看我的网站时,如何更改我的div
/网站布局,请说出与此类似的内容
如果移动设备
<div id="mobileNav">
<div id="namePic">
<!-- Mobile user -->
</div>
</div>
希望我的要求是有道理的,感谢这个神奇的网站上的每个人都提供帮助
答案 0 :(得分:5)
我通常在我的项目中这样做。我默认准备内容,但设置为display:none,当媒体查询检测到移动设备宽度时,它将为设备呈现适当的内容。
使用CSS媒体查询
<强> HTML 强>
<div id="content">
<div class="desktop">
<!--
some content and markups here. by default this is loaded in desktop
-->
</div>
<div class="mobile_device_380px">
<!-- content and some markups for mobile -->
</div>
<div class="mobile_device_480px">
<!-- content and some markups for mobile -->
</div>
</div>
<强> CSS 强>
/* if desktop */
.mobile_device_380px {
display: none;
}
.mobile_device_480px {
display: none;
}
/* if mobile device max width 380px */
@media only screen and (max-device-width: 380px) {
.mobile_device_380px{display: block;}
.desktop {display: none;}
}
/* if mobile device max width 480px */
@media only screen and (max-device-width: 480px) {
.mobile_device_480px{display: block;}
.desktop {display: none;}
}
请注意您的页面可能需要很长时间才能加载。只是限制你需要改变和具体的内容。
答案 1 :(得分:0)
如果你想用纯JavaScript做到这一点,那么它就是 -
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
// some code..
}
再次,您可以使用jquery -
执行此操作$.browser.device = (/android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
如果您想使用PHP check out this article
执行此操作答案 2 :(得分:0)
您可以使用this module
要检测手机或平板电脑等移动设备,您可以使用此代码。
require_once '../Mobile_Detect.php';
$detect = new Mobile_Detect;
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');