Bootstrap 导航栏中的链接表现不同
Links in Bootstrap navbar behave differently
我正在使用 Bootstrap 制作导航栏,可以看到 here
除 'Save and exit' link 外,所有 link 的行为方式相同。我该怎么做才能使 'Save and Exit' 看起来一样?不知道为什么它本来应该像其他 link 一样是灰色的,却一直是蓝色的?
下面包含代码。
HAML:
%nav.navbar.navbar-fixed-top.navbar-dark.bg-inverse
= link_to image_tag("logo-builder.png"), root_path
%ul.nav.navbar-nav.pull-xs-right
%li.nav-item
%button.btn.btn-link{type: 'button', 'data-toggle' => 'modal',
'data-target' => '#explainQuestionModal'}
Explain Question
%button.btn.btn-link
Preview
%button.btn.btn-link
= link_to 'Save and exit', root_path
= render 'explain_question_modal'
HTML:
<nav class="navbar navbar-fixed-top navbar-dark bg-inverse">
<%= link_to image_tag("logo-builder.png"), root_path %>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<button class="btn btn-link" data-target="#explainQuestionModal" data-toggle="modal" type="button">
Explain Question
</button>
<button class="btn btn-link">
Preview
</button>
<button class="btn btn-link">
<%= link_to 'Save and exit', root_path %>
</button>
</li>
</ul>
</nav>
<%= render 'explain_question_modal' %>
CSS:
.btn-link {
color:grey !important;
font-size:0.9em;
}
.btn-link:hover {
color:white;
}
.btn-link:focus {
color:white;
}
因为您正在使用 class .btn-link
设置 button
的样式,但是 "save and exit" 有一个 a link
作为button
的子项,它包装文本 "Save and Exit"
因此您需要添加 .btn-link a {color:grey}
以将 color
应用于 link
注意:我修复了 :hover
以与 a
一起使用
片段
.btn-link {
color: grey;
font-size: 0.9em;
}
/*added*/
.btn-link a {
color: grey;
text-decoration:none;
display:block
}
.btn-link:hover, .btn-link:hover a {
color:white;
}
.btn-link:focus, .btn-link:focus a {
color:white;
}
<nav class="navbar navbar-fixed-top navbar-dark bg-inverse">
<a href="#">
<img src="//lorempixel.com/100/100" />
</a>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<button class="btn btn-link" data-target="#explainQuestionModal" data-toggle="modal" type="button">
Explain Question
</button>
<button class="btn btn-link">
Preview
</button>
<button class="btn btn-link">
<a href="#">Save and exit</a>
</button>
</li>
</ul>
</nav>
作为替代方案,您不一定必须使用 buttons
,您可以只使用 a
标签来简化。
工作示例片段
.nav-item .nav-link {
color: grey;
outline: none;
}
.nav-item .nav-link:hover,
.nav-item .nav-link:focus {
color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-fixed-top navbar-dark bg-inverse">
<a class="navbar-brand" href="#">Navbar</a>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<a class="nav-link" data-toggle="modal" href="#explainQuestionModal">Explain Question</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/">Preview</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/">Save and Edit</a>
</li>
</ul>
</nav>
<div class="modal fade" id="explainQuestionModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">Title</h4>
</div>
<div class="modal-body">
Body
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
HAML 示例
%nav.navbar.navbar-fixed-top.navbar-dark.bg-inverse
%a.navbar-brand{:href => "#"} Brand
%ul.nav.navbar-nav.pull-xs-right
%li.nav-item
%a.nav-link{'data-toggle' => 'modal', 'data-target' => '#explainQuestionModal'}
Explain Question
%li.nav-item
%a.nav-link{:href => "/preview"}
Preview
%li.nav-item
%a.nav-link{:href => "/save"}
Save and Edit
.modal.fade#explainQuestionModal(tabindex="-1" role="dialog" aria-labelledby="explainQuestionModal" aria-hidden="true")
.modal-dialog(role="document")
.modal-content
.modal-header
%button.close(type="button" data-dismiss="modal" aria-label="Close")
%span(aria-hidden="true") ×
%h4.modal-title#explainQuestionModal Title
.modal-body
%p Body
.modal-footer
%button.btn.btn-secondary(type="button" data-dismiss="modal") Close
%button.btn.btn-primary(type="button") Save changes
我正在使用 Bootstrap 制作导航栏,可以看到 here
除 'Save and exit' link 外,所有 link 的行为方式相同。我该怎么做才能使 'Save and Exit' 看起来一样?不知道为什么它本来应该像其他 link 一样是灰色的,却一直是蓝色的?
下面包含代码。
HAML:
%nav.navbar.navbar-fixed-top.navbar-dark.bg-inverse
= link_to image_tag("logo-builder.png"), root_path
%ul.nav.navbar-nav.pull-xs-right
%li.nav-item
%button.btn.btn-link{type: 'button', 'data-toggle' => 'modal',
'data-target' => '#explainQuestionModal'}
Explain Question
%button.btn.btn-link
Preview
%button.btn.btn-link
= link_to 'Save and exit', root_path
= render 'explain_question_modal'
HTML:
<nav class="navbar navbar-fixed-top navbar-dark bg-inverse">
<%= link_to image_tag("logo-builder.png"), root_path %>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<button class="btn btn-link" data-target="#explainQuestionModal" data-toggle="modal" type="button">
Explain Question
</button>
<button class="btn btn-link">
Preview
</button>
<button class="btn btn-link">
<%= link_to 'Save and exit', root_path %>
</button>
</li>
</ul>
</nav>
<%= render 'explain_question_modal' %>
CSS:
.btn-link {
color:grey !important;
font-size:0.9em;
}
.btn-link:hover {
color:white;
}
.btn-link:focus {
color:white;
}
因为您正在使用 class .btn-link
设置 button
的样式,但是 "save and exit" 有一个 a link
作为button
的子项,它包装文本 "Save and Exit"
因此您需要添加 .btn-link a {color:grey}
以将 color
应用于 link
注意:我修复了 :hover
以与 a
一起使用
片段
.btn-link {
color: grey;
font-size: 0.9em;
}
/*added*/
.btn-link a {
color: grey;
text-decoration:none;
display:block
}
.btn-link:hover, .btn-link:hover a {
color:white;
}
.btn-link:focus, .btn-link:focus a {
color:white;
}
<nav class="navbar navbar-fixed-top navbar-dark bg-inverse">
<a href="#">
<img src="//lorempixel.com/100/100" />
</a>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<button class="btn btn-link" data-target="#explainQuestionModal" data-toggle="modal" type="button">
Explain Question
</button>
<button class="btn btn-link">
Preview
</button>
<button class="btn btn-link">
<a href="#">Save and exit</a>
</button>
</li>
</ul>
</nav>
作为替代方案,您不一定必须使用 buttons
,您可以只使用 a
标签来简化。
工作示例片段
.nav-item .nav-link {
color: grey;
outline: none;
}
.nav-item .nav-link:hover,
.nav-item .nav-link:focus {
color: white;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" rel="stylesheet" />
<nav class="navbar navbar-fixed-top navbar-dark bg-inverse">
<a class="navbar-brand" href="#">Navbar</a>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item">
<a class="nav-link" data-toggle="modal" href="#explainQuestionModal">Explain Question</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/">Preview</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/">Save and Edit</a>
</li>
</ul>
</nav>
<div class="modal fade" id="explainQuestionModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">Title</h4>
</div>
<div class="modal-body">
Body
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
HAML 示例
%nav.navbar.navbar-fixed-top.navbar-dark.bg-inverse
%a.navbar-brand{:href => "#"} Brand
%ul.nav.navbar-nav.pull-xs-right
%li.nav-item
%a.nav-link{'data-toggle' => 'modal', 'data-target' => '#explainQuestionModal'}
Explain Question
%li.nav-item
%a.nav-link{:href => "/preview"}
Preview
%li.nav-item
%a.nav-link{:href => "/save"}
Save and Edit
.modal.fade#explainQuestionModal(tabindex="-1" role="dialog" aria-labelledby="explainQuestionModal" aria-hidden="true")
.modal-dialog(role="document")
.modal-content
.modal-header
%button.close(type="button" data-dismiss="modal" aria-label="Close")
%span(aria-hidden="true") ×
%h4.modal-title#explainQuestionModal Title
.modal-body
%p Body
.modal-footer
%button.btn.btn-secondary(type="button" data-dismiss="modal") Close
%button.btn.btn-primary(type="button") Save changes