在活动的、可切换的选项卡上添加图像 HTML/CSS
Add image on active, togglable tab HTML/CSS
我正在尝试为我的网页创建一个 "togglable tab" 导航栏。我已经按照 w3schools 教程弄清楚了如何创建可切换选项卡,但我并不是想弄清楚如何修改它的外观,以便它有一个向上箭头指向活动选项卡,如下图所示。有谁知道实现这一目标的方法?
这是我的标签代码:
<ul class="navtabs">
<li><a href="#" class="tablinks" onclick="openLink(event, 'about')">About</a></li>
<li><a href="study.html">How to Study</a></li>
<li><a href="#" class="tablinks" onclick="openLink(event, 'help')">Helpful Links</a></li>
<li><a href="#" class="tablinks" onclick="openLink(event, 'comment')">Comments</a></li>
</ul>
<div id="about">
<h1>About</h1>
<p>HERE IS A DESCRIPTION OF ABOUT THE SITE YADAYADA</p>
</div>
<div id="help">
<h1>Helpful Links</h1>
<p>THERE WILL BE LINKS HERE JUST U WAIT</p>
</div>
<div id="comment">
<h1>Comments</h1>
<p>U CAN LEAVE COMMENTS HERE ABOUT UR OWN TIPS/TRICKS FOR STUDYING</p>
</div>
<script>
function openLink(evt, linkName){
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for(i = 0; i < tabcontent.length; i++){
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for(i = 0; i < tablinks.length; i++){
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(linkName).style.display = "block";
evt.currentTarget.className += " active";
}
</script>
好的,所以我通过检查元素发现页面使用了 border-bottom 然后是这个向上箭头的图像
如何让图像在活动时显示在选项卡上?
将新的 class 添加到
元素(例如 "active")并使用图像设置样式(class::after)。然后使用 Javascript(如果您在您的网站上使用 jQuery 也会很好)并在单击其他菜单元素时删除此 class(也将此 class 添加到单击的元素)。
我已经通过简单地将其添加到 CSS
中解决了
ul.navtabs li a:focus, .active{
background-image: url(../../arrow.png);
background-position-x: center;
background-position-y: bottom;
background-size: initial;
background-repeat: no-repeat;
}
我得到这个结果:
现在我必须弄清楚如何使边框底部环绕 arrow.png。如果有人知道如何做到这一点,我将不胜感激。不过,我认为找出解决方法并不难。
我正在尝试为我的网页创建一个 "togglable tab" 导航栏。我已经按照 w3schools 教程弄清楚了如何创建可切换选项卡,但我并不是想弄清楚如何修改它的外观,以便它有一个向上箭头指向活动选项卡,如下图所示。有谁知道实现这一目标的方法?
这是我的标签代码:
<ul class="navtabs">
<li><a href="#" class="tablinks" onclick="openLink(event, 'about')">About</a></li>
<li><a href="study.html">How to Study</a></li>
<li><a href="#" class="tablinks" onclick="openLink(event, 'help')">Helpful Links</a></li>
<li><a href="#" class="tablinks" onclick="openLink(event, 'comment')">Comments</a></li>
</ul>
<div id="about">
<h1>About</h1>
<p>HERE IS A DESCRIPTION OF ABOUT THE SITE YADAYADA</p>
</div>
<div id="help">
<h1>Helpful Links</h1>
<p>THERE WILL BE LINKS HERE JUST U WAIT</p>
</div>
<div id="comment">
<h1>Comments</h1>
<p>U CAN LEAVE COMMENTS HERE ABOUT UR OWN TIPS/TRICKS FOR STUDYING</p>
</div>
<script>
function openLink(evt, linkName){
var i, tabcontent, tablinks;
tabcontent = document.getElementsByClassName("tabcontent");
for(i = 0; i < tabcontent.length; i++){
tabcontent[i].style.display = "none";
}
tablinks = document.getElementsByClassName("tablinks");
for(i = 0; i < tablinks.length; i++){
tablinks[i].className = tablinks[i].className.replace(" active", "");
}
document.getElementById(linkName).style.display = "block";
evt.currentTarget.className += " active";
}
</script>
好的,所以我通过检查元素发现页面使用了 border-bottom 然后是这个向上箭头的图像
如何让图像在活动时显示在选项卡上?
将新的 class 添加到
我已经通过简单地将其添加到 CSS
中解决了ul.navtabs li a:focus, .active{
background-image: url(../../arrow.png);
background-position-x: center;
background-position-y: bottom;
background-size: initial;
background-repeat: no-repeat;
}
我得到这个结果:
现在我必须弄清楚如何使边框底部环绕 arrow.png。如果有人知道如何做到这一点,我将不胜感激。不过,我认为找出解决方法并不难。