【发布时间】:2017-09-12 17:32:09
【问题描述】:
我有一个导航侧边栏,单击按钮时会展开,再次单击同一按钮时会收缩。
当导航栏收起时,按钮上的文字显示EXPAND >
当导航栏展开时,按钮上的文字会显示COLLAPSE
看到这个codepen link
问题是按钮上的文本“EXPAND”或“COLLAPSE”水平显示,而我希望它们像这样垂直显示。
我通过以下方式使用 CSS 转换属性将文本旋转 -90 度,最初效果很好。
#expand, #collapse{
font-size: 0.8em;
font-weight: bold;
font-family: 'Ubuntu', serif;
-webkit-transform: rotate(-90deg);
-ms-transform: rotate(-90deg);
transform: rotate(-90deg);
}
但是当我编写以下 Jquery 代码时,文本 不再 出现旋转。
if( $('.option').hasClass('non-visible') ){ // Collapsed
$('.open-menu').css('display','unset');
$('.close-menu').css('display','none');
} else { // Expanded
$('.open-menu').css('display','none');
$('.close-menu').css('display','unset');
}
这里是按钮的 HTML 代码:
<button id="button-expand">
<p id="expand" class="open-menu">EXPAND</p>
<i class="fa fa-chevron-right open-menu" aria-hidden="true"></i>
<p id="collapse" class="close-menu">COLLAPSE</p>
<i class="fa fa-chevron-left close-menu" aria-hidden="true"></i>
<p><!-- nothing --></p>
</button>
需要Jquery代码在按钮上选择性地显示“EXPAND”或“COLLAPSE”(取决于导航栏是展开还是折叠)。
请告诉我我做错了什么。是否发生了某种冲突/压倒一切?
谢谢!
【问题讨论】:
-
是
display:unset的用法,看我的回答。
标签: jquery css css-transforms