이 기능을 이용하면 속성이 변화하는 과정을 통해 애니메이션 효과가 적용되어 동적인 느낌을 줄 수 있다.
/* 예시 */
div {
transition : all 3s ease-in 2s ;
}
:hover시 색상 바뀜
.box{
border: 5px solid #000;
background: yellow;
width: 300px;
height: 300px;
transition: background 1s, border-radius 1s 1s, border-color 1s;
display: flex;
justify-content: center;
align-items: center;
}
.box:hover, .box:focus {
outline: 0;
background: pink;
border-radius: 50%;
border-color: salmon;
transform: rotate(2turn) translateX(50px);
}
: 순서대로 property name, duration, delay
.box{
border: 5px solid #000;
background: yellow;
width: 300px;
height: 300px;
transition: background 1s, border-radius 1s, border-color 1s, transform 1s;
}
.box:hover {
background: pink;
border-radius: 50%;
border-color: salmon;
transform: rotate(360deg);
}
.box:hover {
background: pink;
border-radius: 50%;
border-color: salmon;
transform: rotate(2turn) translateX(50px);
}
.box:hover, .box:focus {
outline: 0;
background: pink;
border-radius: 50%;
border-color: salmon;
transform: rotate(2turn) translateX(50px);
}
<div class="box" tabindex="0">박스</div>
.box{
border: 5px solid #000;
background: yellow;
width: 300px;
height: 300px;
transition: all 1s;
}
var listRelated = $('.related-list');
// 관련 사이트 transition
listRelated.on('mouseover focusin',function(e){
listRelated.addClass('list-act');
});
listRelated.on('mouseout focusout', function(e){
listRelated.removeClass('list-act');
});
[log를 찍어본 결과]
<ul>
의 자식요소인 <li>
로 mouse pointer를 이동시킬 때, 원래 pointer가 올라가있던 요소에서 mouseout이 일어나는 것과 동시에 다른 <li>
에 mouseover가 되므로 transition이 일어나는 시간보다 다시 mouseover가 돼서 addClass되는 시간이 더 빨라 상태가 유지되는 것처럼 보인다.<ol>
원래의 numbering 안 보이게 overflow hidden하고 number 사용해서 가상요소 만들기.favorite-list li{
counter-increment: number;
}
.favorite-list li::before{
content: counter(number);
}
<li>
중간에 이미지가 오게 만들기! .favorite-list em{
position: absolute;
top: calc(50% - 11px*.5);
right: 0;
width: 9px;
height: 11px;
padding-top: 11px;
overflow: hidden;
}
.favorite-list em.up{
background-image: url(images/rank.png);
background-position: 0 0;
}
.favorite-list em.down{
background-image: url(images/rank.png);
background-position: 0 100%;
}
.favorite-list em.stop{
background-image: url(images/rank.png);
background-position: 0 50%;
}
### Overflow: hidden 시 margin collapsing이 안 됨!
Flex 이용해서 배치하기
(1) .favorite-list li에 display : flex, justify-content : space-between을 준다.
(2) 오른쪽으로 붙여야할 .favorite-list em의 왼쪽 여백을 auto로 지정한다.
이는 가장자리 item을 양 옆으로 배치하고 남은 여백 margin을 em의 left-margin으로 몰아넣는다는 뜻이다.
<blockquote>
: block 형태 인용<q>
: 문장 형태 인용<cite>
: 출처.slogan-heading::before{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url(images/coffee.png);
}
.slogan-heading{
position: absolute;
bottom: -35px;
left: 0;
width: 110px;
height: 83px;
text-align: center;
padding-top: 10px;
}