The display
property does not follow the trasition-delay
rule already the visibility
property yes only in a more rigid way ( More info here on the difference between both properties.)
Perhaps a more visual solution would be to apply background
from progressive transparent
to solid color.
Here's an example:
<!DOCTYPE html>
<html>
<head>
<style>
.delay {
background: tomato;
height: 120px;
width: 240px;
visibility: hidden;
transition-delay: 3s;
}
</style>
</head>
<body>
<input type="submit" value="click" onClick="display()">
<div id="delay" class="delay"></div>
<script>
function display() {
var element = document.getElementById("delay");
element.style.visibility = "visible";
}
</script>
</body>
</html>