javascript - 选项卡文本颜色在选择选项卡时变为黑色 - 单击屏幕上的任何位置后,我得到我的结果
问题描述
我正在使用 html、css 和 bootstrap 来设计一些选项卡。这是我现在得到的结果:
单击屏幕上的任何位置时,我都会得到我有代码的原始结果。
如何解决这2个问题:
在选择/单击任何选项卡时,选项卡文本颜色必须变为红色。正如您在我的代码中看到的那样,我已经尝试过 active 关键字。
实际结果可以立即显示,而不是点击屏幕。
我的代码:
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="tab" role="tabpanel">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#medicalNotes" aria-controls="home" role="tab" data-toggle="tab">Medical Notes</a></li>
<li role="presentation" ><a href="#medication" aria-controls="profile" role="tab" data-toggle="tab">Medications</a></li>
<li role="presentation"><a href="#allergies" aria-controls="messages" role="tab" data-toggle="tab">Allergies</a></li>
<li role="presentation"><a href="#vitalsh" aria-controls="messages" role="tab" data-toggle="tab">Vital Social history</a></li>
<li role="presentation"><a href="#familyhh" aria-controls="messages" role="tab" data-toggle="tab">Family Health history</a></li>
</ul>
<div class="tab-content tabs">
<div role="tabpanel" class="tab-pane fade in active" id="medicalNotes">
<h3>Section 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
<div role="tabpanel" class="tab-pane fade" id="medication">
<h3>Section 2</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
<div role="tabpanel" class="tab-pane fade" id="allergies">
<h3>Section 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
<div role="tabpanel" class="tab-pane fade" id="vitalsh">
<h3>Section 4</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
<div role="tabpanel" class="tab-pane fade" id="familyhh">
<h3>Section 5</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
</div>
</div>
</div>
</div>
CSS
a:hover,a:focus{
text-decoration: none;
outline: none;
}
.tab .nav-tabs{
border: none;
border-bottom: 2px solid #dc697f;
margin: 0;}
.tab .nav-tabs li a{
padding: 10px 20px;
margin: 0 10px -1px 0;
font-size: 13px;
font-weight: 800;
color: #6da1b7;
text-transform: uppercase;
border: 2px solid #e6e5e1;
border-bottom: none;
border-radius: 5px 5px 0 0;
z-index: 1;
position: relative;
transition: all 0.3s ease 0s;
}
.tab .nav-tabs li.active a{
background: #fff;
color: #6da1b7;
border: 2px solid #dc697f;
border-bottom-color: transparent;
border-top-width: 3px;
border-right-width: 1px;
border-left-width: 1px;
border-radius: 7px;
}
.tab .nav-tabs li a:before{
content: "";
display: block;
height: 3px;
background: #fff;
position: absolute;
bottom: -2px;
left: 0;
right: 0;
transform: scaleX(0);
transition: all 0.3s ease-in-out 0s;
}
.nav-tabs > li > a{
color: #D33E1E;
}
.tab .nav-tabs li.active a:before,
.tab .nav-tabs li a:hover:before{ transform: scaleX(1); }
.tab .tab-content{
padding: 10px;
font-size: 19px;
color: #6f6f6f;
line-height: 30px;
letter-spacing: 1px;
position: relative;
}
@media only screen and (max-width: 479px){
.tab .nav-tabs{ border: none; }
.tab .nav-tabs li{
width: 100%;
text-align: center;
margin-bottom: 15px;
}
.tab .nav-tabs li a{
margin: 0;
border-bottom: 2px solid transparent;
}
.tab .nav-tabs li a:before{
content: "";
width: 100%;
height: 2px;
background: #dc697f;
position: absolute;
bottom: -2px;
left: 0;
}
}
解决方案
颜色被nav.less
css 文件覆盖。!important
不推荐。相反,您可以specificity
通过使用不同的选择器而不是相同来增加nav.less
. i:ea
具有以 .href
开头的属性的目标#
。示例 - .tab .nav-tabs li.active a[href^="#"]
。
a:hover,
a:focus {
text-decoration: none;
outline: none;
}
.tab .nav-tabs {
border: none;
border-bottom: 2px solid #dc697f;
margin: 0;
}
.tab .nav-tabs li a {
padding: 10px 20px;
margin: 0 10px -1px 0;
font-size: 13px;
font-weight: 800;
color: #6da1b7;
text-transform: uppercase;
border: 2px solid #e6e5e1;
border-bottom: none;
border-radius: 5px 5px 0 0;
z-index: 1;
position: relative;
transition: all 0.3s ease 0s;
}
.tab .nav-tabs li.active a[href^="#"] {
background: #fff;
color: red;
border: 2px solid #dc697f;
border-bottom-color: transparent;
border-top-width: 3px;
border-right-width: 1px;
border-left-width: 1px;
border-radius: 7px;
}
.tab .nav-tabs li a:before {
content: "";
display: block;
height: 3px;
background: #fff;
position: absolute;
bottom: -2px;
left: 0;
right: 0;
transform: scaleX(0);
transition: all 0.3s ease-in-out 0s;
}
.nav-tabs>li>a {
color: #D33E1E;
}
.tab .nav-tabs li.active a:before,
.tab .nav-tabs li a:hover:before {
transform: scaleX(1);
}
.tab .tab-content {
padding: 10px;
font-size: 19px;
color: #6f6f6f;
line-height: 30px;
letter-spacing: 1px;
position: relative;
}
@media only screen and (max-width: 479px) {
.tab .nav-tabs {
border: none;
}
.tab .nav-tabs li {
width: 100%;
text-align: center;
margin-bottom: 15px;
}
.tab .nav-tabs li a {
margin: 0;
border-bottom: 2px solid transparent;
}
.tab .nav-tabs li a:before {
content: "";
width: 100%;
height: 2px;
background: #dc697f;
position: absolute;
bottom: -2px;
left: 0;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="tab" role="tabpanel">
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#medicalNotes" aria-controls="home" role="tab" data-toggle="tab">Medical Notes</a></li>
<li role="presentation"><a href="#medication" aria-controls="profile" role="tab" data-toggle="tab">Medications</a></li>
<li role="presentation"><a href="#allergies" aria-controls="messages" role="tab" data-toggle="tab">Allergies</a></li>
<li role="presentation"><a href="#vitalsh" aria-controls="messages" role="tab" data-toggle="tab">Vital Social history</a></li>
<li role="presentation"><a href="#familyhh" aria-controls="messages" role="tab" data-toggle="tab">Family Health history</a></li>
</ul>
<div class="tab-content tabs">
<div role="tabpanel" class="tab-pane fade in active" id="medicalNotes">
<h3>Section 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
<div role="tabpanel" class="tab-pane fade" id="medication">
<h3>Section 2</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
<div role="tabpanel" class="tab-pane fade" id="allergies">
<h3>Section 3</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
<div role="tabpanel" class="tab-pane fade" id="vitalsh">
<h3>Section 4</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
<div role="tabpanel" class="tab-pane fade" id="familyhh">
<h3>Section 5</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce semper, magna a ultricies volutpat, mi eros viverra massa, vitae consequat nisi justo in tortor. Proin accumsan felis ac felis dapibus, non iaculis mi varius.</p>
</div>
</div>
</div>
</div>
</div>
推荐阅读
- ios - 将base64字符串格式的图片上传到服务器
- asp.net - 如何在 ASP.Net 应用程序的 react.js 前端处理身份验证状态
- ruby - Ruby Nokogiri 抓取数据 URL
- django - Django 为管理员和员工用户建模清洁方法
- c++ - Makefile 创建两个库 - 一个依赖于另一个
- android - android NDK致命错误:stdio.h:没有这样的文件或目录#include
- java - Java 盒子的最大体积 --objects/array
- vue.js - 通过 Vue Computed Setter 调用 Vuex Action
- javascript - 未设置本机基本输入参考
- winforms - SharpGL - 用网格绘制球体并为每个球体附加颜色