选择新锚点会更改背景颜色并删除先前单击的锚点的背景颜色
selection of new anchor changes background colour and removes background colour of previously clicked anchor
我希望就地创建 this effect with this 语法。
基本上我希望选定的导航按钮有背景色,但其他的则没有。由于这些导航按钮在一个 html 页面内并且不会 link 在页面之外,这是一个问题,因为我不能简单地将 class="selected" style="css">
应用于它。
我曾尝试使用 js 和 jquery 在其他问题上找到的,但这些都不适合我。
<div id="header">
<a class="head">Title</a>
<a class="test head"><label for="tab1" id="label1" class="label">Tab 1</label></a>
<a class="test head"><label for="tab2" id="label2" class="label">Tab 2</label></a>
<a class="test head"><label for="tab3" id="label3" class="label">Tab 3</label></a>
<a class="test head"><label for="tab4" id="label4" class="label">Tab 4</label></a>
</div>
我尝试使用 :active、:selected 和所有可能的伪 类,其中 none 将起作用。任何建议将不胜感激。谢谢。
我不清楚确切你想做什么,但可以修改链接Jquery以满足你的结构。
$('#header a').click(function() {
$('#header a').not(this).removeClass('selected');
$(this).addClass('selected');
});
/*relevant code*/
.head:active {
background-color: blue;
}
a .label {
width: 100% !important;
height: 40px !important;
display: block !important;
}
#header {
width: 100%;
display: flex;
flex: 0 1 auto;
flex-wrap: no-wrap;
flex-direction: row;
height: 40px;
margin: 5px auto;
}
.head {
height: 100%; line-height: 40px;
flex-grow: 1;
margin: 0px;
text-align: center; text-decoration: none; color: #000000; font-weight: bold;
border-right: thin black solid;
box-sizing: border-box;
}
.head li {
height: 100%; line-height: 40px;
flex-grow: 1;
margin: 0px;
text-align: center; text-decoration: none; color: #000000; font-weight: bold;
border-right: thin black solid;
box-sizing: border-box;
}
.head:first-child {
border-bottom: none;
}
.head:hover {
color: #00ABFF;
}
.head:first-child {
flex-grow: 3;
background-color: black;
color: white;
text-transform: uppercase;
}
.selected { background: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="header">
<a class="head">Title</a>
<a class="test head">
<label for="tab1" id="label1" class="label">Tab 1</label>
</a>
<a class="test head">
<label for="tab2" id="label2" class="label">Tab 2</label>
</a>
<a class="test head">
<label for="tab3" id="label3" class="label">Tab 3</label>
</a>
<a class="test head">
<label for="tab4" id="label4" class="label">Tab 4</label>
</a>
</div>
我希望就地创建 this effect with this 语法。
基本上我希望选定的导航按钮有背景色,但其他的则没有。由于这些导航按钮在一个 html 页面内并且不会 link 在页面之外,这是一个问题,因为我不能简单地将 class="selected" style="css">
应用于它。
我曾尝试使用 js 和 jquery 在其他问题上找到的,但这些都不适合我。
<div id="header">
<a class="head">Title</a>
<a class="test head"><label for="tab1" id="label1" class="label">Tab 1</label></a>
<a class="test head"><label for="tab2" id="label2" class="label">Tab 2</label></a>
<a class="test head"><label for="tab3" id="label3" class="label">Tab 3</label></a>
<a class="test head"><label for="tab4" id="label4" class="label">Tab 4</label></a>
</div>
我尝试使用 :active、:selected 和所有可能的伪 类,其中 none 将起作用。任何建议将不胜感激。谢谢。
我不清楚确切你想做什么,但可以修改链接Jquery以满足你的结构。
$('#header a').click(function() {
$('#header a').not(this).removeClass('selected');
$(this).addClass('selected');
});
/*relevant code*/
.head:active {
background-color: blue;
}
a .label {
width: 100% !important;
height: 40px !important;
display: block !important;
}
#header {
width: 100%;
display: flex;
flex: 0 1 auto;
flex-wrap: no-wrap;
flex-direction: row;
height: 40px;
margin: 5px auto;
}
.head {
height: 100%; line-height: 40px;
flex-grow: 1;
margin: 0px;
text-align: center; text-decoration: none; color: #000000; font-weight: bold;
border-right: thin black solid;
box-sizing: border-box;
}
.head li {
height: 100%; line-height: 40px;
flex-grow: 1;
margin: 0px;
text-align: center; text-decoration: none; color: #000000; font-weight: bold;
border-right: thin black solid;
box-sizing: border-box;
}
.head:first-child {
border-bottom: none;
}
.head:hover {
color: #00ABFF;
}
.head:first-child {
flex-grow: 3;
background-color: black;
color: white;
text-transform: uppercase;
}
.selected { background: red; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="header">
<a class="head">Title</a>
<a class="test head">
<label for="tab1" id="label1" class="label">Tab 1</label>
</a>
<a class="test head">
<label for="tab2" id="label2" class="label">Tab 2</label>
</a>
<a class="test head">
<label for="tab3" id="label3" class="label">Tab 3</label>
</a>
<a class="test head">
<label for="tab4" id="label4" class="label">Tab 4</label>
</a>
</div>