(注意:當我開始這個問題時我沒有解決它,但現在已經解決了它,我想了解爲什麼/它是如何工作的一種方式而不是其他)生成一個wordpress菜單的CSS三角形
我想添加一個指向菜單欄中當前菜單項的CSS三角形。我從this answer借來的,我得到了一個工作解決方案(在jsfiddle上)。
但是,當我把代碼底部CSS
li .selected::after
,並把它放到我的WordPress的CSS,它沒有工作。
我弄錯了wordpress類,我玩了一個多小時,並無法確定它爲什麼不起作用。當我刪除li
並把id
字段,它的工作。我一直在玩它,並最終通過去除空間並使其成爲工作解決方案:
li.selected::after
。
我遇到的問題是,在jsfiddle中它只在元素和類之間存在空格時才起作用,但在wordpress中,只有在它們之間沒有空格時才起作用。
我不擅長使用CSS和它的語法,但哪個(更多?)正確?
HTML:
<nav class="special-nav">
<ul class="menu">
<li><a href="#" class="menu-item">One</a></li>
<li><a href="#">Two</a></li>
<li><a href="#" class="menu-item selected">Three</a></li>
<li><a href="#" class="menu-item">Four</a></li>
<li><a href="#">Five</a></li>
</ul>
</nav>
<p>blah blah blah</p>
CSS:
.menu {
list-style: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color:#000;
}
.menu li {
float: left;
}
.menu a {
position: relative;
display: block;
padding: 1em;
text-decoration: none;
color: #fff;
}
li .selected::after {
content:' ';
position: absolute;
border: solid 10px transparent;
left: 50%;
bottom:0px;
margin-left: -10px;
border-color: transparent transparent #fff transparent;
}
編輯:@rnevius打於一體,這裏的HTML從WordPress的換同款(類是其中的一部分li
而不是它的孩子。非常感謝。
<li id="menu-item-94" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-94"><a href="/">Home</a></li>
件
謝謝,這很清楚,並表明,我已經包括了wordpress html驗證你在說什麼。這個類是列表項的一部分,而在我的jsfiddle中,我做了不同的處理。再次感謝 – Madivad
,我顯然需要檢查我的眼睛(即m!= rn):) – Madivad
Stack Overflow有一個糟糕的字體。所有的時間都會發生;-) – rnevius