.box{ overflow: hidden; box-shadow: 0 0 3px rgba(0,0,0,0.3); position: relative; } .box:after{ content: ""; width: 100%; height: 100%; border-radius: 50%; background: rgba(46,158,172,0.85); opacity: 0; position: absolute; top: 0; left: 0; transform: scale(0); transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0s, opacity 0.4s ease 0s; } .box:hover:after{ opacity: 1; transform: scale(1.5); } .box img{ width: 100%; height: auto; } .box .icon{ width: 90%; padding: 20px 0; margin: 0; list-style: none; position: absolute; top: 0; left: 5%; z-index: 1; } .box .icon:after{ content: ""; width: 0; height: 2px; background: #fff; position: absolute; bottom: 0; left: 0; transition: all 0.3s ease 0s; } .box:hover .icon:after{ width: 100%; } .box .icon li{ display: inline-block; } .box .icon li a{ display: block; width: 35px; height: 35px; line-height: 35px; border-radius: 50%; background: #fff; font-size: 20px; color: #4babb8; text-align: center; opacity: 0; transform: translate(0px, 100px); transition: all 0.3s ease 0s; } .box .icon li:last-child a{ transition-delay: 0.1s; } .box:hover .icon li a{ opacity: 1; transform: translate(0, 0); } .box .box-content{ width: 100%; padding: 0 20px 20px; position: absolute; bottom: -100px; left: 0; opacity: 0; z-index: 1; transform: scale(0); transition: transform 0s ease 0.5s, opacity 0.3s ease 0.1s, top 0.3s ease 0.1s; } .box:hover .box-content{ opacity: 1; bottom: 0; transform: scale(1); transition: transform 0.3s ease 0.1s, opacity 0.3s ease 0.1s, top 0s ease 0s; } .box .title{ font-size: 24px; font-weight: bold; color: #fff; margin: 0 0 5px 0; } .box .post{ font-size: 14px; color: #fff; } @media only screen and (max-width:990px){ .box{ margin-bottom: 30px; } }