I've made some changes (jsfiddle) and now it works, although, among other things, <inputs>
have to be substituted by <buttons>
. Why? Because the input
element can't contain children, so the :after
pseudo-element is not rendered. Besides that, you needed to set the content
and the position
properties for your :after
element:
button[type="submit"]:after {
content: '';
position: absolute;
display: block;
width: 100%;
height: 0;
top: 50%;
left: 50%;
background: #fff;
opacity: 0;
-webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-moz-transform: translateX(-20%) translateY(-20%) rotate(45deg);
-ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);
transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
EDITED For the transitions to work in the :after
element:
button[type="submit"]:after {
content: '';
position: absolute;
display: block;
width: 100%;
height: 0;
top: 50%;
left: 50%;
background: #fff;
opacity: 0;
-webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
-moz-transform: translateX(-20%) translateY(-20%) rotate(45deg);
-ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);
transform: translateX(-50%) translateY(-50%) rotate(45deg);
-webkit-transtion: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
}
New jsfiddle.