CSS3 전환을 사용하여 선택한 또는 마우스 오버 메뉴 효과를 만들려고합니다. 저는 border-left-width와 padding-left를 동시에 애니 메이팅함으로써이 작업을하고 있습니다. 국경은 6px 증가하고 패딩은 6px 감소하며 속도는 0.3s입니다.FireFox에서 동기 CSS3 전환이 부드럽 지 않습니다.
Chrome에서는 둘 다 같은 속도로 움직이고 부드럽게 보입니다. IE에서 전환은 즉각적이며 (분명히 전환/애니메이션 없음) 좋을 것입니다. 파이어 폭스에서는 테두리와 패딩이 동시에 애니메이션으로 나타납니다.하지만 텍스트 나 컨테이너가 바뀌어서 고르지 않게 보입니다.
여기에 바이올린 예입니다 http://jsfiddle.net/crisp330/w7phH/1/ (FF와 크롬의 차이를 참조하십시오?)
어쨌든 거기에 파이어 폭스이 원활 크롬이하는 것처럼 애니메이션을 얻을? 저는 LI 내부에 다른 요소를 배치하고 애니메이션을 적용하는 것과 같은 대안을 사용할 수 있다는 것을 알고 있습니다. 그러나이 접근법은 sooo cleannnn입니다! 여기
(예를 작업을위한 jsFiddle 참조) CSS3 전환의 고기입니다 : 여기ul li {
padding-left: 12px;
border: 0 none;
}
ul li:hover {
padding-left: 6px;
border-left: 6px solid #d17519;
transition: border-left-width .3s, padding-left .3s;
-moz-transition: border-left-width .3s, padding-left .3s;
-webkit-transition: border-left-width .3s, padding-left .3s;
-o-transition: border-left-width .3s, padding-left .3s;
}
위대한 답변 ... 나는 전혀 몰랐다. 감사! – Ryan