<html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<title>Блочная верстка</title>
</head>
<body>
<div class="wrapper">
<div id="header">
<div class="logo"><a href="index.html">Ikurs</a></div>
</div>
<div id="nav">
<nav>
<ul>
<li><a href="index.html">Главная</a></li>
<li><a href="#">Услуги</a></li>
<li><a href="#">Контакты</a></li>
</ul>
</nav>
</div>
<div id="content">
<div class="col-4"><img class="blur" src="images/webmaster.jpg"></div>
<div class="col-4"><img class="op" src="images/webmaster.jpg"></div>
<div class="col-4"><img src="images/webmaster.jpg"></div>
<div class="col-4"><img src="images/webmaster.jpg"></div>
<div class="col-3"><img src="images/webmaster.jpg"></div>
<div class="col-3"><img src="images/webmaster.jpg"></div>
<div class="col-3"><img src="images/webmaster.jpg"></div>
</div>
<div id="sidebar">sidebar</div>
<div id="footer">footer</div>
<div class="sqr"><a href="#">up</a></div>
</div>
</body>
</html>
/*Универсальный селектор 0 б*/
*{
margin:0;
padding:0;
box-sizing:border-box;
}
body{
font-family:Calibri,sans-serif;
background:pink url(images/symphony.png) repeat;
background-position:100% 50%;
}
img{
max-width:100%;
width:auto;
}
/*Селекторы тегов (элементов) 2 б*/
.wrapper{
max-width:960px;
margin:0 auto;
}
#header,#footer,#nav{
width:100%;
float:left;
background: rgba(0, 0, 0, 0.70);
padding:10px 20px;
border-bottom:#fff solid 2px;
}
#header{
position:fixed;
max-width:960px;
width:100%;
z-index:1;
}
#nav{
position:fixed;
max-width:960px;
width:100%;
top:60px;
z-index:1;
}
#content{
margin-top:120px;
width:calc(100% - 300px);
float:left;
background:#eee url(images/webmaster.jpg) no-repeat;
background-size:cover;
background-position: 50% 50%;
background-attachment:fixed;
padding:10px 20px;
height:700px;
}
#sidebar{
margin-top:120px;
width:300px;
float:left;
background:#ddd;
padding:10px 20px;
}
/*Селекторы классов 10 б*/
.logo{
text-align:center;
}
.logo a{
color:#fff;
font-size:30px;
text-decoration:none;
}
#nav li{
float:left;
margin: 10px 0;
}
#nav a{
color:#000;
padding:10px;
text-decoration:none;
background:#fff;
border:2px transparent solid;
}
#nav a:hover{
/*background:#fff;*/
border:2px #333 solid;
}
#content{
position:relative;
}
.sqr{
width:50px;
height:50px;
background:red;
position:fixed;
right:0%;
bottom:0;
z-index:999;
}
.col-4{
width:25%;
float:left;
padding:10px;
}
.col-3{
width:33.3%;
float:left;
padding:10px;
}
.blur{
filter: blur(5px);
-webkit-filter: blur(5px);
-o-filter: blur(5px);
-moz-filter: blur(5px);
-ms-filter: blur(5px);
}
.blur:hover{
-webkit-filter: blur(0px);
}
.op{
opacity:0.5;
}
.op:hover{
opacity:1;
}
/*Селекторы идентификаторов 100 б*/
Содержание:
- @keyframesanimation-name
- animation-duration
- animation-timing-function
- animation-iteration-count
- animation-direction
- animation-play-state
- animation-delay
- animation-fill-mode
Свойство animation позволяет анимировать элементы страницы.
Можно управлять длительностью анимации, повторением, направлением, типом движения и шагами. Анимировать можно любые элементы, в том числе псевдо-элементы.
Обязательное условие — наличие конкретных значений. Свойства со значением auto не анимируются.
@keyframes
Сама анимация задается внутри блока @keyframes. После @keyframes задается имя анимации, а потом внутри фигурных скобок — её шаги.
Шаги можно задавать через проценты или с помощью ключевых слов from и to. При этом в шагах можно менять тип анимации (animation-timing-function):
/* Современные браузеры, кроме Chrome, Opera, Safari */
@keyframes go-left-right { /* назовём анимацию: "go-left-right" */
from {
left: 0px; /* от: left: 0px */
}
to {
left: calc(100% - 50px); /* до: left: 100%-50px */
}
}
/* Префикс для Chrome, Opera, Safari */
@-webkit-keyframes go-left-right {
from {
left: 0px;
}
to {
left: calc(100% - 50px);
}
}
.progress {
/* применить анимацию go-left-right */
/* продолжительность 3s */
/* количество раз: бесконечное (infinite) */
/* менять направление анимации каждый раз (alternate) */
animation: go-left-right 3s infinite alternate;
-webkit-animation: go-left-right 3s infinite alternate;
Animation-name
Используется для задания имени анимации.
Возможные значения: одно или несколько имен анимации. Значение по умолчанию: нет.
animation-name: move; — одна анимация. animation-name: move, sun-color; — две анимации, имена задаются через запятую.
Animation-duration
Длительностью анимации управляет свойство animation-duration.
Возможные значения: время в секундах (s) или миллисекундах (ms). В случае нескольких анимаций время для каждой из них можно задать через запятую. Исходное значение — 0s.
Animation-timing-function
Свойство определяет тип анимации.
Возможные значения:
Плавная анимация
ease— скольжение (значение по умолчанию)linear— ровное движениеease-in— ускорение к концуease-out— ускорение в началеease-in-out— более плавное скольжение, чемeasecubic-bezier(число,число,число,число)позволяет задавать сложный тип анимации.
Animation-iteration-count
Управляет повторением анимации. Значение по умолчанию: 1 (анимация проигрывается один раз).
Возможные значения:
число — сколько раз проиграть анимацию. infinite — бесконечное повторение.
Animation-direction
Отвечает за направление анимации.
Возможные значения:
normal— анимация проигрывается в обычном направлении, с начала и до конца.reverse— анимация проигрывается в обратном направлении, то есть с конца.alternate— анимация проигрывается с начала и до конца, а затем в обратном направлении.alternate-reverse— анимация проигрывается с конца до начала, а затем в обратном направлении.
Animation-play-state
Управляет остановкой и проигрыванием анимации.
Возможные значения:
running— анимация проигрывается (значение по умолчанию).paused— анимация застывает на первом шаге.
Управлять шагом, где будет остановка, не получается, но можно останавливать анимацию по :hover
Animation-delay
С помощью animation-delay можно задавать задержку анимации перед началом воспроизведения.
Возможные значения: время в секундах (s) или миллисекундах (ms). Значения могут быть отрицательными. В случае нескольких анимаций время для каждой из них можно задать через запятую. Исходное значение — 0s.
Все эти свойства можно записать с помощью короткой записи, например:
animation: timing 5s infinite alternate;
Обязательные значения — имя анимации и длительность. Первое временное значение считается длительностью воспроизведения, второе — задержкой.
Готовые ключевые кадры на сайте http://daneden.github.io/animate.css/, обязательно скачайте файл animate.css и подключите его к вашей странице.
Для того чтобы получить анимацию при прокрутке используйте нижеописанный скрипт и разместите его перед закрывающимся тего </body>
<script>$(window).scroll(function() {
$('.mov').each(function(){
var imagePos = $(this).offset().top;
var topOfWindow = $(window).scrollTop();
if (imagePos < topOfWindow+200) {
$(this).addClass('wobble');
}
});
});
</script>
Скрипт работает с библиотекой jquery, чтобы его подключить в контейнер </head> вставьте:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>