为二级菜单的父级添加下拉css三角箭号
自己折腾主题,难免会遇到很多细节问题,找到方法,根据自己的主题需求修改,边学边用,主题这东西,折腾无止境,就像穿衣服一样,总要换换,这次是在PC端菜单和手机端菜单增加下拉三角css箭号。
虽然可以直接使用CSS实现,但是并不完美,会造成鼠标放在菜单下方就自动触发下拉菜单。
第一种方法,比较简单,直接插入,不受菜单css影响:
菜单html代码:
<nav>
<ul id="#menu-caidan">
<li><a href="#">导航菜单1</a></li>
<li><a href="#">导航菜单2</a>
<ul class=“sub-menu”>
<li><a href="#">二级菜单1/a></li>
<li><a href="#">二级菜单1</a></li>
</ul>
</li>
</ul>
</nav>
jQuery代码
<script>
$(function() {
$("#menu-caidan").find(".sub-menu").siblings("a").addClass("triangle");
});
</script>
CSS代码:
.triangle:after {
position: relative;
top: 13px;
right: -5px;
width: 0;
height: 0;
content: '';
border-top: 5px solid #999;
border-right: 5px dashed transparent;
border-left: 5px dashed transparent;
}
第二种方法,纯css实现,只限wordpress,并且这种方法需要你的菜单css适应:
#nav .menu li.menu-item-has-children:after{
position: absolute;
position: relative;
top: 13px;
right: -5px;
width: 0;
height: 0;
content: '';
border-top: 5px solid #999;
border-right: 5px dashed transparent;
border-left: 5px dashed transparent;
}
不知道为什么,我也非这类专业,即使不会,即使很繁琐,但就是喜欢折腾这些,乐此不彼,这东西为何有如此魔力,能让我折腾十多年,就是拥有个人网站以后,就喜欢搭理自己的老窝。
目前还没找到其他有如此强烈的兴趣。。。甚至好几次做梦都会在折腾,都会笑。
这东西难道和毒品一样吗?会上瘾。。。我甚至在想,终止的那天会是什么时候?什么情况。。
仔细思考一下为什么,我发现是因为和它保持远距离产生美,就是如果你把CSS,PHP,JavaScript,JQuery弄得非常熟悉,或许那天就是你厌倦它的时候。
当然,也有一种是你越了解,越喜欢上它。
或许,喜欢这东西是因为我内心有一种喜欢整理修改美化的爱好,比如:整理家务,设计房屋,修理东西等等,弄好后会给我带来另一种喜悦。
下一篇:纯CSS绘制灯泡
相比三角形我还是你换你那个灯泡 酷
@西城杨柳弄春柔 哈哈,网上有个更酷的,太复杂,不想那么麻烦。
貌似不需要 js 吧,css 直接 li.menu-item-has-children:after 就行了吧?
@老杨 手机端我需要点击下拉,这点应该不行。你那边貌似因为父级有链接,所以一点就跳转,不是很好用啊。
@郑永 手机端手快的话还是能点到的……
@老杨 另外js下拉比较酷一些,哈哈。
@老杨 哈哈,你说小三角啊,是啊,你那个更简单。
@老杨 我刚才去试了一下,还是有点麻烦啊,可能我原来那个菜单css太复杂。
@郑永 那个 CSS 我好像是从 zww 大叔那里扒过来的,技术菜,也改了很久……
好像我很早就用了,当时要兼容的浏览器还很多,现在简单了
@zwwooooo 嗯,你那边我很早之前就有看到。
@zwwooooo 刚又跑去看了下,你那小三角还会旋转,哈哈,细节果然好~
@zwwooooo 用transform: rotate(180deg);整个菜单都旋转了
@zwwooooo 原因是因为js给文字菜单a加了class,这点可能单纯用css的能解决。
@zwwooooo 这里做个记录:
.triangle:hover {
-ms-transform:rotate(180deg);
-moz-transform:rotate(180deg);
-webkit-transform:rotate(180deg);
-o-transform:rotate(180deg);
transform:rotate(180deg);
-webkit-transition: -webkit-transform 0.2s ease-in;
-moz-transition:-moz-transform 0.2s ease-in;
-o-transition:-o-transform 0.2s ease-in;
transition:transform 0.2s ease-in;
}
一看到这个三角形我就有阴影,十二年前在假洋鬼子手里搞网站,js都要自己写,做个下拉菜单花了一天。时过境迁,如今css一句就能搞定了……
@老虎 哈哈,越简单,学习成本越低,竞争越激烈,饭碗也越容易丢。。
兼容移动端的话,那都变成点击弹出好了~~
@axiu 对,就是希望点击弹出的。
学习了!