簡體   English   中英

如何使用 data-dismiss 關閉引導面板?

[英]How can I dismiss a bootstrap panel using data-dismiss?

我有一個按鈕可以打開一個面板,我希望能夠像使用警報一樣關閉它。

bootstrap 文檔中的默認面板示例

<div class="panel panel-default">
  <div class="panel-heading">Panel heading without title</div>
  <div class="panel-body">
    Panel content
  </div>
</div>

如果我為面板標題的警報添加了一個關閉按鈕,則該按鈕只會刪除標題。

您可以通過使用 undocument 功能來設置解除操作的目標...

<button type="button" class="close" 
data-target="#id_of_panel" 
data-dismiss="alert">
<span aria-hidden="true">&times;</span><span class="sr-only">Close</span>
</button>

這將使關閉按鈕關閉面板而不是其父元素。

我使用了 Bootstrap 版本 3 和 fontAwesome。

    <div class="panel panel-default">
<div class="panel-heading"><a data-toggle="collapse" href="#id_panel" aria-expanded="true">
        <div class="panel-title">     
            <i class="fa fa-th-list" aria-hidden="true"></i>  Formulario 
            <i class="fa fa-minus-square pull-right" aria-hidden="true"></i>
            <i class="fa fa-plus-square pull-right" aria-hidden="true"></i>
        </div>
    </a></div></div>

還有你的內容 div。

<div class="panel-collapse collapse in" id="id_panel" aria-expanded="true">
...content
</div>

那些想要在可折疊面板內放置一個“關閉”按鈕以折疊面板的人,您可以使用以下代碼段:

 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Collapsible Panel</h2> <p>Click on the collapsible panel to open and close it.</p> <div class="panel-group"> <div class="panel panel-default"> <div class="panel-heading"> <h4 class="panel-title"> <a data-toggle="collapse" href="#collapse1">Collapsible panel</a> </h4> </div> <div id="collapse1" class="panel-collapse collapse"> <div class="panel-body">Panel Body</div> <div class="panel-footer"> <button type="button" data-target="#collapse1" data-toggle="collapse">Close</button> </div> </div> </div> </div> </div> </body> </html>

好的,自從提出這個問題以來已經過去了一段時間……與此同時,BS3 面板已在 BS4 中被所謂的卡所取代。 在沒有任何自定義 JavaScript 且僅使用 Bootstrap CSS 類的情況下實現可關閉卡片的一種好方法是:將card-headerBootstrap 4 關閉圖標card-body上的負邊距(此處為.mt-n5 )組合在一起。 關閉圖標很好地定位在卡片標題中,負邊距將卡片內容拉近到標題區域。

<div class="container">
  <div id="closeablecard" class="card card-hover-shadow mt-4">
    <div class="card-header bg-transparent border-bottom-0">
      <button data-dismiss="alert" data-target="#closeablecard" type="button" class="close" aria-label="Close">
        <span aria-hidden="true">&times;</span>
      </button>
    </div>
    <div class="card-body mt-n5">
      <h5 class="card-title">Your Title</h5>
      <p class="card-text">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem recusandae voluptate porro suscipit numquam distinctio ut. Qui vitae, ut non inventore necessitatibus quae doloribus rerum, quaerat commodi, nemo perferendis ab.
      </p>
      <a href="#" class="card-link">Card link</a>
      <a href="#" class="card-link">Another link</a>
    </div>
  </div>
</div>

要實際關閉卡片,我們可以使用 BS4 Data-API 並將以下數據屬性放在按鈕標簽中: data-dismiss="alert" data-target="#closeablecard" data-target 是我們卡的 ID,data-dismiss=alert 觸發 Bootstrap 中的實際關閉事件。

在 JSFiddle 上查看演示...

哈,
漢森

對於不想關閉而是顯示/隱藏的其他用戶,data-toggle="collapse" 是關鍵。 在下面的代碼段中,您可以使用一個按鈕來切換面板,面板本身具有切換按鈕。

 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <html> <body> <button type="button" class="btn-text" data-toggle="collapse" data-target="#helpCollapsePanel"> <i class="fa fa-info-circle"/> Click to Open </button> <div class="collapse" id="helpCollapsePanel" style="width:250px;"> <button type="button" class="close" style="margin-right: 5px;" data-toggle="collapse" data-target="#helpCollapsePanel"> <span aria-hidden="true">&times;</span> <span class="sr-only">Close</span> </button> <div class="panel panel-primary"> <div class="panel-body">Content Panel</div> </div> </div> </body> </html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM