无法使用 Tailwindcss 居中表单
Unable to center form using Tailwindcss
我目前正在处理 Rails 6 应用程序并制作表格。我想将表单居中放置在页面中间。我正在使用 Tailwindcss 来设置页面样式。但是当我添加 with 时,如果移动到页面右侧,它不会居中。
表单如下所示:
<div class="max-w-full">
<%= form_for @post do |f| %>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :title, 'Title:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_field :title, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :description, 'Description:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_area :description, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :location, 'Location:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_field :location, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6 upload-btn-wrapper">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :image, 'Image:' %>
</label>
</div>
<div class="md:w-2/3" id="file-upload">
<svg xmlns="http://www.w3.org/2000/svg" class="fill-current text-teal-500 inline-block h-12 w-12" viewBox="0 0 22 22"><path d="M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2h-3zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8h-3zM5 19l3-4 2 3 3-4 4 5H5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
<%= f.file_field :image, as: :file %>
</div>
</div>
<div class="md:flex md:items-center">
<div class="md:w-1/3"></div>
<div class="md:w-2/3">
<%= f.submit "Create", class: "shadow bg-purple-500 hover:bg-purple-400 focus:shadow-outline focus:outline-none text-white font-bold py-2 px-4 rounded" %>
</div>
</div>
<% end %>
</div>
有什么想法吗?
我不确定。你可以试试这个。希望对你有用。
<div class="max-w-full">
<%= form_for @post do |f| %>
<center>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :title, 'Title:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_field :title, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :description, 'Description:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_area :description, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :location, 'Location:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_field :location, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6 upload-btn-wrapper">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :image, 'Image:' %>
</label>
</div>
<div class="md:w-2/3" id="file-upload">
<svg xmlns="http://www.w3.org/2000/svg" class="fill-current text-teal-500 inline-block h-12 w-12" viewBox="0 0 22 22"><path d="M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2h-3zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8h-3zM5 19l3-4 2 3 3-4 4 5H5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
<%= f.file_field :image, as: :file %>
</div>
</div>
</center>
<div class="md:flex md:items-center">
<div class="md:w-1/3"></div>
<div class="md:w-2/3">
<%= f.submit "Create", class: "shadow bg-purple-500 hover:bg-purple-400 focus:shadow-outline focus:outline-none text-white font-bold py-2 px-4 rounded" %>
</div>
</div>
<% end %>
</div>
<div class="md:flex md:items-center mb-6">
也许应该
<div class="md:flex md:justify-center mb-6">
您位于行网格中,而不是列中,因此使用 justify-center 而非项目中心 (flex-col) 居中。
没有 h-screen class,items-center 不工作所以在你的情况下 'div' 必须居中也需要这个
<div class="md:flex md:h-screen md:items-center mb-6">
我目前正在处理 Rails 6 应用程序并制作表格。我想将表单居中放置在页面中间。我正在使用 Tailwindcss 来设置页面样式。但是当我添加 with 时,如果移动到页面右侧,它不会居中。
表单如下所示:
<div class="max-w-full">
<%= form_for @post do |f| %>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :title, 'Title:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_field :title, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :description, 'Description:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_area :description, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :location, 'Location:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_field :location, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6 upload-btn-wrapper">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :image, 'Image:' %>
</label>
</div>
<div class="md:w-2/3" id="file-upload">
<svg xmlns="http://www.w3.org/2000/svg" class="fill-current text-teal-500 inline-block h-12 w-12" viewBox="0 0 22 22"><path d="M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2h-3zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8h-3zM5 19l3-4 2 3 3-4 4 5H5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
<%= f.file_field :image, as: :file %>
</div>
</div>
<div class="md:flex md:items-center">
<div class="md:w-1/3"></div>
<div class="md:w-2/3">
<%= f.submit "Create", class: "shadow bg-purple-500 hover:bg-purple-400 focus:shadow-outline focus:outline-none text-white font-bold py-2 px-4 rounded" %>
</div>
</div>
<% end %>
</div>
有什么想法吗?
我不确定。你可以试试这个。希望对你有用。
<div class="max-w-full">
<%= form_for @post do |f| %>
<center>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :title, 'Title:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_field :title, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :description, 'Description:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_area :description, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :location, 'Location:' %>
</label>
</div>
<div class="md:w-2/3">
<%= f.text_field :location, class: "bg-gray-200 appearance-none border-2 border-gray-200 rounded w-full py-2 px-4 text-gray-700 leading-tight focus:outline-none focus:bg-white focus:border-purple-500" %>
</div>
</div>
<div class="md:flex md:items-center mb-6 upload-btn-wrapper">
<div class="md:w-1/3">
<label class="block text-gray-500 font-bold md:text-right mb-1 md:mb-0 pr-4" for="inline-full-name">
<%= f.label :image, 'Image:' %>
</label>
</div>
<div class="md:w-2/3" id="file-upload">
<svg xmlns="http://www.w3.org/2000/svg" class="fill-current text-teal-500 inline-block h-12 w-12" viewBox="0 0 22 22"><path d="M19 7v2.99s-1.99.01-2 0V7h-3s.01-1.99 0-2h3V2h2v3h3v2h-3zm-3 4V8h-3V5H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8h-3zM5 19l3-4 2 3 3-4 4 5H5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
<%= f.file_field :image, as: :file %>
</div>
</div>
</center>
<div class="md:flex md:items-center">
<div class="md:w-1/3"></div>
<div class="md:w-2/3">
<%= f.submit "Create", class: "shadow bg-purple-500 hover:bg-purple-400 focus:shadow-outline focus:outline-none text-white font-bold py-2 px-4 rounded" %>
</div>
</div>
<% end %>
</div>
<div class="md:flex md:items-center mb-6">
也许应该
<div class="md:flex md:justify-center mb-6">
您位于行网格中,而不是列中,因此使用 justify-center 而非项目中心 (flex-col) 居中。
没有 h-screen class,items-center 不工作所以在你的情况下 'div' 必须居中也需要这个
<div class="md:flex md:h-screen md:items-center mb-6">