1. 程式人生 > >使用偽類:after加閃爍的游標以及下劃線

使用偽類:after加閃爍的游標以及下劃線

需求

實習過程都是開發關於銀行理財產品、手機銀行方向的業務,所以金額輸入框是常見的開發需求。
一般我們不會使用HTML自帶的input輸入框,而是使用div模擬金額輸入,要使得div更像金額輸入框,就需要有一個閃爍的游標。(動畫做的不好望諒解哈~)

這裡寫圖片描述

利用加閃爍游標

這裡需要一點css的動畫功底,涉及到animation、transform

<!DOCTYPE html>
<html>
<head>
	<title>:after加閃爍游標</title>
	<meta charset="utf-8">
	<style type="text/css">
		#input{
			position: relative;
		}
		@keyframes blink {
		  0%, 100% {
		    background-color: #000;
	  	  }
		  50% {
		    background-color: transparent;
		  } 
	    }
		#input:after {
			position: absolute;
		    content: '';
		    display: inline-block;
		    width: 2px;
		    height: 18px;
		    top: 50%;
		    transform: translateY(-50%);
		    animation: blink 1.2s infinite steps(1, start);
		}
	</style>
</head>
<body>
	<div id="input">test</div>
</body>
</html>

其實直接利用一個新的div標籤,設定其border,以及div的動畫也可以達到這個效果,不過一般規範點的程式碼都會用偽類來實現,都很少用一個沒有意義的多餘的div標籤。類似的需求還有,給一個框設定下劃線,也可以用偽類來實現。

利用偽類加下劃線

程式碼如下:

<!DOCTYPE html>
<html>
<head>
	<title>:after加下劃線</title>
	<meta charset="utf-8">
	<style type="text/css">
		#input{
			position: relative;
		}
		@keyframes blink {
		  0%, 100% {
		    background-color: #000;
		  }
		  50% {
		    background-color: transparent;
		  } 
	    }
		#input:after {
			position: absolute;
		    content: '';
		    width: 30px;
		    height: 1px;
		    bottom: 0;
		    background: #000;
		    left: 0;
		}
	</style>
</head>
<body>
	<div id="input">test</div>
</body>
</html>

效果
這裡寫圖片描述