Но, как вариант - можно извратиться с псевдоэлементами 
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		div{
			width: 100px;
			height: 50px;
			background-color: #321;
		}
		div:after{
			display: block;
			width: 100%;
			height: 100%;
			content: ' ';
		}
		div:hover::after{
			background-color: rgba(255,255,255,0.5);
		}
		div:active::after{
			background-color: rgba(000,000,000,0.5);
		}
	</style>
</head>
<body>
	<div></div>
</body>
</html>