A. 下線を使ったミニマルな構成で、ページに馴染みやすいです。
A. はい、複数同時に開くことができます。
HTML
<div class="accordion-line">
<div class="accordion-item">
<button class="accordion-question">Q. このデザインの特徴は?</button>
<div class="accordion-answer">
<p>A. 下線を使ったミニマルな構成で、ページに馴染みやすいです。</p>
</div>
</div>
<div class="accordion-item">
<button class="accordion-question">Q. 複数開けますか?</button>
<div class="accordion-answer">
<p>A. はい、複数同時に開くことができます。</p>
</div>
</div>
</div>
CSS
.accordion-line {
max-width: 600px;
margin: 50px auto;
font-family: sans-serif;
}
.accordion-item {
border-bottom: 1px solid #ccc;
margin-bottom: 12px;
}
.accordion-question {
background: none;
border: none;
width: 100%;
text-align: left;
padding: 16px 0;
font-size: 16px;
font-weight: 500;
color: #333;
cursor: pointer;
position: relative;
transition: color 0.2s ease;
}
.accordion-question::after {
content: '+';
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
font-weight: bold;
transition: transform 0.3s ease;
}
.accordion-question.active::after {
content: '−';
}
.accordion-answer {
display: none;
padding: 8px 0 16px;
font-size: 14px;
color: #555;
line-height: 1.6;
}
JavaScript
document.querySelectorAll('.accordion-question').forEach(btn => {
btn.addEventListener('click', () => {
const answer = btn.nextElementSibling;
btn.classList.toggle('active');
answer.style.display = answer.style.display === 'block' ? 'none' : 'block';
});
});