【问题标题】:How to hide or show elements in the view according to the screen size using rails?如何使用rails根据屏幕尺寸隐藏或显示视图中的元素?
【发布时间】:2014-03-05 10:45:56
【问题描述】:

这是我的登录表单的一部分代码:

    <div class="row">

        <div class="small-10 medium-8 large-6 small-centered columns">

            <div class="row collapse animated slideInLeft">

                <div class="hide-for-small-only medium-4 large-4 large-centered columns ">
                  <%= f.label :email, 'Email', class: "prefix signlbl email" %>
                </div>

                <div class="hide-for-small-only small-12 medium-8 large-8 columns">
                  <%= f.text_field :email, class: "input" %>
                </div>
                <div class="show-for-small-only small-12 medium-8 large-8 columns">
                  <%= f.text_field :email, class: "input smallmail", autofocus: true, placeholder: "Email" %>
                </div>

            </div>
        </div>          

    </div>

我已经使用Zurb Foundation根据屏幕大小显示和隐藏电子邮件表单。当屏幕较小时,会显示一个不同的输入字段,其中包含一个附加类“smallmail”(因此我可以为移动版本设置不同的样式)和一个占位符,因为在移动版本中我隐藏了标签。完整版网站不需要占位符。

这可行,但有一个问题。该表单有两个带有电子邮件的输入字段,Rails 应用程序会感到困惑。表格不起作用。我该如何解决这个问题?

【问题讨论】:

  • 为什么您实际上需要这两个电子邮件字段?在我看来,您应该让 css 来处理响应性。样式随屏幕大小而变化,但形式保持不变。我认为您需要两种方式来设置电子邮件输入的样式,而不是两个单独的电子邮件字段。 (编辑:rails4guides 说得更好:))

标签: javascript ruby-on-rails ruby ruby-on-rails-4 zurb-foundation


【解决方案1】:

为什么您需要多个电子邮件输入字段?如果你想要的只是不同的样式,那你就走错了方向。如果您想为您的移动版本设置不同的样式,您可以使用媒体查询:http://foundation.zurb.com/docs/media-queries.html。现在您可以为小屏幕添加额外的 CSS。

【讨论】:

  • 可以这样添加占位符吗?
  • 非常感谢。我使用媒体查询将占位符设置为全屏白色,因此它们是不可见的!
猜你喜欢
  • 1970-01-01
  • 2017-12-03
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2017-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多