首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用顺风和铁轨固定按钮造型

用顺风和铁轨固定按钮造型
EN

Stack Overflow用户
提问于 2022-05-19 11:54:12
回答 1查看 467关注 0票数 1

在rails 7中使用button_to样式时,我遇到了一些小问题。我使用的是顺风,下面的html在图像中生成结果。

代码语言:javascript
复制
<div class="flex">
    <button type="button" class="flex-1 bg-indigo-600 py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
        Download
    </button>
    <button type="button" class="flex-1 ml-3 bg-white py-2 px-4 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
        Delete
    </button>
</div>
<div class="flex">
    <%= button_to 'Download', some_path(@obj), data: { turbo_confirm: "Are you sure?" }, class: "flex-1 bg-indigo-600 py-2 px-4 border border-transparent rounded-md shadow-sm text-sm font-medium text-white hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" %>
    <%= button_to 'Delete', some_path(@obj), data: { turbo_confirm: "Are you sure?" }, class: "flex-1 ml-3 bg-white py-2 px-4 border border-gray-300 rounded-md shadow-sm text-sm font-medium text-gray-700 hover:bg-gray 50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" %>
</div>

上面的两个按钮是我想要实现的,但由于某种原因,button_to标记将无法生成这个按钮。这很可能是因为它们生成了表单元素,但是我想知道如何解决这个问题?另外,我还在寻找使用按钮_to而不是link_to的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2022-05-22 02:46:32

button_to生成一个带有提交按钮的表单。此按钮不是挠曲项目,因为它不再是flex容器的直接子元素。这导致flex-1没有任何效果。

使用表单上的contents类“忽略”它,并使按钮成为一个flex项:

代码语言:javascript
复制
<div class="flex space-x-3">
  <%= button_to "Download", "/path", form_class: "contents", class: "flex-1" %>
  <%= button_to "Delete",   "/path", form_class: "contents", class: "flex-1" %>
</div>

或者将flex-1添加到表单中:

代码语言:javascript
复制
<div class="flex space-x-3">
  <%= button_to "Download", "/path", form_class: "flex-1", class: "w-full" %>
  <%= button_to "Delete",   "/path", form_class: "flex-1", class: "w-full" %>
</div>

或者使用grid

代码语言:javascript
复制
<div class="grid grid-cols-2 gap-3">
  <%= button_to "Download", "/path", class: "w-full" %>
  <%= button_to "Delete",   "/path", class: "w-full" %>
</div>

或者把它们混合在一起:

代码语言:javascript
复制
<div class="grid grid-cols-2 gap-3 md:grid-flow-col auto-cols-fr">
  <button type="button"> Download </button>
  <%= button_to "Download", "/path", form_class: "contents" %>
  <%= button_to "Delete",   "/path", form_class: "flex", class: "flex-grow" %>
  <%= button_to "Delete",   "/path", class: "w-full" %>
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72304091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档