0

基于这篇文章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)
});

还有其他更好的方法吗?

谢谢

4

1 回答 1

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

这将占用任何小于 980 像素的屏幕并调整页面。

您也可以在此处找到一些关于此类的调整。您提到的那篇文章实际上也建议使用Media Queriesand Viewports

需要注意的是,一些移动设备已经提高了分辨率。所以看起来他们看起来和处理一个正常的桌面网站是正确的,但他们通常不会。例如, ahover effect在电话上无法正常工作,因为他们单击。它不知道手何时在按钮上方。触摸屏经常不能正确处理桌面界面。在你的设计过程中记住这一点。

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

于 2013-03-14T16:12:45.787 回答