CSS3 動態打鉤效果是一種常見的頁面效果,通過CSS3的各種屬性設置可以實現這一效果。
.tick { position: relative; display: inline-block; width: 30px; height: 30px; border: 2px solid #ccc; border-radius: 50%; transition: 0.4s; } .tick::before, .tick::after { content: ''; position: absolute; top: 50%; left: 50%; width: 5px; height: 10px; background-color: #ccc; transform-origin: bottom right; border-radius: 2px; } .tick::before { transform: translate(-50%, -50%) rotate(-45deg) scale(0); transition: transform 0.4s; } .tick::after { transform: translate(-50%, -50%) rotate(45deg) scale(0); transition: transform 0.4s; } .tick.checked { border-color: #4CAF50; } .tick.checked::before { transform: translate(-50%, -50%) rotate(-45deg) scale(1); } .tick.checked::after { transform: translate(-50%, -50%) rotate(45deg) scale(1); }
通過CSS設置,實現一個基本的動態打鉤效果的樣式,其中使用了before和after偽元素,通過transform屬性設置旋轉和縮放,hover時改變其屬性以實現打鉤效果。
然后通過JS代碼實現選中和取消選中的操作:
var tick = document.querySelector('.tick'); tick.addEventListener('click', function(){ if(tick.classList.contains('checked')){ tick.classList.remove('checked'); }else{ tick.classList.add('checked'); } });
通過addEventListener方法監聽元素的點擊事件,然后加上或者去除一個類名,從而改變樣式,實現選中和取消選中的操作。
綜上所述,CSS3動態打鉤效果的實現需要通過CSS設置樣式,并通過JS監聽事件來控制樣式的變化,這樣就能夠實現一個簡單而炫酷的頁面效果了。
上一篇ireport vue
下一篇css3 圖標閃爍