html - Bootstrap 4 : Inline-forms button height

标签 html css ruby-on-rails twitter-bootstrap

我正在开发一个“模拟”Facebook 克隆,我正在尝试在导航栏中做一个简单的“登录”表单。

到目前为止我的工作还不错,但是“登录”提交按钮比其他元素 float 得高得多:

Image

所以它看起来不错,但我猜按钮会去“标签”通常去的地方。

到目前为止,这是我的代码:

<div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav ml-auto">
      <li class="nav-item">
      <%= form_for(resource, as: resource_name, url: session_path(resource_name), class: "form-inline") do |f| %>
        <div class="field field form-group mb-2">
          <%= f.label :email %><br />
          <%= f.email_field :email, autofocus: true, autocomplete: "email", class: "form-control" %>
        </div>
      </li>
      <li class="nav-item">
        <div class="field field form-group mx-sm-3 mb-2">
          <%= f.label :password %><br />
          <%= f.password_field :password, autocomplete: "current-password", class: "form-control" %>
        </div>
      </li>
      <li class="nav-item">
        <div class="actions mb-2">
          <%= f.submit "Log in", class: "btn btn-primary" %>
        </div>
      </li>
      <% end %>
    </ul>
    </div>

将所有内容都包装在 li 中并将整个组包装在 ul 中有点令人沮丧我不知道这是否是 100% 必要的......但它是唯一可行的方法。

我想我可以将 margin-top 调整一些百分比,但我确信我缺少一个更清晰明显的方法。

最佳答案

这应该可行,你不应该将你的表单包装在 li 标签内,然后在 li 之外结束它,试试这个,只需将此代码更改为你的 erb 标签,使用常规 html 运行它以显示它

<html>
<head>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
  <nav class="navbar navbar-expand-sm navbar-light bg-light">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <div class="navbar-nav ml-auto">
        <form class="form-inline">
          <div class="field field form-group mb-2">
            <label for="email">Email</label><br />
            <input type="email" class="form-control" %>
          </div>
          <div class="field field form-group mx-sm-3 mb-2">
            <label for="password">Password</label><br /><br />
            <input type="password" class="form-control" %>
          </div>
          <div class="actions form-group mb-2">
            <input type="submit" class="btn btn-primary" %>
          </div>
        </form>
      </div>
    </div>
  </nav>
</body>
</html>

关于html - Bootstrap 4 : Inline-forms button height,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56226714/

相关文章:

ruby-on-rails - 为什么 Ruby on Rails 在编辑代码后会虚假地引发 0​​x104567910?

javascript - 从iFrame中获取内容,错误在哪里?

html - 应用相对和绝对定位时的不同边框

html - 从 bootstrap 隐藏 css 属性

iphone - 如何从视频中提取方向信息?

ruby-on-rails - 没有路由匹配 [GET] "/admin/sign_out"

javascript - Flash Professional HTML5 Canvas : Is it possible to share data between a HTML form and the Canvas?

javascript - 如何在本地存储AngularJS中存储按钮值?

html - 将 HTML 输入标签光标放在占位符文本的左侧

html - 如何将视频插入到框架中?