【发布时间】:2017-04-27 00:03:58
【问题描述】:
- 我使用 css 创建了箭头图像。
- 但问题是当手风琴打开时我需要将 .down-arrow 类添加到 div。
- 现在我添加了一张图片,但不知道如何添加另一张图片。
- 你们能告诉我如何解决它吗
- 在下面提供我的代码
.down-arrow {
-ms-transform: rotate(-55deg);
【问题讨论】:
标签: javascript html css reactjs redux
.down-arrow {
-ms-transform: rotate(-55deg);
【问题讨论】:
标签: javascript html css reactjs redux
像这样创建一个invisible 类
.invisible{
display:none;
}
然后
var upArrowClassName = 'up-arrow' + (this.props._selected ? '' : ' invisible');
var downArrowClassName = 'down-arrow' + (this.props._selected ? ' invisible' : '');
然后将这些类应用到 div 上
<div className={upArrowClassName}></div>
<div className={downArrowClassName}></div>
在任何给定时间点,根据this.props._selected 的值,一个将附加invisible 类并且不可见。
【讨论】:
invisible 类。
.down-arrow 类中
当打开手风琴时,手风琴部分会添加一个新的“选定”类。与其尝试更改类本身,不如使用这个新的“选定”类并更改现有箭头上的旋转属性。例如:
.selected .up-arrow {
transform: rotate(-45deg);
}
【讨论】:
您可以在 Accordion 部分组件中添加相同的 this.props._selected:
var className1 = this.props._selected ? 'down-arrow' : 'up-arrow';
并将渲染中的className更改为:
className={className1}
还要对.down-arrow 类进行一些更改:
.down-arrow {
border-top: .15em solid #0b6997;
border-right: .15em solid #0b6997;
border-bottom: 0;
border-left: 0;
width: .5em;
height: .5em;
-ms-flex-item-align: center;
-ms-grid-row-align: center;
align-self: center;
transition: all .3s ease;
-ms-transform: rotate(-45deg);
transform: rotate(-45deg);
}
看看fiddle。
【讨论】: