我一直在网站上制作标签菜单。非常简单的功能:每个选项卡都包含图像,并且仅在单击右侧选项卡时才会出现。这是针对我正在学习的在线课程的,我们应该只使用 css 来完成。我遇到的问题是我无法默认显示第一个选项卡,如果我这样做它不会消失(css不会覆盖显示:块),如果它默认隐藏,我不尊重课程要求。
我是这样做的:
CSS
#tabmenu > div {
display: none;
}
#tabmenu > a {
position:relative;
left:35%;
text-decoration: none;
background-color: rgb(229,229,229);
color: rgb(100,104,109);
padding: 15px 15px 15px 15px;
font-family: 'faw',sans-serif;
margin:-3px -3px -3px -3px ;
top:-50px;
}
#tabmenu > a:hover, #tabmenu > a:active {
background-color: rgb(92,173,211);
color: white;
box-shadow: 0px 3px rgb(62,143,181);
}
#tabmenu > a:hover:after, #tabmenu > a:active:after {
content: "";
position: absolute;
top: 100%;
left: 50%;
border-top: 10px solid rgb(62,143,181);
width: 0;
height: 0;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
transform: translateX(-50%);
}
#tous:target {
display: block;
position: relative;
top:20px;
}
#sobres:target {
display: block;
position: relative;
top: 20px;
}
#imaginatifs:target {
display: block;
position: relative;
top: 20px;
}
#classiques:target {
display: block;
position: relative;
top: 20px;
}
并在 HTML
<div id="tabmenu" class="greyBg">
<a href="#tous" class="sel">Tous</a>
<a href="#sobres" class="sel">Sobres</a>
<a href="#imaginatifs" class="sel">Imaginatifs</a>
<a href="#classiques" class="sel">Classiques</a>
<div id="tous">
<div class="icontain">
<div class="icaption">
<img class="pico" src="images/ico/eye.png" alt="ico">
<h3>Image 1</h3>
<p>©WebAgency</p>
</div>
<img src="images/portfolio/01.jpg" alt="ico">
</div>
</div>
<div id="sobres">
<div class="icontain">
<div class="icaption">
<img class="pico" src="images/ico/eye.png" alt="ico">
<h3>Image 5</h3>
<p>©WebAgency</p>
</div>
<img src="images/portfolio/05.jpg" alt="ico">
</div>
</div>
</div><!-- #tabmenu -->
我只包括了两个标签和图像,但你明白了(不希望这有 5 页长)
无论如何,#tous 选项卡应该是默认显示的,在用户单击任何内容之前,我就是想不通。
正如我所说,我只需要在 CSS 中执行此操作,我知道 JS 和 jQuery 会为我轻松解决此问题(我很乐意这样做)。