Bootstrap 4 Bootstrap 4使用字体图标折叠显示状态

Bootstrap 4 Bootstrap 4使用字体图标折叠显示状态,bootstrap-4,icons,Bootstrap 4,Icons,我有一个单独的引导4折叠如下 <a data-toggle="collapse" href="#collapseNEWS" aria-expanded="true" aria-controls="collapseNEWS"><i class="fa fa-chevron-circle-up" aria-hidden="true"></i></a> <div class="row collapse in" id="collapseNEWS"&g

我有一个单独的引导4折叠如下

<a data-toggle="collapse" href="#collapseNEWS" aria-expanded="true" aria-controls="collapseNEWS"><i class="fa fa-chevron-circle-up" aria-hidden="true"></i></a>
<div class="row collapse in" id="collapseNEWS">Content</div>

内容
这将自动显示内容,除非单击字体图标。我在初始加载时显示fa V形圆圈向上图标

单击图标后,内容将关闭,我想显示fa V形圆圈向下图标。我将如何实现这一点

我已经看过了alpha文档:

…但我也不清楚我是如何建立国家的

<i class="indicator fa fa-chevron-circle-up" aria-hidden="true"></i>

或者


多谢各位
NJ

您可以使用自定义CSS(内容属性)添加字体可怕图标:

只需使用

[data-toggle="collapse"] .fa:before {   
  content: "\f139";
}

[data-toggle="collapse"].collapsed .fa:before {
  content: "\f13a";
}

要进一步扩展此功能,请参见

中的示例-如果Bootstrap 4 Beta有所不同,请使用它:

当初始状态被折叠时,这将不起作用-图标将被反转。在一个循环中点击按钮将修复它-但最好从正确的开始。秘密:添加

class="collapsed"
到切换链接。具有可单击文本标题和图标的示例:

<div class="card-header d-flex justify-content-between" id="headingCollapse1">
    <div>
        <a class="collapsed" data-toggle="collapse" href="#collapse1" aria-expanded="false" aria-controls="collapse1">
            Card Header
        </a>
    </div>
    <div>
        <a data-toggle="collapse" class="collapsed btn btn-default btn-xs text-right" href="#collapse1" aria-label="Expand/Collapse Card 1" aria-expanded="false" role="button">
            <i class="fa" aria-hidden="true"></i>
            <span class="sr-only">Expand/Collapse Card 1</span>
        </a>
    </div>
</div>
<div id="collapse1" class="collapse" aria-labelledby="headingCollapse1">
    <div class="card-body">
        Here is some wonderful content that you can't see...until expanded!
    </div>
</div>

您可以将
toggleClass()
添加到
onclick的
event

对于SASS版本的FONT5,请使用
fa-content()
mixin

HTML:


我更喜欢在圆形背景中使用V字形

使用Rails和Bootstrap 4以及Font5.5

这对我来说不太管用,它是在重新关闭时翻转的。我必须添加另一个州控制:

[data-toggle="collapse"] .fas:before {  
  content: "\f055";
}

[aria-expanded="true"] .fas:before {  
  content: "\f056";
}

[data-toggle="collapse"].collapsed .fas:before {
  content: "\f055";
}

不使用unicode和JavaScript的解决方案:

  • 包括当前有一个图标的两个图标
  • 使用CSS在内容展开时隐藏向上箭头元素,在内容折叠时隐藏向下箭头
  • 示例:

    HTML:

    html代码

    <a class="list-group-item" aria-current="true" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample"><i class="fas fa-caret-right"></i></a>
    

    感谢您提供的详细示例。谢谢!只是需要它!谢谢,谢谢!我试着使用一个js解决方案。这对我帮助很大!谢谢请解释你的答案,而不仅仅是粘贴代码
    <a href='' onclick="$('#collapsed-chevron').toggleClass('fa-rotate-180')">
       <i class="fa fa-chevron-circle-up" id="collapsed-chevron"></i>
       Link Text
    </a>
    
    <i class="fas"></i>
    
    [data-toggle="collapse"] i.#{$fa-css-prefix}s:before {
      content: fa-content($fa-var-chevron-circle-down);
    }
    
    [data-toggle="collapse"].collapsed i.#{$fa-css-prefix}s:before {
      content: fa-content($fa-var-chevron-circle-right);
    }
    
    [data-toggle="collapse"] .fas:before {  
      content: "\f055";
    }
    
    [aria-expanded="true"] .fas:before {  
      content: "\f056";
    }
    
    [data-toggle="collapse"].collapsed .fas:before {
      content: "\f055";
    }
    
    <a data-toggle="collapse" href="#collapseNEWS" aria-expanded="true" aria-controls="collapseNEWS">
        <i class="fa fa-chevron-circle-up"></i>
        <i class="fa fa-chevron-circle-down"></i>
    </a>
    
    [aria-expanded="true"] .fa-chevron-circle-up, 
    [aria-expanded="false"] .fa-chevron-circle-down {
        display:none;
    }
    
    <a class="list-group-item" aria-current="true" data-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample"><i class="fas fa-caret-right"></i></a>
    
    [aria-expanded="true"] .fa-caret-right{ transform: rotate(90deg); }