ฉันมี div ที่ยุบได้ CSS บริสุทธิ์ซึ่งอ้างอิงจากรหัสของคนอื่นที่ใช้:target
psuedoclass สิ่งที่ฉันกำลังพยายามตั้งค่าคือหน้าที่มีคำถามมากกว่า 12 ข้อและเมื่อคุณคลิกที่ปุ่ม + div คำตอบจะขยายออกด้านล่าง ฉันไม่สามารถหาวิธีสร้างองค์ประกอบ div ที่ยุบได้หลายรายการในหน้านี้โดยไม่ต้องเขียน CSS เพิ่มเติมมากมาย ใครมีคำแนะนำในการเขียนสิ่งนี้เพื่อย่อโค้ด CSS ของฉัน? (กล่าวคือฉันไม่ต้องป้อนตัวเลือกที่ไม่ซ้ำกันสำหรับคำถามมากกว่า 12 ข้อแต่ละข้อ)
ฉันไม่สามารถใช้ Javascript ได้เนื่องจากสิ่งนี้เกิดขึ้นบนไซต์ wordpress.com ซึ่งไม่อนุญาตให้ใช้ JS
นี่คือ jfiddle ของฉัน: http://jsfiddle.net/dmarvs/94ukA/4/
<div class="FAQ">
<a href="#hide1" class="hide" id="hide1">+</a>
<a href="#show1" class="show" id="show1">-</a>
<div class="question"> Question Question Question Question Question Question Question Question Question Question Question? </div>
<div class="list">
<p>Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer Answer </p>
</div>
</div>
/* source: http://www.ehow.com/how_12214447_make-collapsing-lists-java.html */
.FAQ {
vertical-align: top;
height:auto !important;
}
.list {
display:none;
height:auto;
margin:0;
float: left;
}
.show {
display: none;
}
.hide:target + .show {
display: inline;
}
.hide:target {
display: none;
}
.hide:target ~ .list {
display:inline;
}
/*style the (+) and (-) */
.hide, .show {
width: 30px;
height: 30px;
border-radius: 30px;
font-size: 20px;
color: #fff;
text-shadow: 0 1px 0 #666;
text-align: center;
text-decoration: none;
box-shadow: 1px 1px 2px #000;
background: #cccbbb;
opacity: .95;
margin-right: 0;
float: left;
margin-bottom: 25px;
}
.hide:hover, .show:hover {
color: #eee;
text-shadow: 0 0 1px #666;
text-decoration: none;
box-shadow: 0 0 4px #222 inset;
opacity: 1;
margin-bottom: 25px;
}
.list p{
height:auto;
margin:0;
}
.question {
float: left;
height: auto;
width: 90%;
line-height: 20px;
padding-left: 20px;
margin-bottom: 25px;
font-style: italic;
}