요소에 여러 개의 CSS 전환을 갖는 방법은 무엇입니까?
꽤 간단한 질문이지만 CSS 전환 속성에 대한 좋은 문서를 찾을 수 없습니다.다음은 CSS 스니펫입니다.
    .nav a
{
    text-transform:uppercase;
    text-decoration:none;
    color:#d3d3d3;
    line-height:1.5 em;
    font-size:.8em;
    display:block;
    text-align:center;
    text-shadow: 0 -1.5em 0 rgba(255, 255, 255, 0.15);
    -webkit-transition: color .2s linear;
    -moz-transition: color .2s linear;
    -o-transition: color .2s linear;
    transition: color .2s linear;
    -webkit-transition: text-shadow .2s linear;
    -moz-transition: text-shadow .2s linear;
    -o-transition: text-shadow .2s linear;
    transition: text-shadow .2s linear;
}
.nav a:hover
{
    color:#F7931E;
    text-shadow: 0 1.5em 0 rgba(247, 147, 30, 0.15);
}
보시다시피, 전환 속성이 서로를 덮어쓰고 있습니다.현재 상태에서는 텍스트 그림자가 애니메이션으로 표시되지만 색상은 표시되지 않습니다.어떻게 하면 둘 다 동시에 애니메이션을 만들 수 있습니까?답변 감사합니다.
전환 속성은 전환을 지원하는 모든 브라우저에서 쉼표로 구분됩니다.
.nav a {
  transition: color .2s, text-shadow .2s;
}
ease는 기본 타이밍 함수이므로 지정할 필요가 없습니다.당신이 정말 원한다면,linear다음을 지정해야 합니다.
transition: color .2s linear, text-shadow .2s linear;
이 작업이 반복되기 시작하므로 여러 속성에서 동일한 시간 및 타이밍 기능을 사용하려면 다양한 기능을 사용하는 것이 가장 좋습니다.transition-*속기 대신 속성:
transition-property: color, text-shadow;
transition-duration: .2s;
transition-timing-function: linear;
편집: 이 게시물을 삭제해야 할지 고민입니다.CSS 구문을 이해한 결과, 사람들이 아는 것은 좋습니다.all존재하며, CSS의 구조에 따라 때로는 백만 개의 개별 선언보다 선호될 수 있습니다.반면에, 저는 아직 그 가설을 뒷받침하는 어떤 데이터도 보지 못했지만, 그것은 성능 저하를 가져올 수 있습니다.일단은 놔두겠지만, 사람들이 이것이 혼방 가방이라는 것을 알아줬으면 좋겠어요.
원본 게시물:
또한 다음과 같은 기능을 통해 매우 중요하게 활용할 수 있습니다.
.nav a {
    transition: all .2s;
}
FWIW:all명시되지 않은 경우 암시됨,transition: .2s;당신을 같은 장소로 데려다 줄 것입니다.
모든 속성을 동일하게 애니메이션화하면 코드를 반복하지 않도록 각 속성을 개별적으로 설정할 수 있습니다.
 transition: all 2s;
 transition-property: color, text-shadow;
여기에 더 많은 것이 있습니다: 여러 속성을 가진 CSS 전환 속기?
원치 않는 동작과 예기치 않은 성능 저하가 발생할 수 있으므로 속성 모두 사용(전환 속성이 'all'을 덮어씀)을 피합니다.
다음과 같은 방법으로 동시에 여러 전환이 가능합니다.
-webkit-transition: color .2s linear, text-shadow .2s linear;
   -moz-transition: color .2s linear, text-shadow .2s linear;
     -o-transition: color .2s linear, text-shadow .2s linear;
        transition: color .2s linear, text-shadow .2s linear;
예: http://jsbin.com/omogaf/2
.nav a {
    transition: color .2s, text-shadow .2s;
}
지속 시간, 지연 및 타이밍에 대해 서로 다른 값으로 설정된 다중 전환을 작동시킬 수 있습니다.다른 전환을 분할하려면 사용,
button{
  transition: background 1s ease-in-out 2s, width 2s linear;
  -webkit-transition: background 1s ease-in-out 2s, width 2s linear; /* Safari */
}
참조: https://kolosek.com/css-transition/
다음은 두 가지 속성을 동시에 전환할 수 있는 LESS 혼합 기능입니다.
.transition-two(@transition1, @transition1-duration, @transition2, @transition2-duration) {
 -webkit-transition: @transition1 @transition1-duration, @transition2 @transition2-duration;
    -moz-transition: @transition1 @transition1-duration, @transition2 @transition2-duration;
      -o-transition: @transition1 @transition1-duration, @transition2 @transition2-duration;
          transition: @transition1 @transition1-duration, @transition2 @transition2-duration;
}
Sass의 코드를 할 수 .
@mixin transition($transitions...) {
  $unfoldedTransitions: ();
  @each $transition in $transitions {
    $unfoldedTransitions: append($unfoldedTransitions, unfoldTransition($transition), comma);
  }
  
  -webkit-transition: $unfoldedTransitions;
  transition: $unfoldedTransitions;
}
@function unfoldTransition ($transition) {
  // Default values
  $property: all;
  $duration: .2s;
  $easing: null; // Browser default is ease, which is what we want
  $delay: null; // Browser default is 0, which is what we want
  $defaultProperties: ($property, $duration, $easing, $delay);
  // Grab transition properties if they exist
  $unfoldedTransition: ();
  @for $i from 1 through length($defaultProperties) {
    $p: null;
    @if $i <= length($transition) {
      $p: nth($transition, $i)
    } @else {
      $p: nth($defaultProperties, $i)
    }
    $unfoldedTransition: append($unfoldedTransition, $p);
  }
  @return $unfoldedTransition;
}
// Usage:   @include transition(width, height 0.3s ease-in-out);
모든 공은 에 있습니다.tobiasahlin https://gist.github.com/://gist.github.com/tobiasahlin
언급URL : https://stackoverflow.com/questions/7048313/how-to-have-multiple-css-transitions-on-an-element
'sourcecode' 카테고리의 다른 글
| 새 인스턴스에서 PowerShell 시작 스크립트 (0) | 2023.08.21 | 
|---|---|
| Windows에서 MySQL(MariaDB)이 시작되지 않음 (0) | 2023.08.21 | 
| iphone/ipad(실제 장치, 시뮬레이터 없음)의 문서 폴더에 액세스하는 방법이 있습니까? (0) | 2023.08.16 | 
| antMatcher와 mvcMatcher의 차이 (0) | 2023.08.16 | 
| Array.PowerShell 어레이 찾기 (0) | 2023.08.16 |