Flash消息的CSS样式

Jus*_*zer 5 css ruby ruby-on-rails stylesheet

如何在CSS中设置Flash消息样式?我似乎无法更改其样式。这<body>是我的应用程序布局中的相关代码:

    <div class="container">
      <%= render 'layouts/header' %>
      <section class="round">
        <div id= "notice">
          <% flash.each do |key, value| %>
            <div class="flash <%= key %>">
              <%= value %>
            </div>
          <% end %>
        </div>
        <%= yield %>
      </section>
      <%= render 'layouts/footer' %>
      <%= debug(params) if Rails.env.development? %>
    </div>
Run Code Online (Sandbox Code Playgroud)

相关的原始CSS就是这样,但目前无法使用。

.error, .alert, .notice, .success, .info {padding:0.8em;margin-bottom:1em;border:2px solid #ddd;}
.success {background:#e6efc2;color:#264409;border-color:#c6d880;}
Run Code Online (Sandbox Code Playgroud)

zet*_*tic 0

看起来 CSS 需要一个 class .notice,但 div 有一个 ID 。

编辑

CSS 不响应 flash 或 <%= key %> 类,但它响应通知 ID。不幸的是,如果我使用通知 ID 进行样式设置,则会出现一些样式,这些样式应该取决于是否有 Flash 消息。我怎样才能解决这个问题

您可以在 div 周围添加条件测试:

<% unless flash.empty? %>
  <div id="notice">
    <% flash.each do |key, value| %>
      <div class="flash <%= key %>">
        <%= value %>
      </div>
    <% end %>
  </div>
<% end %>
Run Code Online (Sandbox Code Playgroud)