.loader{ width: 70px; height: 70px; margin: 50px auto 0; position: relative; animation: spin 10s linear infinite; } .loader > div{ width: 70px; height: 70px; position: absolute; top: 0px; left: 0px; } .loader > div > span{ width: 35px; height: 35px; box-shadow: 0px 0px 3px #555; float: left; display: block; opacity: 0.7; animation: loading 2s linear infinite; } .loader > div:first-child > span{ background-color: #df004f; } .loader > div:last-child{ transform: rotate(45deg); } .loader > div:last-child > span{ background-color: #74e600; } @keyframes loading{ 0%{ border-radius: 0px; transform: scale(1); } 50%{ border-radius: 35px; transform: scale(0.5); } 100%{ border-radius: 0px; transform: scale(1); } } @keyframes spin{ from{ transform: rotate(0deg); } to{ transform: rotate(360deg); } }