2016-10-27 35 views
0

我創建了一個粘性標題。其中我也調整了徽標圖像的大小。 這工作正常。我只是想當徽標圖像被調整到更小和更大的尺寸時發脾氣。粘性標題轉換不順利

我可以得到任何幫助。

https://jsfiddle.net/3v7aen3v/

<script> 
    function init() { 
     window.addEventListener('scroll', function(e) { 
     var distanceY = window.pageYOffset || document.documentElement.scrollTop, 
      shrinkOn = 300, 
      header = document.querySelector(".header-top"); 
     if (distanceY > shrinkOn) { 
      classie.add(header, "smaller"); 
     } else { 
      if (classie.has(header, "smaller")) { 
      classie.remove(header, "smaller"); 
      } 
     } 
     }); 
    } 
    window.onload = init(); 
</script> 

<div class="header-top"> 
    <div class="container clearfix"> 

    <img src="http://must-munich.com/wp-content/uploads/Logo_MUST-header-subtitle-2-s.png" id="logo" alt="MUST 2016" /> 

    <nav> 
     <a href="">Lorem</a> 
     <a href="">Ipsum</a> 
     <a href="">Dolor</a> 
    </nav> 
    </div> 
</div> 
<!-- /header --> 
<div style="height:3000px"></div> 

<style> 
div.header-top { 
    width: 100%; 
    height: 150px; 
    overflow: hidden; 
    position: fixed; 
    top: 0; 
    left: 0; 
    z-index: 999; 
    background-color: #0683c9; 
    -webkit-transition: height 0.3s; 
    -moz-transition: height 0.3s; 
    -ms-transition: height 0.3s; 
    -o-transition: height 0.3s; 
    transition: height 0.3s; 
} 

div.header-top img#logo { 
    display: inline-block; 
    height: 150px; 
    /* line-height: 150px;*/ 
    float: left; 
    /* font-family: "Oswald", sans-serif; 
    font-size: 60px; 
    color: white;*/ 
    /* font-weight: 400;*/ 
    -webkit-transition: all 0.3s; 
    -moz-transition: all 0.3s; 
    -ms-transition: all 0.3s; 
    -o-transition: all 0.3s; 
    transition: all 0.3s; 
} 

div.header-top nav { 
    display: inline-block; 
    float: right; 
} 

div.header-top nav a { 
    line-height: 150px; 
    margin-left: 20px; 
    color: #9fdbfc; 
    font-weight: 700; 
    font-size: 18px; 
    -webkit-transition: all 0.3s; 
    -moz-transition: all 0.3s; 
    -ms-transition: all 0.3s; 
    -o-transition: all 0.3s; 
    transition: all 0.3s; 
} 

header nav a:hover { 
    color: white; 
} 

div.header-top.smaller { 
    height: 100px; 
} 

div.header-top.smaller img#logo { 
    font-size: 30px; 
    height: auto; 
    line-height: 75px; 
    width: 125px; 
    -webkit-transition: all 0.3s; 
    -moz-transition: all 0.3s; 
    -ms-transition: all 0.3s; 
    -o-transition: all 0.3s; 
    transition: all 0.3s; 
} 

div.header-top.smaller nav a { 
    line-height: 75px; 
} 
</style> 

回答

1
div.header-top img#logo { 
display: inline-block; 
height: 150px; 
width:200px; 
float: left; 
font-size: 60px; 
color: white; 
-webkit-transition: all 0.3s; 
-moz-transition: all 0.3s; 
-ms-transition: all 0.3s; 
-o-transition: all 0.3s; 
transition: all 0.3s; } 

給一個寬度圖像和你的小圖像

div.header-top.smaller img#logo { 
    font-size: 30px; 
    height: 100px; 
line-height: 75px; 
width: 125px; 
-webkit-transition: all 0.3s; 
-moz-transition: all 0.3s; 
-ms-transition: all 0.3s; 
-o-transition: all 0.3s; 
transition: all 0.3s; } 

https://jsfiddle.net/bc4p26e4/

+0

感謝XYZ給予高度,可以請你讓我知道如何解決這個問題?我無法理解修復。 –

+0

height:150px;這是您爲較大圖像和較小img高度提供的樣式:auto;寬度:125px; .so指定較大圖像的寬度,然後它將顯示轉換 – XYZ

+0

轉換隻能跨數值進行動畫製作,因此您必須給出結束和開始轉換度量.so width auto或height auto不起作用.http ://stackoverflow.com/a/7861781/7011496 – XYZ