【问题标题】:CSS - pseudo-elementCSS - 伪元素
【发布时间】:2013-12-17 03:10:43
【问题描述】:

我在 CSS 方面遇到了一些问题。我需要图片上的菜单元素。问题是我无法获得带有伪元素的绿色矩形。如果您知道非 JavaScript 解决方案或有一些示例,我将很乐意提供帮助。

HTML

<li class="current">
   <a href="#section-2">Lorem Ipsum/a>
</li>

CSS

.current {
    background: red;
    &.current:after {
      content: "";
      height: 2.5em;
      margin-top: -1.25em;
      position: absolute;
      background: #ddd;
      right: -1em;
      width: 2.5em;
      z-index: 1;
    }
}

Jsfiddle:http://jsfiddle.net/vCQZ6/1/

【问题讨论】:

  • 请发布您目前所获得的代码(如果可以,请在 jsFiddle 中重现)。
  • 为什么不能简单地使用border-right

标签: css pseudo-class


【解决方案1】:

这是一个使用border-right 的简单示例。对于像绿色矩形这样的简单效果(实际上 一个边框),这种方法比使用伪元素更可取。

HTML

<ul class="menu">
    <li><a href="#">Item 1</a></li>
    <li><a href="#">Item 2</a></li>
    <li><a href="#">Item 3</a></li>
</ul>

CSS

.menu {
    list-style: none;
    background: #555;
    width: 200px;
    padding: 1em 0;
}

.menu a {
    padding: 0.5em 1em;
    display: block;
    text-decoration: none;
    color: white;
    font-family: 'sans-serif';
}

.menu a:hover, .menu a:focus {
    background-color: rgba(255, 255, 255, 0.1);
    border-right: 5px solid lightgreen;
}

FIDDLE

【讨论】:

  • 绝对比使用伪元素好。想知道为什么要求这样做?
猜你喜欢
  • 2016-05-02
  • 2023-03-22
  • 2017-10-05
  • 1970-01-01
  • 1970-01-01
  • 2013-10-26
  • 2015-03-08
  • 2015-03-31
  • 1970-01-01
相关资源
最近更新 更多