事情经过是这样的,我们组一个说话很喜欢用一定,肯定的哥们,吃午饭的时候拿了自己做的一个UI库,头部有一个按钮
点击展开,再次点击收缩,他意思说一个按钮无法记录点击状态,必须使用js。
然后我看了一眼,心想target有可能能做到这个效果,然后我说不一定,他还是说肯定,还要跟我打赌说:如果我能做出来,给我500块。如果我做不出怎样?
因为到底具体还没有实践过,而且我只是说不一定,所以我没有当场和他打赌,然后他就自己给我定条件说: 如果做不出,你请大家吃顿饭。
听他这么说我就有点不高兴了,你自己说肯定要用js,而我说 “不一定”,为毛要一定跟你打赌,要是你这么肯定,你就给你的条件,我做出你给我500块就得了。(这种用我们那边的话说,“死了还要捡把沙”,就是怕吃亏的意思)。
然后回来座位,我马上写起来,然后我写完,他就找茬了,这个怎么收缩不对啊。 然后我把收缩动画加上,他继续加各种条件:那你这样后退怎样办啊;刷新呢...... bili巴拉一大堆
完全抛开了刚才我们针对的点, 这个效果,不用js 是否可以实现?
下面上一下我用target写的代码(撇开使用情景,只针对是否不用js实现),说一下我的思路吧:
2个按钮样式一样,点击的时候会依次切换,然后下面有2个标识了target的容器,根据这2个容器又可以找兄弟节点,设置按钮显示和隐藏。
demo链接:http://1.xmpros.sinaapp.com/target.html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <style> .p-wrap-2 { position: relative; top:30px; width: 500px; height: 300px; background: yellowgreen; overflow: hidden; -webkit-animation:.5s ease wrap_kf forwards; } @-webkit-keyframes wrap_kf { 0% { height: 0; } 100% { height: 300px; } } .p-wrap-2:target { overflow: hidden; -webkit-animation:.5s ease wrap_kf_2 forwards; } @-webkit-keyframes wrap_kf_2 { 0% { height: 300px; } 100% { height: 0; } } .p-wrap-1:target { border: 2px solid #D4D4D4; background-color: #e5eecc; display:none; } .nav { position: absolute; top: 0; } .p-wrap-1:target ~ .nav-1 { background: red; display: none; } .p-wrap-2:target ~ .nav-2 { background: blue; display: none; } </style> </head> <body> <div class="target_wrap"> <div class="p-wrap p-wrap-1" id="news1"></div> <div class="p-wrap p-wrap-2" id="news2"> <ul id="doc_navbar" class="doc-horizonal"> <li class="actived"><a href="###">开始使用</a></li> <li><a href="###">组件列表</a></li> <li><a href="###">下载和定制</a></li> <li><a href="###">关于和支持</a></li> <li><a href="###">开发者工具</a></li> <li class="doc-right"><a href="###">历史版本</a></li> </ul> </div> <p class="nav nav-1"><a href="#news1">nav 1</a></p> <p class="nav nav-2"><a href="#news2">nav 1</a></p> </div> </body> </html>
其实我本意只想表达 话不能说得这么死 别说这么绝,一定,肯定这样的词尽量少用,同时最好适当考虑一下别人的感受,已经不是第1,2次了,你这么自负 怎样跟你愉快的沟通?