JSFiddle - React, Tailwind, and code Playground
HTML
<html>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Select2 -->
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
<!-- Daterangepicker -->
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
<link rel="stylesheet" href="./style2.css">
<link rel="stylesheet" href="https://cdn.datatables.net/1.11.3/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/fixedheader/3.2.0/css/fixedHeader.dataTables.min.css">
<head>
</head>
<body>
<div class="main">
<div class="container-main1" style="backcolor:#222">
<div class="container">
<h1>Accordion/Select2</h1>
<div class="container__accordion">
<ul class="accordion">
<li class="accordion__item">
<!-- Accordion 1 -->
<div class="accordion__item__head">
<button class="accordion">SELECT1</button>
</div>
<div class="accordion__item__body">
<div class="accordion-content accordion-select">
<select class="js-example-basic-single1" name="state">
<option value="AL">Alabama</option>
<option value="WY">Wyoming</option>
<option value="AL">Alabama</option>
<option value="WY">Wyoming</option>
<option value="AL">Alabama</option>
<option value="WY">Wyoming</option>
<option value="AL">Alabama</option>
<option value="WY">Wyoming</option>
<option value="AL">Alabama</option>
<option...
CSS
body{
margin: 0;
}
.container-main {
/*height: 100vh;*/
background: #EFF0F1;
overflow: auto;
}
/*.container {
width: 80%;
max-width: 600px;
margin: 50px auto;
}*/
button.accordion {
width: 100%;
background-color: whitesmoke;
border: none;
outline: none;
text-align: left;
padding: 15px 20px;
font-size: 18px;
color: #333;
cursor: pointer;
transition: background-color 0.2s linear;
}
button.accordion:after {
font-family: FontAwesome;
content: "\f150";
font-family: "fontawesome";
font-size: 18px;
float: right;
}
button.accordion.is-open:after {
content: "\f151";
}
button.accordion:hover,
button.accordion.is-open {
background-color: #ddd;
}
.select2-container{
position: relative!important;
top:0!important;
left: 0!important;
}
.select2-dropdown{
position: relative!important;
}
/*accordion*/
.container__accordion {
display: flex;
align-items: center;
justify-content: center;
}
.accordion {
list-style: none;
width: 100%;
padding: 0;
margin: 0 auto;
}
.accordion__item {
border: 1px solid #f2f2f2;
transition: all 0.2s linear;
}
.accordion__item.open {
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.accordion__item__head {
}
.accordion__item__head {border: none;outline: none;text-align: left;font-size: 18px;color: #333;cursor: pointer;transition: background-color 0.2s linear;}
.accordion__item__head h2 {
font-size: 18px;
font-weight: 300;
font-family: Arial;
text-transform: uppercase;
margin: 0;
}
.accordion__item__head i {
transition: transform 0.3s linear;
}
.accordion__item.open .accordion__item__head i {
transform: rotate(-180deg);
}
.accordion__item__body {
overflow: hidden;
height: 0;
}
.accordion__item.open .accordion__item__body {
padding: 1rem;
height: auto;
}
.accordion__item__body > *:not(:first-child) {
margin-top: 0.8rem;
}
.accordion__item__body p {
font-size: 0.9rem;
line-height: 1.3;
}
.accordion__item__head h2:after {
content: "\f150";
font-family: "fontawesome";
...
JavaScript
$(document).ready(function() {
$('.js-example-basic-single1').select2({
dropdownParent: $('#myModal'),
});
$('.js-example-basic-single2').select2({
dropdownParent: $('#myModal2'),
});
$('#example').DataTable( {
fixedHeader: true
} );
$('input[name="daterange"]').daterangepicker({
opens: 'left',
drops: 'down',
parentEl: "#divChooseDossier",
showDropdowns: true,
});
});
// BD custom js
const accordion_items_elms = document.querySelectorAll('.accordion .accordion__item');
accordion_items_elms.forEach(accordionItem => {
accordionItem.querySelector('.accordion__item__head').addEventListener('click', (e) => {
accordionItem.classList.toggle('open');
});
});