使用CSS實現無滾動條滾動


我們都知道,擼頁面的時候當我們的內容超出了我們的div,往往會出現滾動條,影響美觀。

尤其是當我們在做一些導航菜單的時候。滾動條一出現就破壞了UI效果。 我們不希望出現滾動條,也不希望超出去的內容被放逐,就要保留鼠標滾動的效果。我們都知道overflow:hidden是可以隱藏滾動條的,但存在的問題是:頁面或元素失去了滾動的特性,進而溢出內容也變得不可見,這樣肯定是不可取的。百度下大部分都是在說overflow:hidden或者overflow-y: no可以解決問題,但是並不能很好的解決我們的問題,那么怎么辦呢?

接下來小萌介紹幾種簡單的方法,但是也不是完美的解決問題了,各求所需吧

第一種:偽對象選擇器

在webkit內核的瀏覽器里可以定義滾動條樣式。在CSS初始處定義

1 ::-webkit-scrollbar{
2 display:none;(或者是width: 0;)
3 }

不過目前本方法只在webkit內核瀏覽器中有效(Chrome,Safari)。

第二種:變相隱藏

大體思路是在div外面再套一個div。這個div設置overflow:hidden。而內容div設置 overflow-x: hidden;overflow-y: scroll;然后再設置外層div的width小於內容div的width,就是用一個無滾動條的div包裹另一個有滾動條的div,從而實現隱藏滾動條的效果。
例子:

 1 <!DOCTYPE html>
 2 <html>
 3  
 4     <head>
 5         <title>使用CSS實現無滾動條滾動</title>
 6  
 7         <meta charset="UTF-8">
 8         <style type="text/css">
 9             body,html {
10                 margin: 0;
11                 padding: 0;
12                 height: 100%;
13                 overflow: hidden;
14             }
15             ul,li {
16                 margin: 0;
17                 padding: 0;
18                 list-style: none;
19             }
20             .box_wrap {
21                 margin: 20px auto;
22                 width: 200px;
23                 height: 400px;
24                 border: 1px solid #ccc;
25                 overflow: hidden;
26             }
27             .box_wrap ul  {
28                 width: 220px;/* 多出20像素是滾動條的位置,會被父容器蓋住就看不到了 */
29                 height: 100%;
30                 overflow-x: hidden;
31                 overflow-y: auto;
32             }
33             .box_wrap ul li {
34                 width: 200px;
35                 height: 40px;
36                 line-height: 40px;
37                 border-bottom: 1px solid #ccc;
38                 font-size: 12px;
39                 text-align: center;
40             }
41         </style>
42     </head>
43  
44     <body>
45         <div class="box_wrap">
46             <ul>
47                 <li>測試數據1</li>
48                 <li>測試數據2</li>
49                 <li>測試數據3</li>
50                 <li>測試數據4</li>
51                 <li>測試數據5</li>
52                 <li>測試數據6</li>
53                 <li>測試數據7</li>
54                 <li>測試數據8</li>
55                 <li>測試數據9</li>
56                 <li>測試數據10</li>
57                 <li>測試數據11</li>
58                 <li>測試數據12</li>
59                 <li>測試數據13</li>
60                 <li>測試數據14</li>
61                 <li>測試數據15</li>
62                 <li>測試數據16</li>
63                 <li>測試數據17</li>
64                 <li>測試數據18</li>
65                 <li>測試數據19</li>
66                 <li>測試數據20</li>
67                 <li>測試數據21</li>
68                 <li>測試數據22</li>
69                 <li>測試數據23</li>
70                 <li>測試數據24</li>
71                 <li>測試數據25</li>
72                 <li>測試數據26</li>
73                 <li>測試數據27</li>
74                 <li>測試數據28</li>
75                 <li>測試數據29</li>
76                 <li>測試數據30</li>
77             </ul>
78         </div>
79     </body>
80  
81 </html>

感覺大家閱讀到這里~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM