2016-05-29 238 views
0

我正在創建一個投資組合網站,並且我正試圖讓我的滾動條隱藏起來,所以看起來很專業。但是,我在網上找到的解決方案(如.element::-webkit-scrollbar { width: 0 !important },seamless="seamless"或任何overflow: hidden變體(由於我仍然能夠滾動這一事實而無法使用))似乎都無效。隱藏滾動條

我不知道這我的HTML的一部分,我應該有,所以這裏的這一切:

<!DOCTYPE html> 
<html lang="en"> 

<head> 
    <meta charset="UTF-8"> 

    <link href='css/fonts.css' rel="stylesheet" type="text/css"> 
    <link href='css/font-awesome.min.css' rel="stylesheet" type="text/css"> 
    <link href='css/normalize.css' rel="stylesheet" type="text/css"> 
    <link href='css/style.css' rel="stylesheet" type="text/css"> 
    <link rel="icon" href="img/Logo.ico"> 

    <title>*my name*</title> 
</head> 

<body> 
    <nav class="fixed-nav-bar"> 
     <ul id="left-align-menubar"> 
      <li class="nav-button"><a href="#main" class="nav-button-link">*my name*</a></li> 
     </ul> 
     <ul id="right-align-menubar"> 
      <li class="nav-button"><a href="#math-showcase" class="nav-button-link">Math Work</a></li> 
      <li class="nav-button"><a href="#lang-showcase" class="nav-button-link">Language Work</a></li> 
      <li class="nav-button"><a href="#tech-showcase" class="nav-button-link">Tech Work</a></li> 
      <li class="nav-button"><a href="#art-showcase" class="nav-button-link">Art Pieces</a></li> 
      <li class="nav-button"><a href="#sci-showcase" class="nav-button-link">Science Work</a></li> 
      <li class="nav-button"><a href="#pro-showcase" class="nav-button-link">Professional Work</a></li> 
     </ul> 
    </nav> 
    <div class="main-content" id="main"> 
     <div align="center" class="main-title"> 
      <h1>*my name*</h1></div> 
     <div class="container showcase-div" id="math-showcase"> 
      <img src="img/Math.jpg"> 
      <a href="" class="showcase-collapse" id="math"><h2>Mathematics Work <span id="math-showcase-arrow" class="fa fa-angle-double-right fa-lg"></span></h2></a> 
      <div class="showcase-dropdown" id="math-dropdown"> 
       <div> 
        <a href="" class="overlay-show" id="kiteheight"> 
         <p>Kite Height Report</p> 
        </a> 
       </div> 
       <div> 
        skljhsldkjfh 
       </div> 
       <div> 
        skljhlkjh 
       </div> 
      </div> 
     </div> 
     <div class="container showcase-div" id="lang-showcase"> 
      <img src="img/Math.jpg"> 
      <a href="" class="showcase-collapse" id="lang"><h2>Language Work <span id="lang-showcase-arrow" class="fa fa-angle-double-right fa-lg"></span></h2></a> 
      <div class="showcase-dropdown" id="lang-dropdown"> 
       <div> 
        skdjhfs 
       </div> 
       <div> 
        skljhsldkjfh 
       </div> 
       <div> 
        skljhlkjh 
       </div> 
      </div> 
     </div> 
     <div class="container showcase-div" id="tech-showcase"> 
      <img src="img/Math.jpg"> 
      <a href="" class="showcase-collapse" id="tech"><h2>Technological Work <span id="tech-showcase-arrow" class="fa fa-angle-double-right fa-lg"></span></h2></a> 
      <div class="showcase-dropdown" id="tech-dropdown"> 
       <div> 
        skdjhfs 
       </div> 
       <div> 
        skljhsldkjfh 
       </div> 
       <div> 
        skljhlkjh 
       </div> 
      </div> 
     </div> 
     <div class="container showcase-div" id="art-showcase"> 
      <img src="img/Math.jpg"> 
      <a href="" class="showcase-collapse" id="art"><h2>Artistic Pieces <span id="art-showcase-arrow" class="fa fa-angle-double-right fa-lg"></span></h2></a> 
      <div class="showcase-dropdown" id="art-dropdown"> 
       <div> 
        skdjhfs 
       </div> 
       <div> 
        skljhsldkjfh 
       </div> 
       <div> 
        skljhlkjh 
       </div> 
      </div> 
     </div> 
     <div class="container showcase-div" id="sci-showcase"> 
      <img src="img/Math.jpg"> 
      <a href="" class="showcase-collapse" id="sci"><h2>Science Work <span id="sci-showcase-arrow" class="fa fa-angle-double-right fa-lg"></span></h2></a> 
      <div class="showcase-dropdown" id="sci-dropdown"> 
       <div> 
        skdjhfs 
       </div> 
       <div> 
        skljhsldkjfh 
       </div> 
       <div> 
        skljhlkjh 
       </div> 
      </div> 
     </div> 
     <div class="container showcase-div" id="pro-showcase"> 
      <img src="img/Math.jpg"> 
      <a href="" class="showcase-collapse" id="pro"><h2>Professional Work <span id="pro-showcase-arrow" class="fa fa-angle-double-right fa-lg"></span></h2></a> 
      <div class="showcase-dropdown" id="pro-dropdown"> 
       <div> 
        skdjhfs 
       </div> 
       <div> 
        skljhsldkjfh 
       </div> 
       <div> 
        skljhlkjh 
       </div> 
      </div> 
     </div> 
    </div> 
    <div class="overlay"> 
     <span class="fa fa-close fa-2x" id="overlay-close"></span></a> 
    </div> 
    <footer> 
     &copy; *my name*. All rights reserved. This website was built from the ground up by *my name* to showcase his portfolio. The website itself is part of the portfolio. 
    </footer> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
    <script src="js/script.js" type="text/javascript" charset="utf-8"></script> 
</body> 

</html> 

這是我使用的CSS,包括當前已經向我提出瞭解決方案:

/********************************* 
TEXT STYLING 
*********************************/ 

* { 
    text-rendering: optimizeLegibility; 
    -webkit-font-smoothing: subpixel-antialiased; 
    -moz-osx-font-smoothing: grayscale; 
} 
h1 { 
    margin: 0; 
    padding: 2%; 
} 
.main-title { 
    font-size: 2em; 
    font-family: 'voltaire'; 
    margin-top: 50px; 
} 
a, a:before, a:after { 
    text-decoration: none; 
    color: black; 
} 
h2 { 
    text-align: center; 
} 

/********************************* 
NAV BAR STYLING 
*********************************/ 

.nav-button:hover { 
    background-color: rgb(217, 217, 217); 
    height: 50px; 
    margin-top: 0; 
} 
.nav-button { 
    list-style: none; 
    display: inline-block; 
} 
.nav-button-link { 
    display: inline-block; 
    padding: 15px; 
    height: 20px; 
} 
#right-align-menubar { 
    top: 0; 
    right: 0; 
    display: inline-block; 
    position: absolute; 
    margin: 0; 
    vertical-align: middle; 
} 
#left-align-menubar { 
    top: 0; 
    left: 0; 
    display: inline-block; 
    position: absolute; 
    margin: 0; 
    vertical-align: middle; 
    padding-left: 0px; 
} 
.fixed-nav-bar { 
    font-weight: 500; 
    font-size: 1em; 
    position: fixed; 
    top: 0; 
    width: 100%; 
    height: 50px; 
    background-color: white; 
    z-index: 100; 
} 

/********************************* 
BODY STYLING 
*********************************/ 

body { 
    margin: 0; 
    font-family: 'nerislight'; 
    background-color: white; 
    color: black; 
} 
footer { 
    background-color: black; 
    color: white; 
    padding: 10px; 
} 

/********************************* 
SHOWCASE AND OVERLAY STYLING 
*********************************/ 

.showcase-div img { 
    width: 100%; 
    border-top: 1px solid black; 
    border-bottom: 1px solid black; 
} 
.showcase-div { 
    position: relative; 
} 
.showcase-dropdown { 
    background-color: black; 
    display: none; 
} 
.showcase-dropdown div { 
    display: inline-block; 
    width: 33%; 
    margin: 0; 
    text-align: center; 
} 
.overlay-show p { 
    font-size: 1.25em; 
    color: white; 
    padding: 10px 0; 
    margin: 0; 
} 
#overlay-close { 
    position: fixed; 
    top: 10px; 
    right: 10px; 
    color: black; 
    z-index: 200; 
} 
.overlay { 
    display: none; 
    background-color: rgba(255, 255, 255, 0.9); 
    position: fixed; 
    top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0; 
    z-index: 100; 
    overflow-y: scroll; 
    width: 100%; 
    padding: 0; 
} 
.document-embed { 
    height: 100%; 
    width: 100%; 
} 
.document p { 
    color: black; 
    margin: 0; 
    padding: 10px; 
} 

/********************************* 
MISCELLANEOUS STYLING 
*********************************/ 

body { 
    overflow: hidden; 
} 

/********************************* 
ANIMATIONS 
*********************************/ 

@-webkit-keyframes rotate { 
    from { 
     -webkit-transform: rotate(0deg); 
    transform: rotate(0deg); 
    to { 
     -webkit-transform: rotate(90deg); 
       transform: rotate(90deg); 
    } 
@-webkit-keyframes rotateBack { 
    from { 
     -webkit-transform: rotate(90deg); 
       transform: rotate(90deg); 
    } 
    to { 
     -webkit-transform: rotate(0deg); 
       transform: rotate(0deg); 
    } 
} 
@keyframes rotate { 
    from { 
     transform: rotate(0deg); 
    } 
    to { 
     transform: rotate(90deg); 
    } 
} 
@keyframes rotateBack { 
    from { 
     transform: rotate(90deg); 
    } 
    to { 
     transform: rotate(0deg); 
    } 
} 

這裏是我的JavaScript與得到打破,由於overflow: hidden部分:

$('#main').animate({ 
    scrollTop: target.offset().top - 50 
}, 1000); 

通常情況下,它有html, body而不是#main,但這是我的建議,我想知道爲什麼這不起作用,我的錯誤是什麼。

這也可能是值得一提的,這個網站甚至沒有接近完成,你可能有任何關於改進代碼的建議,歡迎。另外,我知道還有很多其他問題幾乎完全像這個問題到處都是,但正如我所說的,沒有人回答我的問題。先謝謝你!

回答

0

您是否嘗試過將溢出隱藏到css中的body屬性?這通常是我失敗的地方。

+0

我有,而且這簡直阻止了我滾動的東西,這是不可接受的。 – TheAustralianBirdEatingLouse

+0

所以,不要將它設置爲html屬性,它應該沒問題。只是身體屬性。 如果它導致整個頁面不滾動,您在另一個div上的css中出現錯誤。 (你沒有提供) – mboyde

0

如果問題是隱藏滾動條,仍然可以滾動內容。那麼我認爲它可能無法以直接的方式進行,因爲這是瀏覽器內容的實現。

然而,您可以在body上使用overflow:hidden,並在正文內的div上使用任何自定義jQuery滾動條插件。 jquery可滾動是一個很好的起點:https://gromo.github.io/jquery.scrollbar/demo/basic.html

+0

雖然,我用這個:'$('html,body')。animate({scrollTop:target.offset()。top - 50 },1000);' ,如果隱藏溢出,這將不起作用。 – TheAustralianBirdEatingLouse

+0

難道你不能爲身體內的div設置一個類似的東西,這將是你的主要內容嗎? –

+0

這不起作用。 – TheAustralianBirdEatingLouse