Вы можете сделать это следующим образом: DEMO
<div class="circle" id="circ1">
<div>+<br>VIEW PROJECT</div>
</div>
<div class="circle" id="circ2">
<div class="cover">+<br>VIEW PROJECT</div>
</div>
CSS:
.circle{
position:relative;
width:250px;
height:250px;
float:left;
margin:20px;
background:transparent none no-repeat center center;
background-size:cover;
border-radius: 50%;
overflow:hidden;
}
#circ1{
background-image: url('bg1.jpg');
}
#circ2{
background-image: url('bg2.jpg');
}
.circle > div{
position:absolute;
height:50px;
padding:100px 0;
width:100%;
text-align:center;
top:-250px;
background:#fff;
transition: top 0.5s;
-webkit-transition: top 0.5s;
}
.circle:hover > div{
top:0;
}
Основная идея состоит в том, чтобы иметь relative positioned
круглый элемент с внутренним absolute pos.
элементом изначально позиционируется в некоторых - верхнее значение.
Круглый элемент требует свойства overflow:hidden
, чтобы скрыть внутренний элемент белого цвета.
Для анимации вы можете не использовать JS/JQuery или CSS3
Вот просто с помощью 'пограничных-radius', чтобы получить круг-образную форму ... остальное просто заурядный' transition' срабатывает через ': hover'. – CBroe