iPad不是特定视图
本文关键字:视图 iPad | 更新日期: 2023-09-27 18:04:00
基于这篇文章http://www.asp.net/mvc/tutorials/mvc-4/aspnet-mvc-4-mobile-features,展示了如何识别一个特定的视图。
MVC4将iPad的请求识别为移动设备,但我希望它识别为桌面设备而不是移动设备,所以我使用了以下代码:
DisplayModeProvider.Instance.Modes.Insert(0, new DefaultDisplayMode("")
{
ContextCondition = (context => context.GetOverriddenUserAgent().IndexOf("iPad", StringComparison.OrdinalIgnoreCase) >= 0)
});
有更好的方法吗?
谢谢
处理跨多个设备的多个屏幕分辨率的最佳方法是通过层叠样式表。实际上,你可以指定哪种分辨率应该运行你的布局的变化。
你也可以用Javascript来完成它,它可以让你创建一个真正的动态分辨率依赖布局。在这里可以找到一个这样的例子。
你可以为你的样式表做一个Media Query
,或者Viewport
。
一个例子是:
@media screen and (max-width: 980px) {
#pagewrap {
width: 95%;
}
#content {
width: 60%;
padding: 3% 4%;
}
#sidebar {
width: 30%;
}
#sidebar .widget {
padding: 8% 7%;
margin-bottom: 10px;
}
将选择小于980px的屏幕并调整页面。
您可以在这里找到一些关于之类的调整。你提到的那篇文章实际上也建议使用Media Queries
和Viewports
。
一个重要的注意事项,一些移动设备已经提高了分辨率。因此,它们看起来和处理一个正常的桌面网站是正确的,但实际上往往不是这样。例如,hover effect
不能在手机上正常工作,因为它们是单点。它不知道手什么时候在按钮上方。所以触摸屏经常不能正确处理桌面界面。在你的设计过程中要记住这一点。
希望这对你有所帮助,或者为你指明正确的方向。