参见编辑:
我有一个模态,我试图循环并在循环中每次显示。到目前为止,我有以下代码,我试图在单击按钮时显示模式。到目前为止,它不是一个模态,而是显示在按钮下方。我觉得我可能错过了javascript,但我似乎无法在网上找到合适的东西。我认为这可能很简单,我只是遗漏了一些东西。任何帮助都会很棒,我还是新手!谢谢!
<label class="btn" for="modal-x">Add Map</label>
<input class="modal-state" id="modal-x" type="checkbox" />
<div class="modal">
<label class="modal__bg" for="modal-x"></label>
<div class="modal__inner">
<label class="modal__close" for="modal-x"></label>
<h1>Add Mapfile</h1>
<%= form_for(@posts, multipart: true) do |f| %>
<div class="field">
<%= f.hidden_field :location_id, :value => @location.id%>
</div>
<div class="field">
<%= f.file_field :mapfile %>
</div>
<p></p>
<div class="actions" id="submit-map">
<%= f.submit 'Submit' %>
</div>
<%end %>
</div>
</div>
修改: 我已经弄清楚如何使模态工作,但现在它显示在我正在使用的数据表后面,而不是在它之前/之前。是否有可以改变的属性将模态带到前面?
这是我的css:
.modal {
opacity: 0;
visibility: hidden; position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
text-align: left;
background: rgba(0,0,0, .9);
transition: opacity .25s ease;
}
.modal__bg {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
cursor: pointer;
}
.modal-state {
display: none;
}
.modal-state:checked + .modal {
opacity: 1;
visibility: visible;
}
.modal-state:checked + .modal .modal__inner {
top: 0;
}
.modal__inner {
transition: top .25s ease;
position: absolute;
top: -20%;
right: 0;
bottom: 0;
left: 0;
width: 50%;
margin: auto;
overflow: auto;
background: #fff;
border-radius: 5px;
padding: 1em 2em;
height: 50%;
}
.modal__close {
position: absolute;
right: 1em;
top: 1em;
width: 1.1em;
height: 1.1em;
cursor: pointer;
}
.modal__close:after,
.modal__close:before {
content: '';
position: absolute;
width: 2px;
height: 1.5em;
background: #ccc;
display: block;
transform: rotate(45deg);
left: 50%;
margin: -3px 0 0 -1px;
top: 0;
}
.modal__close:hover:after,
.modal__close:hover:before {
background: #aaa;
}
.modal__close:before {
transform: rotate(-45deg);
}
@media screen and (max-width: 768px) {
.modal__inner {
width: 90%;
height: 90%;
box-sizing: border-box;
}
}
答案 0 :(得分:0)
在另一个div中包含你的div模式,否则循环中的其他按钮将不会出现。
确保加载bootstrap css和bootstrap js。
在你的宝石文件中有这个。
gem 'bootstrap-sass', '~> 3.3.5'
在你的application.css中
@import "bootstrap-sprockets";
@import "bootstrap";
你的application.js应该看起来像这样
//= require jquery
//= require jquery_ujs
//= require bootstrap-sprockets
//= require turbolinks
//= require_tree .
尝试此操作并重新启动服务器。