Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 引导导航栏,仅在一个视图上更改背景颜色_Css_Ruby On Rails_Twitter Bootstrap - Fatal编程技术网

Css 引导导航栏,仅在一个视图上更改背景颜色

Css 引导导航栏,仅在一个视图上更改背景颜色,css,ruby-on-rails,twitter-bootstrap,Css,Ruby On Rails,Twitter Bootstrap,我希望我的导航栏在除主页外的所有页面/视图上都有白色背景。我希望我的导航栏在主页上是透明的背景。有没有办法在引导中实现这一点 我在一个rails应用程序上,前端使用bootstrap <nav class="navbar navbar-default"> <div class="container yeh"> <!-- Brand and toggle get grouped for better mobile display --> <

我希望我的导航栏在除主页外的所有页面/视图上都有白色背景。我希望我的导航栏在主页上是透明的背景。有没有办法在引导中实现这一点

我在一个rails应用程序上,前端使用bootstrap

<nav class="navbar navbar-default">
  <div class="container yeh">
    <!-- Brand and toggle get grouped for better mobile display -->
   <div class="navbar-header">
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false" style="margin-top:3px;">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">MyAPP</a>
    </div>

    <div class="navbar-container-right">

      <div class="collapse navbar-collapse", id="bs-example-navbar-collapse-1">

        <ul class="nav navbar-nav navbar-right">

          <li class="dropdown">
            <%= link_to 'Investments', proposals_path %>
          </li>
          <li>
            <%= link_to 'Community', users_path %>
          </li>
          <% if current_user.present? %>
          <li>
            <%= link_to 'Dashboard', dashboard_path %>
          </li>
          <li>
            <%= link_to 'Edit Profile', edit_user_path(current_user) %>
          </li>
          <li>  
            <%= link_to 'Sign Out',destroy_user_session_path, :method => :delete %>
          </li>
          <% else %>
          <li>
            <%= link_to 'Sign In', new_user_session_path %>
          </li>
          <li>
            <%= link_to 'Register Now!', new_user_registration_path %>
          </li>
          <% end %>

        </ul>
    </div>

    </div>
  </div>
</nav>

切换导航
  • :删除%>

一种方法是只为主页添加一个自定义类,将样式设置为透明。例如,您可以执行以下操作:

在主页视图的顶部添加:

<% provide(:nav_style, "transparent-nav") %>

&css代码的作用是什么?“我会把ruby代码放在主视图的顶部吗?”james the指的是父选择器。因此,在本例中,&相当于
.navbar default
,因此输出的CSS将是
.navbar default.transparent nav
@james您将把ruby代码放在主页视图的顶部。它只是用来将“透明导航”传递给视图文件(在本例中为头文件)。正如allejo所提到的,如果您没有使用Sass,您可以简单地写出css。(尽管我建议有机会的时候去看看Sass:)
<nav class="navbar navbar-default <%= yield(:nav_style) %>">
.navbar-default{
      background-color: white;
    &.transparent-nav {
      background-color: transparent;
    }
}