在開發網站的過程中,密碼框是必備的功能。但是,一般情況下,密碼框的提示文本(placeholder)在輸入密碼后就會消失,讓用戶在重新輸入密碼時不太方便。那么,有沒有一種方法可以讓提示文本一直存在呢?答案是肯定的,那就是使用 CSS。
使用 CSS 創建密碼框的提示文本很簡單,只需要使用偽元素:after,按照以下代碼實現:
input[type="password"]:after { content: "請輸入密碼"; color: #aaa; position: absolute; left: 10px; top: 10px; }
這段代碼的意思是,在密碼框輸入密碼前,輸入框內會出現一個提示文本“請輸入密碼”,顏色為灰色。這個提示文本是使用偽元素:after創建的,同時設置了該元素的位置。
但是,要實現該效果,僅僅有 CSS 還不夠。還需要 JavaScript,以達到在輸入內容的時候消失,空內容時再次出現的效果:
var input = document.querySelector("input[type=password]"); var placeholder = input.getAttribute("placeholder"); input.onfocus = function() { this.removeAttribute("placeholder"); } input.onblur = function() { if (this.value === "") { this.setAttribute("placeholder", placeholder); } }
這段代碼的作用是,獲取密碼輸入框并獲得密碼框的提示文本,當輸入框被選中時(focus),移除提示文本;當輸入框被取消選中時(blur),判斷輸入框是否為空,若為空,則設置提示文本為原本的內容。
通過上述方法,即可實現密碼框的提示文本一直存在,讓用戶在重新輸入密碼時更加方便。
下一篇css對齊文字一樣寬