删除文本装饰下划线,为一个:后在css [重复]

k7fdbhmy  于 2023-05-08  发布在  其他
关注(0)|答案(4)|浏览(111)

此问题已在此处有答案

十年前就关门了。

可能重复:

“text-decoration” and the “:after” pseudo-element
“text-decoration” and the “:after” pseudo-element, revisited
我正在使用<a>标签制作一个导航链接

<div class="nav_container">
    <a class="panel" href="demolink">menu1</a>
    <a class="panel" href="demolink">menu2</a>
    <a class="panel" href="demolink">menu3</a>
</div>

并应用:after css属性为分隔器放置一个管道。

.panel:after{
    content:"|";
    margin-left: 4px;
    margin-right: 4px;
}
.panel:last-child:after{
    content:"";
}

我想把下划线时,菜单是选定的,因为我正在应用一个类所谓的选定

.panel.selected {
    text-decoratoion:underline;
}

但问题是菜单后的管道“|也有下划线,我想去掉它。我甚至试着修改.panle:after的css如下:

.panel:after{
    content:"|";
    margin-left: 4px;
    margin-right: 4px;
    text-decoration:none;
}

但底线仍然存在。
任何建议,谢谢。

eqqqjvef

eqqqjvef1#

试试这个:

.panel:after {
    display:inline-block;
}

或者使用以下方式:

.panel {
  display: inline-block;
  vertical-align: top;
  position: relative;
  color: black;
  font-size: 14px;
  font-weight: bold;
  margin: 0 5px;
}

.panel:after {
  content: '';
  border-left: solid 2px red;
  left: -10px;
  top: 2px;
  height: 10px;
  position: absolute;
}

.panel:first-child:after {
  display: none;
}

.panel:hover {
  text-decoration: none;
}
<div class="nav_container">
  <a class="panel" href="demolink">menu1</a>
  <a class="panel" href="demolink">menu2</a>
  <a class="panel" href="demolink">menu3</a>
</div>
erhoui1w

erhoui1w2#

你也可以使用另一种方法来回答你的问题:-demo
我试着用最小化的代码:

.nav_container a {
  color: red;
  display: inline-block;
}

.nav_container a+a {
  color: red;
  border-left: 1px solid red;
  padding-left: 7px;
  line-height: 12px;
}
<div class="nav_container">
  <a href="demolink">menu1</a>
  <a href="demolink">menu2</a>
  <a href="demolink">menu3</a>
</div>
6kkfgxo0

6kkfgxo03#

我不知道你的.panel.selected {}部分是做什么的。但是,你可以使用这个在链接被聚焦的时候给它加下划线。
.panel:focus {text-decoration:underline;}
并且可以删除链接和**管道的下划线(|)**像这样。
.panel:link {text-decoration:none;}
将以上两个添加到您的页面并检查。

92dk7w1h

92dk7w1h4#

一个简单的菜单为您的要求。
HTML:

<div class="menu">
<ul>
<li class="last-menu"><a href="#">menu1</a></li>
<li class="last-menu"><a href="#">menu2</a></li>
<li><a href="#">menu3</a></li>
</ul>
</div>

CSS:

.menu{
    width:100%;
}

.menu ul{
    list-style:none;
}

.menu li{
    float:left;

}

.last-menu{
    border-right:1px solid #000;
}

相关问题