Css 引导导航栏,仅在一个视图上更改背景颜色
我希望我的导航栏在除主页外的所有页面/视图上都有白色背景。我希望我的导航栏在主页上是透明的背景。有没有办法在引导中实现这一点 我在一个rails应用程序上,前端使用bootstrapCss 引导导航栏,仅在一个视图上更改背景颜色,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 --> <
<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;
}
}