在折叠项目列表时,我无法获得向下旋转的向下箭头字符(图标)并向下旋转。如何在清空列表时使用CSS旋转图标
这是我到目前为止,但显然是行不通的......
.c-accordion li.open .material-icons {
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
transition: all .3s ease;
}
我想开属性会解决这个问题,但很可惜。 搜索internt没有提供答案。 任何想法? 欢迎任何帮助。
var acc = document.getElementsByClassName("js-collapse");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
}
}
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
* {
\t margin: 0;
\t padding: 0;
\t -webkit-box-sizing: border-box;
\t -moz-box-sizing: border-box;
\t box-sizing: border-box;
}
.float-right {
float: right;
}
.c-accordion li.open .material-icons {
-webkit-transform: rotate(180deg);
-ms-transform: rotate(180deg);
-o-transform: rotate(180deg);
transform: rotate(180deg);
transition: all .3s ease;
}
.c-menu {
margin: 0;
padding: 0;
width: 300px;
border-top: 1px solid #CBCBCB;
border-left: 1px solid #CBCBCB;
border-right: 1px solid #CBCBCB;
}
.c-accordion {
list-style-type: none;
background-color: #eee;
color: #444;
cursor: pointer;
padding: 5px;
width: 100%;
border: none;
border-bottom: 1px solid #CBCBCB;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
ul.c-accordion.active, ul.c-accordion:hover {
background-color: #ddd;
}
.c-submenu {
list-style: none;
margin: 0;
padding: 0;
}
.c-submenu li {
border-bottom: 1px solid #CBCBCB;
padding: 5px;
cursor: pointer;
}
.c-submenu li:hover {
background-color: orange;
}
.c-panel {
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
<ul class='c-menu'>
<ul class="c-accordion">Section 1</ul>
<ul class="c-accordion js-collapse">Section 2<i class="material-icons float-right">keyboard_arrow_down</i></ul>
<ul class="c-submenu c-panel">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
<ul class="c-accordion">Section 3</ul>
</ul>
感谢jfeferman的结果! – Dummy