2

我在尝试将图像放置在 wordpress 上的活动菜单项上时遇到了一个棘手的问题。html 是由 wordpress 吐出的,所以我无法更改呈现给我的类我已经设法创建了一个很好的灵活菜单,但我似乎无法控制这个图像的位置。

这就是我想要实现的 > http://i48.tinypic.com/1pyzqo.png

下面是 HTML,这是一个小提琴 > http://jsfiddle.net/rafoggin/cwA7Y/1/

HTML:

<nav id="navigation" class="menu-main-navigation-container"> 

<ul id="main-menu" class="item-list inline links small">

<li id="menu-item-54" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-54"><a href="http://richardfoggin.co.uk/pinkfloyd/about">About</a></li>

<li id="menu-item-57" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-55 current_page_item menu-item-57"><a href="http://richardfoggin.co.uk/pinkfloyd/">Portfolio</a></li>

<li id="menu-item-42" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-42"><a href="http://richardfoggin.co.uk/pinkfloyd/blog">Blog</a></li>

</ul>

</nav>​

和CSS:

nav#navigation {
    position:absolute; 
    top:0; width:100%; 
    padding:20px 0 0; 
    border-bottom:1px solid #dedede;
    background: #FFFFFF;
}

nav#navigation ul#main-menu {
    list-style-type: none;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

nav#navigation ul#main-menu li{
 display: inline-block;
}

nav#navigation ul#main-menu a{
    display: block;
    text-decoration: none;
    color: black;
    padding: 8px;
    margin: 0 9px;
}


li.current_page_item a {
    background: url(http://richardfoggin.co.uk/pinkfloyd/wp-content/themes/svbtle/images/menu-bg.png) no-repeat 50% 100%;
    border-bottom: solid 1px #fff;
}

我在 li.current_page_item 一个类上尝试了一个 :after 伪元素,但这并没有达到目的。但是坚持如何做到这一点,任何帮助都会一如既往地感激:)

R

4

1 回答 1

2

您可以使用:after,但您需要将其与绝对定位相结合。您还需要给这个定位的项目一个大小。

nav#navigation ul#main-menu a {
    display: block;
    text-decoration: none;
    color: black;
    padding: 8px;
    margin: 0 9px;
    position:relative;   <--- you need this 
}

li.current_page_item a:after {
    background: url(http://richardfoggin.co.uk/pinkfloyd/wp-content/themes/svbtle/images/menu-bg.png);
    border-bottom: solid 1px #fff;      
    position:absolute;
    content: "";
    top:16px;
    left:30px;
    width:18px;
    height:20px;   
}
于 2012-12-03T22:47:06.823 回答