2016-11-30 221 views
0

因爲我使用水平網站,它需要我使用.height()腳本來告訴瀏覽器的視圖高度,因此內容高度中。 在125%縮放比例下使用Chrome會產生一個奇怪的結果,使我對HTML 773.6 px高度感到高興。 JSFiddle .value example高度()問題,Chrome瀏覽器縮放使viewheight值有一個小數(令人討厭的滾動條)

$(window).height();

結果是:774 PX,這增加了的像素的HTML,製造惱人的垂直滾動條appair

Math.floor($(window).height()); 

.height()腳本總是舍入值的數字,沒有小數,所以我不能使用Math.floor()

我不想使用overflow-y:hidden;

JSFiddle horizontal template

+0

請你能解釋一下,什麼你需要檢測的高度和你如何使用它呢? –

+0

感謝@Martin P的評論,正如我上面所說,我有一個水平網站(這意味着一個水平滾動條,而不是一個垂直的),水平網站更加困難,需要JavaScript的工作。我有一個固定的高度固定的標題,但下面的100%高度內容是在標題後面(因爲它是固定的),所以我必須從內容div中減去標題高度,並在頁眉下面留下頁邊空白。 (我總是打開方式讓它更容易)。 (我必須保持這個問題儘可能乾淨和可讀,所以我不能添加很多解釋) – 807

+0

我在文章中添加了一個模板示例,嘗試放大Chrome瀏覽器(它在JSFiddle中以200%的縮放比例工作)而maby你會看到一個垂直滾動條出現。 – 807

回答

0

對我來說,它看起來像標題欄有一個固定的高度!?那麼使用經典方法沒有問題。如果標題高度靈活,我會使用flexbox。但這取決於您想要覆蓋哪些瀏覽器。

* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.wrap { 
 
    display: -ms-flexbox; 
 
    display: -webkit-flex; 
 
    display: flex; 
 
    -webkit-flex-direction: column; 
 
    -ms-flex-direction: column; 
 
    flex-direction: column; 
 
    -webkit-flex-wrap: nowrap; 
 
    -ms-flex-wrap: nowrap; 
 
    flex-wrap: nowrap; 
 
    -webkit-justify-content: flex-start; 
 
    -ms-flex-pack: start; 
 
    justify-content: flex-start; 
 
    -webkit-align-content: stretch; 
 
    -ms-flex-line-pack: stretch; 
 
    align-content: stretch; 
 
    -webkit-align-items: stretch; 
 
    -ms-flex-align: stretch; 
 
    align-items: stretch; 
 
    height: 100vh; 
 
    width: 100vw; 
 
    } 
 

 
header { 
 
    background: red; 
 
    -webkit-order: 0; 
 
    -ms-flex-order: 0; 
 
    order: 0; 
 
    -webkit-flex: 0 0 auto; 
 
    -ms-flex: 0 0 auto; 
 
    flex: 0 0 auto; 
 
    -webkit-align-self: auto; 
 
    -ms-flex-item-align: auto; 
 
    align-self: auto; 
 
    } 
 

 
main { 
 
    background: blue; 
 
    -webkit-order: 0; 
 
    -ms-flex-order: 0; 
 
    order: 0; 
 
    -webkit-flex: 1 0 auto; 
 
    -ms-flex: 1 0 auto; 
 
    flex: 1 0 auto; 
 
    -webkit-align-self: auto; 
 
    -ms-flex-item-align: auto; 
 
    align-self: auto; 
 
    }
<div class="wrap"> 
 
    <header>Test</header> 
 
    <main>Content</main> 
 
</div>

+0

感謝您爲@Martin P做一個示例,但這不是一個水平滾動示例。當我改變寬度可以說10000px和長的內容仍然是一個垂直滾動條顯示和標題移動。 – 807

+0

嗯,這很明顯:)你必須把overflow-x隱藏到主要元素。我無法告訴你整個例子。我想如果你想得到更詳細的答案,你必須提供更多的細節。但是,對於垂直滾動網站,使用我的包裝器代碼段沒有任何問題。 –