CSS Gradient stops you adding a :hover effect

css, hover

Solution

Because you're setting a `background-image` in your standard property but only the `background-color` in the `:hover` state, it's not overriding the image.

Change `background-color: #3b9ddd;` to `background: #3b9ddd;`

.sqaure-blue-btn {
    height: 50px;
    border: 1px solid #2f78a9;
    /* stroke */
    background-color: #3999d7;
    /* layer fill content */
    -moz-box-shadow: inset 0 1px 1px #82cdff;
    /* inner shadow */
    -webkit-box-shadow: inset 0 1px 1px #82cdff;
    /* inner shadow */
    box-shadow: inset 0 1px 1px #82cdff;
    /* inner shadow */
    background-image: url(data:image/svg+xml;
    base64, PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iaGF0MCIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHgxPSI1MCUiIHkxPSIxMDAlIiB4Mj0iNTAlIiB5Mj0iLTEuNDIxMDg1NDcxNTIwMmUtMTQlIj4KPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzMzODViYyIgc3RvcC1vcGFjaXR5PSIxIi8+CjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzNhOWFkYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgIDwvbGluZWFyR3JhZGllbnQ+Cgo8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0idXJsKCNoYXQwKSIgLz4KPC9zdmc+);
    /* gradient overlay */
    background-image: -moz-linear-gradient(bottom, #3385bc 0%, #3a9ada 100%);
    /* gradient overlay */
    background-image: -o-linear-gradient(bottom, #3385bc 0%, #3a9ada 100%);
    /* gradient overlay */
    background-image: -webkit-linear-gradient(bottom, #3385bc 0%, #3a9ada 100%);
    /* gradient overlay */
    background-image: linear-gradient(bottom, #3385bc 0%, #3a9ada 100%);
    /* gradient overlay */
}
.sqaure-blue-btn:hover {
    border: 1px solid #2f78a9;
    /* stroke */
    background: #3b9ddd;
    /* layer fill content */
    -moz-box-shadow: inset 0 1px 1px #82cdff;
    /* inner shadow */
    -webkit-box-shadow: inset 0 1px 1px #82cdff;
    /* inner shadow */
    box-shadow: inset 0 1px 1px #82cdff;
    /* inner shadow */
}
<div class="sqaure-blue-btn"></div>

Problem

Im trying to make a set of buttons, I have created the standard button and of course I want a hover effect, but the way I'm doing, the gradient doesn't seem to change to the hover state. ``` .sqaure-blue-btn { border: 1px solid #2f78a9; /* stroke */ background-color: #3999d7; /* layer fill content */ -moz-box-shadow: inset 0 1px 1px #82cdff; /* inner shadow */ -webkit-box-shadow: inset 0 1px 1px #82cdff; /* inner shadow */ box-shadow: inset 0 1px 1px #82cdff; /* inner shadow */ background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPjxsaW5lYXJHcmFkaWVudCBpZD0iaGF0MCIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHgxPSI1MCUiIHkxPSIxMDAlIiB4Mj0iNTAlIiB5Mj0iLTEuNDIxMDg1NDcxNTIwMmUtMTQlIj4KPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iIzMzODViYyIgc3RvcC1vcGFjaXR5PSIxIi8+CjxzdG9wIG9mZnNldD0iMTAwJSIgc3RvcC1jb2xvcj0iIzNhOWFkYSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgIDwvbGluZWFyR3JhZGllbnQ+Cgo8cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0idXJsKCNoYXQwKSIgLz4KPC9zdmc+); /* gradient overlay */ background-image: -moz-linear-gradient(bottom, #3385bc 0%, #3a9ada 100%); /* gradient overlay */ background-image: -o-linear-gradient(bottom, #3385bc 0%, #3a9ada 100%); /* gradient overlay */ background-image: -webkit-linear-gradient(bottom, #3385bc 0%, #3a9ada 100%); /* gradient overlay */ background-image: linear-gradient(bottom, #3385bc 0%, #3a9ada 100%); /* gradient overlay */ } .sqaure-blue-btn:hover { border: 1px solid #2f78a9; /* stroke */ background-color: #3b9ddd; /* layer fill content */ -moz-box-shadow: inset 0 1px 1px #82cdff; /* inner shadow */ -webkit-box-shadow: inset 0 1px 1px #82cdff; /* inner shadow */ box-shadow: inset 0 1px 1px #82cdff; /* inner shadow */ } ``` Anyone know why? Fiddle: http://jsfiddle.net/dpUaL/

Original source