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)
});

有更好的方法吗?

谢谢

iPad不是特定视图

处理跨多个设备的多个屏幕分辨率的最佳方法是通过层叠样式表。实际上,你可以指定哪种分辨率应该运行你的布局的变化。

你也可以用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 QueriesViewports

一个重要的注意事项,一些移动设备已经提高了分辨率。因此,它们看起来和处理一个正常的桌面网站是正确的,但实际上往往不是这样。例如,hover effect不能在手机上正常工作,因为它们是单点。它不知道手什么时候在按钮上方。所以触摸屏经常不能正确处理桌面界面。在你的设计过程中要记住这一点。

希望这对你有所帮助,或者为你指明正确的方向。