JSFiddle - React, Tailwind, and code Playground
https://teratail.com/questions/319042
by Lhankor_Mhy
HTML
<link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css">
<script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script>
<!-- タブメニュー -->
<div class="tab-menu">
</div>
<!-- 各スライド -->
<div class="swiper-container tab-content">
<div class="swiper-wrapper">
<div class="swiper-slide">
contentテキスト1
</div>
<div class="swiper-slide">
contentテキスト2
</div>
<div class="swiper-slide">
contentテキスト3
</div>
<div class="swiper-slide">
contentテキスト4
</div>
</div>
</div>
<!-- タブメニュー -->
<div class="tab-menu">
</div>
CSS
.tab-menu .swiper-pagination-bullet {
display: block;
width: auto;
height: auto;
border-radius: 0;
flex-grow: 1;
opacity: 1;
padding: 20px 0;
position: relative;
text-align: center;
color: black;
background-color: #dce9f5;
cursor: pointer;
border-right: 2px solid black;
font-size: 0.9em; /*メニュー一覧のフォントの大きさ*/
font-weight: bold;
color: black;
}
.tab-menu .swiper-pagination-bullet:last-child {
border: 0;
}
.tab-menu .swiper-pagination-bullet.swiper-pagination-bullet-active {
color: brack;
background-color: #f7f7f7;
}
.tab-content .swiper-wrapper .swiper-slide {
box-sizing: border-box;
display: block;
flex-wrap: wrap;
justify-content: space-between;
background-color: white;
padding: 0px 5px 5px; /*content内の文字の余白*/
}
.tab-menu {
display: flex;
}
JavaScript
var tab = new Swiper('.tab-content', {
//タブコンテンツ
slidesPerView: 1,
autoHeight: true,
uniqueNavElements: false,
pagination: {
el: '.tab-menu',
clickable: true,
renderBullet: function (index, className) {
return '<span class="' + className + '">content' + (index + 1) + '</span>';
}
},
});