2017-12-09 7 views
0

親とその子に2種類の異なる効果を出そうとしています。スケールの2番目のホバートランジション<img>タグが正しく機能しない

main#wrap > .page > .group > section.large-poster > .image-area { 
      position: absolute; 
      width: 100%; 
      height: 100vh; 
      opacity: .265; 
      transition: 4s ease; 
} 

     main#wrap > .page > .group > section.large-poster:hover > .image-area { 
      opacity: 1; 
    } 

これは正常に動作しますが、私のように、ゆっくりとそれを拡張できるようにしたい:私はこれを使用して1に不透明度を変更しています

HTML

<section class="col large-poster"> 
       <div class="image-area"> 
         <img class="img-cover" src="/path.png" alt="Maven" /> 
       </div> 
       <div class="poster-cover"> 
        <div> 
         <h1> 
          Item 
          </h1> 
        </div> 
       </div> 
</section> 

不透明TRANSITION

まあ、私のCSSは:hoverスケールのために動作していないようです。不透明度フェードと同じロジックで構築されています。

スケール遷移

main#wrap > .page > .group > section.large-poster > .image-area > img { 
     margin-top: 0; 
     margin-left: -752px; 
     width: auto; 
     /* height: auto */ 
     height: 1000px; 
     transform:scale(1,1); 
     transition: 8s all; 
    } 

    main#wrap > .page > .group > section.large-poster:hover > image-area > img { 
     transform:scale(1.2,1.2) 
    } 

jdFiddle link


html { 
 
    font-size: 62.5%; 
 
    font-family: sans-serif; 
 
    box-sizing: border-box; 
 
    -webkit-text-size-adjust: 100%; 
 
    -moz-text-size-adjust: 100%; 
 
    -ms-text-size-adjust: 100%; 
 
} 
 

 
body { 
 
    padding: 0; 
 
    margin: 0 auto; 
 
} 
 

 
.container:after, .group:before, .group:after, .clearfix:before, .clearfix:after, .row:before, .row:after { 
 
    content: '\0020'; 
 
    display: block; 
 
    overflow: hidden; 
 
    visibility: hidden; 
 
    width: 0; 
 
    height: 0; 
 
} 
 

 
.container:after, .row:after, .clearfix:after, .group:after { 
 
    clear: both; 
 
} 
 

 
.row, .clearfix, .group { 
 
    zoom: 1; 
 
} 
 

 
body, html { 
 
    height: 100%; 
 
} 
 

 
body { 
 
    color: #000; 
 
    font-weight: 300; 
 
    font-size: 16px; 
 
    font-size: 1.6rem; 
 
    line-height: 1.5; 
 
    background: #fff 
 
} 
 

 
img:not(.img-cover), 
 
svg { 
 
    display: block; 
 
    max-width: 100%; 
 
    height: auto 
 
} 
 

 
.col { 
 
    width: 25%; 
 
    float:left; 
 
    display:block 
 
} 
 

 
main { 
 
    display: block; 
 
    background: black 
 
} 
 

 
    main#wrap > .page > .group > section.large-poster { 
 
     min-height: 892px; 
 
     height: 100vh; 
 
     position: relative; 
 
     overflow: hidden; 
 
     display: flex; 
 
     align-items: center; 
 
     justify-content: center; 
 
    } 
 

 
     main#wrap > .page > .group > section.large-poster > .image-area { 
 
      position: absolute; 
 
      width: 100%; 
 
      height: 100vh; 
 
      opacity: .265; 
 
      transition: 4s ease; 
 
     } 
 

 
     main#wrap > .page > .group > section.large-poster:hover > .image-area { 
 
      opacity: 1; 
 
     } 
 

 
     main#wrap > .page > .group > section.large-poster > .image-area > img { 
 
      margin-top: 0; 
 
      margin-left: -752px; 
 
      width: auto; 
 
      /* height: auto */ 
 
      height: 1000px; 
 
      transform:scale(1,1); 
 
      transition: 8s all; 
 
     } 
 

 
     main#wrap > .page > .group > section.large-poster:hover > image-area > img { 
 
      transform:scale(1.2,1.2) 
 
     } 
 

 
     main#wrap > .page > .group > section.large-poster > .poster-cover { 
 
      position: relative; 
 
      z-index: 2; 
 
     } 
 

 
      main#wrap > .page > .group > section.large-poster > .poster-cover > div { 
 
       margin: 0 40px; 
 
       text-align: center 
 
      } 
 

 
       main#wrap > .page > .group > section.large-poster > .poster-cover > div > h1 { 
 
        text-transform: uppercase; 
 
        color: #fff; 
 
        font-size: 25px; 
 
        font-size: 2.455rem; 
 
        line-height: 1.2; 
 
       }
<main id="wrap"> 
 
     <div class="page"> 
 
      <div class="group"> 
 
       <section class="col large-poster"> 
 
         <div class="image-area"> 
 
           <img class="img-cover" src="https://wallpapercave.com/wp/k15SYSI.jpg" alt="Maven" /> 
 
         </div> 
 
         <div class="poster-cover"> 
 
          <div> 
 
           <h1> 
 
            First 
 
           </h1> 
 
          </div> 
 
         </div> 
 
       </section> 
 
       <section class="col large-poster"> 
 
         <div class="image-area"> 
 
           <img class="img-cover" src="https://wallpapercave.com/wp/k15SYSI.jpg" alt="Maven" /> 
 
         </div> 
 
         <div class="poster-cover"> 
 
          <div> 
 
           <h1> 
 
            Second Item 
 
           </h1> 
 
          </div> 
 
         </div> 
 
       </section> 
 
       <section class="col large-poster"> 
 
         <div class="image-area"> 
 
           <img class="img-cover" src="https://wallpapercave.com/wp/k15SYSI.jpg" alt="Maven" /> 
 
         </div> 
 
         <div class="poster-cover"> 
 
          <div> 
 
           <h1> 
 
            Third Item 
 
           </h1> 
 
          </div> 
 
         </div> 
 
       </section> 
 
       <section class="col large-poster"> 
 
         <div class="image-area"> 
 
           <img class="img-cover" src="https://wallpapercave.com/wp/k15SYSI.jpg" alt="Maven" /> 
 
         </div> 
 
         <div class="poster-cover"> 
 
          <div> 
 
           <h1> 
 
            Last Item 
 
           </h1> 
 
          </div> 
 
         </div> 
 
       </section> 
 
      </div> 
 
     </div> 
 
    </main>

+0

あなただけのforgott 2番目のcssセレクタ "image-area"をポイントします。ここでは:メイン#ラップ> .page> .large-poster:ホバー>イメージエリア> img { 変換:スケール(1.2,1.2) } これはイメージ領域でなければなりません(イメージ領域はクラス名) –

+0

@MarouenMhiriああ。じぶんの 。神。私は休憩を取る必要があります。ありがとうございました。 P.S.あなたはそれに答えるべきです! – cmp

+0

np私は、あなたが見過ごした何かを探しているときに長い時間を費やすと知っています:-) –

答えて

1

あなただけのDOを置くことを忘れています.image-エリアと問題のように

トン

が解決されます: ""

main#wrap > .page > .group > section.large-poster:hover > .image-area > img { 
     transform:scale(1.2,1.2) 
    } 
関連する問題