html5 - CSS :not() with [attribute*=value] selector not works properly -
i'm using [class*="menu-class-"]:not(.menu-class-2) <li> elements, works properly. problem when want point <a> tag inside <li>, [class*="menu-class-"]:not(.menu-class-2) a. reason doesn't work.
css:
.nav-menu .menu-class > .sub-menu li[class*="menu-class-"]:not(.menu-class-2) { display: table-cell; } .nav-menu .menu-class > .sub-menu li[class*="menu-class-"]:not(.menu-class-2) { text-transform: uppercase; } html
<ul class="nav-menu" id="menu-main-navigation"> <li class="menu-class"> <a href="#12">nav 1</a> <ul class="sub-menu"> <li class="menu-class-3"> <a href="#12">nav 2</a> <ul class="sub-menu"> <li class="menu-class-2"><a href="#2">anchor, should lowercase</a></li> </ul> </li> </ul> </li> </ul> the problem <a> inside <li class="menu-class-2"> uppercase, should lowercase, because didn't add property element. container of <a> (<li class="menu-class-2">), didn't display:table-cell property, works properly.
the jsfiddle link: http://jsfiddle.net/qnzos5t4/3/
the reason because do have li not .menu-class-2:
<ul class="nav-menu" id="menu-main-navigation"> <li class="menu-class"> <a href="#12">nav 1</a> <ul class="sub-menu"> <li class="menu-class-3"> <!-- 1 here --> <a href="#12">nav 2</a> <ul class="sub-menu"> <li class="menu-class-2"><a href="#2">anchor, should lowercase</a></li> </ul> </li> </ul> </li> </ul> since css rule using whitespace select anchor after li, every <a> descendant of it, uppercase. need use child selector:
.nav-menu .menu-class > .sub-menu li[class*="menu-class-"]:not(.menu-class-2) > {
Comments
Post a Comment