【问题标题】:How to show mobile screen design on large screen size?如何在大屏幕上显示手机屏幕设计?
【发布时间】:2015-02-12 08:03:00
【问题描述】:

我在设备之间切换设计时遇到问题。我知道 css3 @media 查询用于根据设备宽度、方向等进行处理。

就设备尺寸而言,css 媒体查询在大屏幕尺寸或移动屏幕尺寸上工作得非常好。

例如

这是针对手机屏幕尺寸的设计。

这是大屏幕的设计

媒体查询可以正常切换设计。但是当父 div 尺寸较小时,我想在桌面屏幕上显示移动屏幕设计,例如等于移动屏幕尺寸?

在以下情况下,我需要在桌面屏幕尺寸上显示移动屏幕设计。

我用谷歌搜索了它,但没有找到任何运气。我还尝试了不同的媒体查询选项。有没有办法解决这个问题?

对不起,我忘了提到我正在使用foundation 框架进行响应式设计。

【问题讨论】:

  • 您可以使用谷歌浏览器的模拟器或调整窗口大小(也许)@media 小于调整窗口大小时的工作
  • 你使用的是设备宽度还是屏幕宽度?
  • 与 Darshan 的回答类似,在 Firefox 中,您可以从开发人员工具中获得响应式设计模式。按F12,右上方有个按钮叫“响应式设计模式”
  • this 怎么样?
  • 响应式设计运行良好。我需要在大屏幕上展示手机屏幕设计。有什么方法可以在父 div 宽度的基础上显示小屏幕尺寸设计?

标签: javascript html css media-queries


【解决方案1】:

媒体查询以屏幕为目标。假设您有以下结构:

<div id="foo">
    <div id="bar">
    </div>
</div>

如果您使用媒体查询检查width,您实际上是在检查屏幕width。但是,如果您检查width

function isLarge(element, limit) {
    return element.width() >= limit;
}

然后根据大小添加一个类:

function addSizeClass(element, limit) {
    element.addClass(isLarge(element, limit) ? "large" : "small");
}

然后您为元素的父级调用 function

addSizeClass($("#bar").parent(), 700);

那么,你可以设计.large.small,像这样:

.large div {
    /*your rules*/
}

.small div {
    /*your rules*/
}

【讨论】:

    【解决方案2】:

    您不能将媒体查询链接到 div 大小。

    处理这个问题的常用方法是将它们链接到屏幕宽度,并将 div 宽度设置为屏幕宽度的某个百分比。

    现在,你只需要做一些数学运算..

    这里的基本问题是您应该为所有页面进行可变/响应式设计,而不仅仅是列表

    【讨论】:

    • 如何使用 iframe(@Petroff 在评论中提到)?这是个好方法吗?
    • 使用 iframe 是一种好方法,如果它不会在您处理页面的方式上产生问题。但很可能它会在某个地方给你带来问题。无论如何,Petroff 的答案与在生产环境中的开发场景中进行更相关
    • 你说得对,我尝试使用 iframe 并引发角度范围问题。我想我必须接受你的解决方案。
    • 耶!我解决了这个问题。唯一的解决办法是进行计算。如果您不想学习数学,请创建一个父类并在其中复制小屏幕 css。因此,在大屏幕上,当您提及父类时,它将作为移动设计做出反应。
    【解决方案3】:

    我没有使用基础框架。但在媒体查询中,您可以给出屏幕最大宽度的条件:

    @media screen and (max-width: 320px) {

    // 在此处编写移动设备的 css 代码

    }

    现在,假设您想区分移动设备或大型设备 您可以在 css 中同时使用 width 属性。

    这样你就可以在

    之间留出余量

    姓名:科莱特·西姆科

    Collete 举办的活动

    【讨论】:

      【解决方案4】:

      您始终可以使用 iframe 在您的开发版本中显示页面,而不是更改您的浏览器设置。也可能使通用测试更容易。


      JavaScript

      function iframe( ) {
          try { return window.self !== window.top; }
          catch( e ) { return true; }
      }
      
      if ( !iframe( ) ) {
          theParent = document.getElementsByTagName( "body" )[ 0 ];
          theIframe = document.createElement( "iframe" );
          theIframe.className = "smallScreen";
          theIframe.src = "http://example.com/"; // Replace the address with your site address
          theParent.insertBefore( theIframe, theParent.firstChild );
      }
      

      CSS

      iframe.smallScreen {
          position: absolute;
          z-index: 1000;
          border: 1px solid #000000;
          height: 800px;
          width: 500px;
          right: 500px;
          top: 50px
      }
      

      我们在做 Facebook 应用程序时使用这种技术,非常适合测试,无需一直调整窗口大小 - 可以同时看到两种尺寸,并且两端都可以正常工作。

      如果您使用的是 jQuery,您不妨执行以下操作(结合使用上面的 CSS 代码)。


      JavaScript (jQuery 实现)

      function iframe( ) {
          try { return window.self !== window.top; }
          catch( e ) { return true; }
      }
      
      if ( !iframe( ) )
          $( "body" ).prepend( '<iframe class="smallScreen" src="http://example.com/" />' ); // Replace the address with your site address
      

      this Stack Overflow answer 中挑选的帧检测。

      不完全是防弹的,取决于您使用的库,但肯定值得一试并且在大多数情况下都可以工作。

      【讨论】:

      • 问题不在于测试响应式设计(您知道大多数浏览器都为此提供开发人员工具吗?),而是根据周围 div 的大小切换设计。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 2013-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多