CSS字體選中時變色
在Web開發中,經常需要對文本內容進行選中(即鼠標左鍵拖拽),在選中文本時,我們可以通過CSS來改變選中內容的字體顏色,以展現更好的用戶體驗。
::selection { color: #fff; background-color: #007bff; }
上面的CSS代碼使用了CSS偽元素“::selection”,表示對選中的文本進行樣式定義。在這里,我們設置了選中內容的字體顏色為白色,背景色為深藍色。
需要注意的是,這種方式只對部分瀏覽器有效,比如Chrome、Firefox等現代瀏覽器,而Internet Explorer和Microsoft Edge則不支持。如果需要兼容舊版瀏覽器,可以使用JavaScript的代碼來兼容:
document.addEventListener("DOMContentLoaded", function() { //判斷是否支持偽元素“::selection” if (window.getSelection) { var selection = window.getSelection(); if (selection.baseNode == selection.focusNode) { //獲取選中范圍的父元素(即選中文本的祖先元素) var parentEl = selection.baseNode.parentElement; //為父元素綁定選中事件 parentEl.addEventListener("mouseup", function() { //獲取選中文本并設置樣式 var selectedText = window.getSelection().toString(); if (selectedText !== "") { parentEl.style.color = "#fff"; parentEl.style.backgroundColor = "#007bff"; } }); } } });
上述JavaScript代碼通過判斷是否支持偽元素“::selection”,在不支持時使用JavaScript來實現選中文本樣式的改變。在這里,我們首先判斷是否有選中的內容,然后獲取父元素并為其綁定mouseup事件,最后獲取選中內容并改變其字體顏色和背景色。
總之,無論是通過CSS還是JavaScript,我們都可以方便地實現文本選中后的樣式改變,來提升用戶體驗和頁面效果。
上一篇ajax回傳的值如何換行
下一篇css奔跑的熊素材