2017-05-28 59 views
0

我正嘗試使用CSS和HTML在線創建小型記事本應用程序。出於某種原因,我的應用程序創建了一個奇怪的小故障,您可以在文本區域中向下滾動足夠多,然後向上滾動以找到缺少的標題。

https://jsfiddle.net/2v7ptadh/
我該如何解決這個問題?

這是創建錯誤的CSS代碼。如果你想查看完整的代碼,點擊上面的JS小提琴鏈接。使用Textarea滾動時,標題消失

html, 
body { 
    display: block; 
    box-sizing: border-box; 
    padding: 0; 
    margin: 0; 
    background-color: #888; 
    height: 100%; 
    width: 100%; 
    overflow-y: hidden; 
} 

div#header { 
    display: block; 
    width: 100%; 
    height: 40px; 
    border-left: 2px solid rgb(100, 125, 130); 
    border-top: 2px solid rgb(150, 175, 140); 
    border-bottom: 2px solid rgb(60, 48, 75); 
    border-right: 2px solid rgb(80, 84, 90); 
    background: #bbb; 
    box-sizing: border-box; 
    line-height: 40px; 
    text-align: center; 
    margin: 0; 
    padding: 0; 
    font-family: 'Open Sans', sans-serif; 
    font-weight: 900; 
    z-index: 4 
} 

div#app { 
    z-index: 2; 
    display: block; 
    width: 100%; 
    height: 100%; 
    box-sizing: border-box; 
    padding: 0; 
    margin: 0; 
} 
textarea#app-input { 
    display: block; 
    box-sizing: border-box; 
    padding: 4px; 
    margin: 0; 
    border: none; 
    outline: none; 
    width: 100%; 
    height: 100%; 
    line-height: 23px; 
    font-size: 20px; 
    resize: none; 
} 

textarea::selection { 
    background: #000; 
    color: #fff; 
} 

視頻問題:http://recordit.co/2AxYmb9XxV

回答

2

隱藏如果你要設置html/bodyheight: 100%; overflow-y: hidden;然後#app不應該height: 100% - 將其更改爲height: calc(100% - 40px)其中40px是標題高度。這將保持視口中的所有內容。

@import url('https://fonts.googleapis.com/css?family=Open+Sans'); 
 
html, 
 
body { 
 
    display: block; 
 
    box-sizing: border-box; 
 
    padding: 0; 
 
    margin: 0; 
 
    background-color: #888; 
 
    height: 100%; 
 
    width: 100%; 
 
    overflow-y: hidden; 
 
} 
 

 
div#header { 
 
    display: block; 
 
    width: 100%; 
 
    height: 40px; 
 
    border-left: 2px solid rgb(100, 125, 130); 
 
    border-top: 2px solid rgb(150, 175, 140); 
 
    border-bottom: 2px solid rgb(60, 48, 75); 
 
    border-right: 2px solid rgb(80, 84, 90); 
 
    background: #bbb; 
 
    box-sizing: border-box; 
 
    line-height: 40px; 
 
    text-align: center; 
 
    margin: 0; 
 
    padding: 0; 
 
    font-family: 'Open Sans', sans-serif; 
 
    font-weight: 900; 
 
    z-index: 4 
 
} 
 

 
div#app { 
 
    z-index: 2; 
 
    display: block; 
 
    width: 100%; 
 
    height: calc(100% - 40px); 
 
    box-sizing: border-box; 
 
    padding: 0; 
 
    margin: 0; 
 
} 
 

 
textarea#app-input { 
 
    display: block; 
 
    box-sizing: border-box; 
 
    padding: 4px; 
 
    margin: 0; 
 
    border: none; 
 
    outline: none; 
 
    width: 100%; 
 
    height: 100%; 
 
    line-height: 23px; 
 
    font-size: 20px; 
 
    resize: none; 
 
} 
 

 
textarea::selection { 
 
    background: #000; 
 
    color: #fff; 
 
}
<div id="header">ONLINE NOTEPAD</div> 
 
<div id="app"> 
 
    <textarea id="app-input"></textarea> 
 
</div>

0

嘗試刪除溢出-Y:由html和身體

html, 
body { 
    display: block; 
    box-sizing: border-box; 
    padding: 0; 
    margin: 0; 
    background-color: #888; 
    height: 100%; 
    width: 100%; 
} 
+0

似乎並沒有工作。在JSFiddle上測試出來沒有overflow-y –