Table of Contents
标题一
标题一" >标题一
标题二" >标题二
标题一" >标题一
标题一 " > 标题一
标题一" >标题一
标题二" >标题二
标题三" >标题三
Home Web Front-end HTML Tutorial Bootstrap_Javascript_手风琴_html/css_WEB-ITnose

Bootstrap_Javascript_手风琴_html/css_WEB-ITnose

Jun 24, 2016 am 11:32 AM

  触发手风琴可以通过自定义的 data-toggle 属性来触发。其中data-toggle值设置为 collapse,data-target="#折叠区标识符"。

第一步,设计一个面板组合,里面有三个折叠区:

<div class="panel-group" id="myAccordion">    <div class="panel panel-accordion panel-default"></div>    <div class="panel panel-accordion panel-default"></div>    <div class="panel panel-accordion panel-default"></div></div>
Copy after login

第二步:给面板添加内容,每个面板包括两个部分,第一个是面板标题 panel-heading,并且在这里面添加标题 panel-title。第二个部分是面板内容,也就是折叠区,使用 panel-collapse 样式。

<div class="panel panel-accordion panel-default">    <div class="panel-heading">        <h4 id="标题一">标题一</h4>    </div>    <div class="panel-collapse">        <div class="panel-body">折叠区内容...</div>    </div></div>
Copy after login

第三步,为了把标题和内容区捆绑在一起,可以通过锚链接的方法,把标题区域和面板区连在一起:

<div class="panel-group" id="myAccordion">    <div class="panel panel-accordion panel-default">        <div class="panel-heading">            <h4 id="a-href-panel-标题一-a"><a href="#panel1">标题一</a></h4>        </div>        <div class="panel-collapse" id="panel1">            <div class="panel-body">折叠区内容...</div>        </div>    </div>    <div class="panel panel-accordion panel-default">        <div class="panel-heading">            <h4 id="a-href-panel-标题二-a"><a href="#panel2">标题二</a></h4>        </div>        <div class="panel-collapse" id="panel2">            <div class="panel-body">折叠区内容...</div>        </div>    </div>    ......</div>
Copy after login

第四步,控制面板内容区是否可视。在Bootstrap框架中,如果你想让内容区域不可视,只需要在 panel-collapse 样式上添加 collapse

    每个面板的内容区都被隐藏起来了,变成不可视,但有时候希望默认第一个面板内容是可视的,需要怎么办?其实Bootstrap作者早就为大家做了这方面的考虑,你只需要在collapse基础上再追加 in 样式.

<div class="panel panel-accordion panel-default">    <div class="panel-heading">        <h4 id="a-href-panel-标题一-a"><a href="#panel1">标题一</a></h4>    </div>    <div class="panel-collapse collapse" id="panel1">        <div class="panel-body">折叠区内容...</div>    </div></div>
Copy after login

第五步,激活手风琴交互行为。要完成交互行为,需要在标题链接中自定义两个属性,一个是data-toggle,并且取值为collapse;另一个是data-target,取值为各个面板内容区的标识符,比如说ID,在这个例子分别是#panel1、#panel2和#panel3

div class="panel panel-accordion panel-default">    <div class="panel-heading">        <h4 id="a-href-panel-data-toggle-collapse-data-target-panel-标题一-a"><a href="#panel1" data-toggle="collapse" data-target="#panel1">标题一</a></h4>    </div>    <div class="panel-collapse collapse in" id="panel1">        <div class="panel-body">折叠区内容...</div>    </div></div>
Copy after login

  注意:在这个案例中不加入data-target="#panel1"也可以,因为前面已经有了href="#panel1",但如是button按钮作为触发器就必须使用data-target="#panel1"语句了。

第六步,定义data-parent属性,实现点击一个其中一个元素时,关闭所有的折叠区,再打开所单击的区域(如果所单击区域是展示的,则会关闭)。这个data-parent取值与手风琴面板容器的标识符相匹配,比如这个例子是指 #myAccordion:

<div class="panel-group" id="myAccordion">    <div class="panel panel-accordion panel-default">        <div class="panel-heading">            <h4 id="a-href-panel-data-toggle-collapse-data-target-panel-data-parent-myAccordion-标题一-a">                <a href="#panel1" data-toggle="collapse" data-target="#panel1" data-parent="#myAccordion">标题一</a>            </h4>        </div>...
Copy after login

七 . 完整代码

<div class="panel-group" id="accordion">    <div class="panel panel-default">        <div class="panel-heading">            <h4 id="a-data-toggle-collapse-data-parent-accordion-href-collapseOne-标题一-a"><a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">标题一</a></h4>        </div>        <div id="collapseOne" class="panel-collapse collapse in">            <div class="panel-body">标题一对应的内容</div>        </div>    </div>    <div class="panel panel-default">        <div class="panel-heading">            <h4 id="a-data-toggle-collapse-data-parent-accordion-href-collapseTwo-标题二-a"><a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">标题二</a></h4>        </div>        <div id="collapseTwo" class="panel-collapse collapse">            <div class="panel-body">标题二对应的内容</div>        </div>    </div>    <div class="panel panel-default">        <div class="panel-heading">            <h4 id="a-data-toggle-collapse-data-parent-accordion-href-collapseThree-标题三-a"><a data-toggle="collapse"data-parent="#accordion"href="#collapseThree">标题三</a></h4>        </div>        <div id="collapseThree" class="panel-collapse collapse">            <div class="panel-body">标题三对应的内容</div>        </div>    </div></div>
Copy after login

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What is the purpose of the <progress> element? What is the purpose of the <progress> element? Mar 21, 2025 pm 12:34 PM

The article discusses the HTML &lt;progress&gt; element, its purpose, styling, and differences from the &lt;meter&gt; element. The main focus is on using &lt;progress&gt; for task completion and &lt;meter&gt; for stati

Is HTML easy to learn for beginners? Is HTML easy to learn for beginners? Apr 07, 2025 am 12:11 AM

HTML is suitable for beginners because it is simple and easy to learn and can quickly see results. 1) The learning curve of HTML is smooth and easy to get started. 2) Just master the basic tags to start creating web pages. 3) High flexibility and can be used in combination with CSS and JavaScript. 4) Rich learning resources and modern tools support the learning process.

What is the purpose of the <datalist> element? What is the purpose of the <datalist> element? Mar 21, 2025 pm 12:33 PM

The article discusses the HTML &lt;datalist&gt; element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

What is the viewport meta tag? Why is it important for responsive design? What is the viewport meta tag? Why is it important for responsive design? Mar 20, 2025 pm 05:56 PM

The article discusses the viewport meta tag, essential for responsive web design on mobile devices. It explains how proper use ensures optimal content scaling and user interaction, while misuse can lead to design and accessibility issues.

What is the purpose of the <iframe> tag? What are the security considerations when using it? What is the purpose of the <iframe> tag? What are the security considerations when using it? Mar 20, 2025 pm 06:05 PM

The article discusses the &lt;iframe&gt; tag's purpose in embedding external content into webpages, its common uses, security risks, and alternatives like object tags and APIs.

The Roles of HTML, CSS, and JavaScript: Core Responsibilities The Roles of HTML, CSS, and JavaScript: Core Responsibilities Apr 08, 2025 pm 07:05 PM

HTML defines the web structure, CSS is responsible for style and layout, and JavaScript gives dynamic interaction. The three perform their duties in web development and jointly build a colorful website.

What is the purpose of the <meter> element? What is the purpose of the <meter> element? Mar 21, 2025 pm 12:35 PM

The article discusses the HTML &lt;meter&gt; element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates &lt;meter&gt; from &lt;progress&gt; and ex

Understanding HTML, CSS, and JavaScript: A Beginner's Guide Understanding HTML, CSS, and JavaScript: A Beginner's Guide Apr 12, 2025 am 12:02 AM

WebdevelopmentreliesonHTML,CSS,andJavaScript:1)HTMLstructurescontent,2)CSSstylesit,and3)JavaScriptaddsinteractivity,formingthebasisofmodernwebexperiences.

See all articles