如何才能在一個div標簽被點擊后永久地改變它的背景顏色。 嘗試了以下代碼:
div {
min-height: 50px;
background-color: yellow;
border-radius: 4px 4px 0 0。
padding: 10px。
display: flex;
align-items: center;
& :active {
背景色:紅色。
}
}
但是這樣一來,在點擊釋放后,背景顏色就會恢復到之前的顏色。 有什么方法可以單獨用SCSS和html來實作嗎?
。<div class="div">
<p>Hello</p>
</div>/span>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
如果你想用純粹的CSS/SCSS方法,你可以用過渡延遲來實作。 首先,你設定0s的過渡,和一個較高的延遲值(比如100000s)。現在當你激活這個元素的時候,把過渡改為0s,沒有延遲,這樣它就會立即改變顏色,現在由于有一個巨大的延遲,它幾乎成為永久性的。(但在你設定的延遲時間結束后,它又會回到初始狀態)
div {
min-height: 50px;
background-color: yellow;
border-radius: 4px 4px 0 0。
padding: 10px。
display: flex;
align-items: center;
過渡:背景色0s 100000s。
&:active {
背景色:紅色。
過渡:背景色0s。
}
div {
min-height: 50px;
background-color: 黃色。
border-radius: 4px 4px 0 0;
padding: 10px;
display: flex;
align-items: center;
transition: background-color 0s 100000s;
}
div:active {
background-color: 紅色。
transition: background-color 0s;
}
< div></div>
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
HTML
< div class="div" id="myDiv">/span>
<p>Hello</p>
</div>/span>
CSS
div {
min-height: 50px;
background-color: yellow;
border-radius: 4px 4px 0 0。
padding: 10px。
display: flex;
align-items: center;
}
JS
let myDiv=document.getElementById("myDiv");
myDiv.addEventListener('click',()=>{
myDiv.style.background='red'。
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/333980.html
標籤:
上一篇:上三角矩陣的對角線運行的線性指數
下一篇:訂閱超越計數的批量收集
