【问题标题】:How to collapse the borders in the Bootstrap 4 accordion example?如何在 Bootstrap 4 手风琴示例中折叠边框?
【发布时间】:2018-06-25 07:32:33
【问题描述】:

我想改编https://getbootstrap.com/docs/4.0/components/collapse/#accordion-example 中的手风琴示例。但是,我注意到可折叠组项目之间的边框比顶部和底部的边框宽:

我认为如果边框全部相同会更好看,类似于为表格使用borde-collapse 属性。我怎样才能做到这一点?

这是一个sn-p:

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" rel="stylesheet"/>
<div id="accordion">
  <div class="card">
    <div class="card-header" id="headingOne">
      <h5 class="mb-0">
        <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
          Collapsible Group Item #1
        </button>
      </h5>
    </div>

    <div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
      <div class="card-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="card">
    <div class="card-header" id="headingTwo">
      <h5 class="mb-0">
        <button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
          Collapsible Group Item #2
        </button>
      </h5>
    </div>
    <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion">
      <div class="card-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
  <div class="card">
    <div class="card-header" id="headingThree">
      <h5 class="mb-0">
        <button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
          Collapsible Group Item #3
        </button>
      </h5>
    </div>
    <div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-parent="#accordion">
      <div class="card-body">
        Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
      </div>
    </div>
  </div>
</div>

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>

【问题讨论】:

    标签: javascript html css twitter-bootstrap bootstrap-4


    【解决方案1】:

    要在每个选项卡上获得相同的border,您需要编辑.card 类。像这样:

    .card {
    
      position: relative;
      display: flex;
      flex-direction: column;
      min-width: 0;
      word-wrap: break-word;
      background-color: #FFF;
      border: 0px solid rgba(0,0,0,.125); /*EDIT this part*/
      border-radius: 0.25rem;
    
    }
    

    这将使border 看起来像这样:

    【讨论】:

      【解决方案2】:

      对卡片使用 borde-bottom-0 来删除其中的 border-bottom

      https://codepen.io/anon/pen/PaBpvv


      使用 border-0 将卡片移除 border 顶部、右侧、底部和左侧。要移除半径,请使用 no-radius。 p>

      https://codepen.io/anon/pen/mKjmJg

      【讨论】:

        【解决方案3】:

        我注意到Bootstrap's source code 包含以下 SCSS:

        .accordion {
          .card:not(:first-of-type):not(:last-of-type) {
            border-bottom: 0;
            border-radius: 0;
          }
        
          .card:not(:first-of-type) {
            .card-header:first-child {
              border-radius: 0;
            }
          }
        
          .card:first-of-type {
            border-bottom: 0;
            border-bottom-right-radius: 0;
            border-bottom-left-radius: 0;
          }
        
          .card:last-of-type {
            border-top-left-radius: 0;
            border-top-right-radius: 0;
          }
        }
        

        因此,只需添加class="accordion" 即可使“内”边框与“外”边框的宽度相同。这在https://jsfiddle.net/8m2g9jsx/1/ 中有说明。奇怪的是,Bootstrap 在文档的示例中没有包含此类的使用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-12-20
          • 2020-01-25
          • 1970-01-01
          • 2014-02-18
          • 1970-01-01
          • 2017-08-30
          • 2012-05-30
          • 1970-01-01
          相关资源
          最近更新 更多