
Подробное описание и демонстрацией работы эффекта загрузки под номером №150 для бибилиотеки Bootstrap. Html и CSS код для реализации preloader’a сайта как на изображении.
Демонстрация эффекта загрузки страницы — стиль 150
<div class="container"> <div class="row"> <div class="col-md-12"> <div class="loader"> <div class="loader-inner"> <div class="box box-1"></div> <div class="box box-1"></div> <div class="box box-1"></div> </div> <div class="loader-inner"> <div class="box box-2"></div> <div class="box box-2"></div> <div class="box box-2"></div> </div> <div class="loader-inner"> <div class="box box-3"></div> <div class="box box-3"></div> <div class="box box-3"></div> </div> <div class="loader-inner"> <div class="box box-4"></div> <div class="box box-4"></div> <div class="box box-4"></div> </div> </div> </div> </div> </div>css разметка для реализации эффекта загрузки страницы
.loader{ width: 64px; height: 64px; margin: 90px auto; position: relative; -webkit-animation: loading-1 5s infinite; animation: loading-1 5s infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; } .loader .loader-inner{ width: 64px; height: 24px; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } .loader .loader-inner:nth-child(0){ transform: rotate(0deg); } .loader .loader-inner:nth-child(1){ transform: rotate(90deg); } .loader .loader-inner:nth-child(2){ transform: rotate(180deg); } .loader .loader-inner:nth-child(3){ transform: rotate(270deg); } .loader .box{ position: absolute; top: 50%; left: 50%; -webkit-animation: loading-2 2.5s infinite; animation: loading-2 2.5s infinite; -webkit-animation-timing-function: linear; animation-timing-function: linear; } .loader .box:nth-child(1){ width: 8px; height: 8px; border-radius: 50%; top: 50%; left: 50%; margin: -4px 0 0 4px; -webkit-animation-delay: -0.3s; animation-delay: -0.3s; } .loader .box:nth-child(2){ width: 16px; height: 16px; border-radius: 50%; top: 50%; left: 50%; margin: -8px 0 0 -8px; -webkit-animation-delay: -0.6s; animation-delay: -0.6s; } .loader .box:nth-child(3){ width: 24px; height: 24px; border-radius: 50%; top: 50%; left: 50%; margin: -12px 0 0 -12px; -webkit-animation-delay: -0.9s; animation-delay: -0.9s; } .loader .box-1{ background: #6cc04a; } .loader .box-2{ background-color: #5b87da; } .loader .box-3{ background-color: #f5426c; } .loader .box-4{ background-color: #fee300; } @-webkit-keyframes loading-1{ 0%{ -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100%{ -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @keyframes loading-1{ 0%{ -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100%{ -webkit-transform: rotate(360deg); transform: rotate(360deg); } } @-webkit-keyframes loading-2{ 0%{ -webkit-transform: translate(0, 0); transform: translate(0, 0); } 25%{ -webkit-transform: translate(-64px, 0); transform: translate(-64px, 0); } 75% { -webkit-transform: translate(32px, 0); transform: translate(32px, 0); } 100%{ -webkit-transform: translate(0, 0); transform: translate(0, 0); } } @keyframes loading-2{ 0%{ -webkit-transform: translate(0, 0); transform: translate(0, 0); } 25%{ -webkit-transform: translate(-64px, 0); transform: translate(-64px, 0); } 75%{ -webkit-transform: translate(32px, 0); transform: translate(32px, 0); } 100%{ -webkit-transform: translate(0, 0); transform: translate(0, 0); } }