私はちょうど最近HTMLを学び、小さなプログラムを持っています。<Style>でCSSフォームを作成して使用します。<Body>ではHTMLなし
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function(){
this.classList.toggle("active");
this.nextElementSibling.classList.toggle("show");
}
}
.triangleright {
width: 0;
height: 0;
border: solid 10px;
border-color: transparent transparent transparent green ;
}
.triangledown {
width: 0;
height: 0;
border: solid 10px;
border-color: white transparent transparent transparent ;
}
button.accordion {
background-color: rgb(213,227,233);
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
button.accordion.active {
background-color: rgb(0,56,96);
color: white;
}
button.accordion:after {
/* content:"/2795"; */
content: "<div class="triangleright"></div>";
font-size: 13px;
float:left;
margin-left: 5px;
}
button.accordion.active:after {
/* content:"/2796"; */
content: "<div class="triangledown"></div>";
}
div.panel {
padding: 0 18px;
background-color: white;
max-height: 0;
overflow: hidden;
transition: 0.6s ease-in-out;
opacity: 0;
}
div.panel.show {
opacity: 1;
max-height: 500px;
}
<button class="accordion"> Title</button>
<div class="panel">
<p>Content</p>
</div>
私は、 "タイトル" の前に小さなtriangeを作成する必要があります。しかし、私が作成した三角形をbutton.accordion:after
とbutton.accordion.active:after
に挿入すると、うまくいきません。
:[http://www.w3schools.com /cssref/pr_gen_content.asp](http://www.w3schools.com/cssref/pr_gen_content.asp) – charlietfl
チェック一度content' –
@user:私の更新された回答とフィドルのリンクを参照してください。ちょっとしたCSS改造が必要ですそれ以外の場合は完全に動作します。 –