整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS 自定義滾動條和強制顯示

          出滾動講起

          Web 開發中,經常遇到需要固定容器大小,然后內部內容超出的情況,相信非技術的也經常會遇到這樣的場景,沒錯,幾乎打開任何一個門戶網站你使用鼠標滾輪就屬于上面的情況。

          解決方案自然就是 overflow 這個 CSS 屬性。

          visible 默認值。內容不會被修剪,會呈現在元素框之外。

          hidden 內容會被修剪,并且其余內容是不可見的。

          scroll 內容會被修剪,但是瀏覽器會顯示滾動條以便查看其余的內容。

          auto 如果內容被修剪,則瀏覽器會顯示滾動條以便查看其余的內容。

          inherit 規定應該從父元素繼承 overflow 屬性的值。

          效果如下:

          visible

          上面是 visible。

          hidden

          上面是 hidden。

          scroll 與 auto

          上面是 scroll 與 auto。

          注意,Chrome 系列瀏覽器都會自動隱藏滾動條,不論設置 auto 還是 scroll。

          因此我們才有今天的話題。

          inherit 就不舉例了,這個與父元素有關。

          強制顯示滾動條

          首先,scroll 說好的顯示,被瀏覽器給搞掉了。

          其次,隱藏是好事畢竟占位置,而且當今的網民基本都本能的知道滾動操作。

          最后,個人舉四肢贊成自動隱藏。

          但是!!!

          你總會遇到不怎么上網的網民,在看不到內容時候不知所措。

          亦或者,你遇到的坑爹的老板,就是要讓你顯示(這個老板可能不怎么上網……)。

          或者你們產品設計對象就是一些非網民的使用。

          又或者你們設計覺得有個自定義滾動條好看。

          等等等等情況,相信我,你一定會遇到這個情況的。

          于是我們需要定制一個滾動條,放心,CSS 偽類已經給你提供好了。

          核心代碼由 Steven Lewis:https://codepen.io/stevenlewis/pen/hubpL 提供,本人用到,精簡下順便搬運。

          <div class="frame">
           Foo<br />
           Bar<br />
           Baz<br />
           Help I'm trapped in an HTML factory! 
          </div>
          

          上面是 HTML 代碼。

          frame {
           overflow-y: auto;
           border: 1px solid black;
           height: 3em;
           width: 10em;
           line-height: 1em;
          }
          .frame::-webkit-scrollbar {
           -webkit-appearance: none;
          }
          .frame::-webkit-scrollbar:vertical {
           width: 11px;
          }
          .frame::-webkit-scrollbar-thumb {
           border-radius: 8px;
           border: 2px solid white;
           background-color: rgba(0, 0, 0, .5);
          }
          

          這里是對應的 CSS 代碼。

          做了對比動圖,大家看一下:

          auto 或 scroll

          上面是 auto(或 scroll)控制,細節是右邊的滾動條會自動隱藏。

          定制

          上面是經過定制的,所以不會隱藏。

          .frame::-webkit-scrollbar {
           -webkit-appearance: none;
          }
          

          隱藏默認的滾動條。

          .frame::-webkit-scrollbar:vertical {
           width: 11px;
          }
          

          設置垂直滾動條寬度。

          當然也有水平滾動條配置,.frame::-webkit-scrollbar:horizontal,那么就要設置他的高度的。如下:

          .frame::-webkit-scrollbar:horizontal {
           height: 11px;
          }
          

          .frame::-webkit-scrollbar-thumb {
           border-radius: 8px;
           border: 2px solid red;
           background-color: rgba(0, 0, 0, .5);
          }
          

          滾動條的其他樣式定制,注意,這個一定也要定制,否則就是一個透明的滾動條……


          OK,建議沒有用過或者忘了的小伙伴保存一下,一定會再次用到的。

          avascript中制作滾動代碼的常用屬性

          1.網頁可見區域寬: document.body.clientWidth; 網頁可見區域高: document.body.clientHeight; 網頁可見區域寬: document.body.offsetWidth (包括邊線的寬); 網頁可見區域高: document.body.offsetHeight (包括邊線的寬); 網頁正文全文寬: document.body.scrollWidth; 網頁正文全文高: document.body.scrollHeight; 網頁被卷去的高: document.body.scrollTop; 網頁被卷去的左: document.body.scrollLeft; 網頁正文部分上: window.screenTop; 網頁正文部分左: window.screenLeft; 屏幕分辨率的高: window.screen.height; 屏幕分辨率的寬: window.screen.width; 屏幕可用工作區高度: window.screen.availHeight;

          2.假設 obj 為某個 HTML 控件。

          obj.offsetTop 指 obj 距離上方或上層控件的位置,整型,單位像素。 obj.offsetLeft 指 obj 距離左方或上層控件的位置,整型,單位像素。 obj.offsetWidth 指 obj 控件自身的寬度,整型,單位像素。 obj.offsetHeight 指 obj 控件自身的高度,整型,單位像素。

          我們對前面提到的“上方或上層”與“左方或上層”控件作個說明。 例如:

          “提交”按鈕的 offsetTop 指“提交”按鈕距“tool”層上邊框的距離,因為距其上邊最近的是 “tool” 層的上邊框。 “重置”按鈕的 offsetTop 指“重置”按鈕距“tool”層上邊框的距離,因為距其上邊最近的是 “tool” 層的上邊框。 “提交”按鈕的 offsetLeft 指“提交”按鈕距“tool”層左邊框的距離,因為距其左邊最近的是 “tool” 層的左邊框。 “重置”按鈕的 offsetLeft 指“重置”按鈕距“提交”按鈕右邊框的距離,因為距其左邊最近的是“提交”按鈕的右邊框。

          以上屬性在 FireFox 中也有效。

          3.offsetTop 與 style.top 的區別

          預備知識:offsetTop、offsetLeft、offsetWidth、offsetHeight 我們知道 offsetTop 可以獲得 HTML 元素距離上方或外層元素的位置,style.top 也是可以的,二者的區別是:

          (1)offsetTop 返回的是數字,而 style.top 返回的是字符串,除了數字外還帶有單位:px。 (2)offsetTop 只讀,而 style.top 可讀寫。 (3)如果沒有給 HTML 元素指定過 top 樣式,則 style.top 返回的是空字符串。

          offsetLeft 與 style.left、offsetWidth 與 style.width、offsetHeight 與 style.height 也是同樣道理。 offsetWidth與style.width屬性的區別在于:如對象的寬度設定值為百分比寬度,則無論頁面變大還是變小,style.width都返回此百分比,而offsetWidth則返回在不同頁面中對象的寬度值而不是百分比值

          4.scrollLeft : 對象的最左邊到對象在當前窗口顯示的范圍內的左邊的距離. 即是在出現了橫向滾動條的情況下,滾動條拉動的距離. scrollTop 對象的最頂部到對象在當前窗口顯示的范圍內的頂邊的距離. 即是在出現了縱向滾動條的情況下,滾動條拉動的距離.

          今天要給大家分享10款精美的HTML5圖片輪播/切換動畫,這些動畫每一個都有自己的特點,不管你是PC端的網頁,還是移動端的H5應用,都可以嘗試使用這些動畫來提高應用的用戶體驗。

          ?

          PS:請你耐心看完,文末我提供了所有動畫的源碼打包下載鏈接,如果你喜歡這些動畫,可以按需下載,希望對你有所幫助。

          1. 可無限水平滑動的JS畫廊動畫

          這是一個簡約而實用的JS畫廊相冊組件,它的特點是可以添加無限多張相片,并且支持水平無限循環滑動。另外它還支持對畫廊中的相片進行展開和折疊,并同時動態展示相片的標題和描述。這款相冊組件主要采用了jQuery插件以及CSS3的過渡動畫特性,使用起來十分方便。

          2. 基于TweenMax.js的圖片碎裂切換動畫

          這是一個基于TweenMax動畫庫的圖片碎裂切換動畫,它的特點是點擊圖片時,圖片就會像玻璃那樣碎裂成許多塊,然后漸漸地消失,直到下一張圖片顯示為止。這款圖片碎裂動畫也可以應用在焦點圖的切換動畫中,效果非常不錯。

          3. 基于Swiper.js的視差效果圖片滑塊動畫

          Swiper.js是一個流行的移動端輪播圖插件,它提供了豐富的功能和配置項。這款圖片滑塊動畫就是基于Swiper.js實現的,它的特點是圖片切換的時候,圖片上方將會出現白色背景的視差效果圖層,并且它可以適配不同的瀏覽器尺寸。

          4. 基于Three.js的圖片撕碎切換動畫

          這又是一個非常酷的HTML5 Canvas圖片切換動畫,它是基于知名3D動畫庫threejs實現的。在圖片切換過程中,你也可以通過鼠標拖動來查看切換時的具體細節效果。如果將它制作成一個效果非常獨特而華麗的相冊或者焦點圖插件,相信會很不錯的。

          5. CSS濾鏡特效下的手風琴圖片切換動畫

          這是一個純CSS實現的手風琴特效的圖片切換動畫,它的特點是采用了CSS濾鏡特效,首先將原圖通過濾鏡變換成黑白樣式,鼠標滑過激活圖片后,再將黑白圖轉換成原圖,從而實現圖片高亮的效果。

          6. jQuery手風琴圖片播放器 可自動播放

          這同樣是一款手風琴特效的圖片切換動畫,它基于jQuery開發,是一款非常不錯的jQuery圖片輪播插件。它的特點是支持自動播放,使用簡單,對于一些商品展示的站點或者app,比較適合使用。

          7. HTML5 SVG實現的波浪切換圖片動畫

          這是一款采用SVG遮罩來實現波浪樣式的圖片切換動畫。所有的圖片采用背景圖片的方式,圖片上方定義SVG圓形路徑,通過對圓形svg路徑的樣式渲染,實現波浪切換的動畫效果。

          8. 基于jQuery的3D圖片切換插件Slicebox

          Slicebox是一款基于jQuery的圖片切換插件,盡管jQuery在新的web系統中使用越來越少,但我們依然可以使用它的強大插件來豐富我們現有的網站。這款圖片切換插件的特點是播放上一張或下一張圖片時,圖片會出現水平分裂或垂直分裂的3D視覺效果。

          9. jQuery響應式圖片切換插件,可自動播放

          這款jQuery圖片切換插件擁有簡單的使用方法和靈活的擴展方式,支持單頁面多實例,并且可適配不同的屏幕尺寸。另外通過配置,我們可以讓圖片切換組件支持自動播放、顯示切換按鈕、鼠標滑過放大圖片等特性。

          10. 純CSS實現的水平3D圖片滾動特效

          這是一款純CSS實現的圖片滾動特效,它的特點是我們可以通過滾動瀏覽器的橫向滾動條,可以讓圖片進行水平切換滾動。另外圖片排列呈現3D投影的視覺效果,同時也可以在移動端通過手指滑動來實現圖片的橫向滾動瀏覽。



          主站蜘蛛池模板: 久久久久人妻一区精品性色av | 久久精品一区二区三区资源网 | 国产精品男男视频一区二区三区 | 色一情一乱一伦一区二区三区 | 国产无码一区二区在线| 国产在线不卡一区二区三区 | 日本在线观看一区二区三区| 中文字幕无码不卡一区二区三区 | 国产在线精品一区免费香蕉 | 另类ts人妖一区二区三区| 鲁丝片一区二区三区免费| 精品一区二区三区在线视频观看| 无码av不卡一区二区三区| 国产精品视频一区二区三区| 精品无码成人片一区二区| 人妻少妇精品一区二区三区| 精品国产AⅤ一区二区三区4区| 精品国产aⅴ无码一区二区| 99久久精品费精品国产一区二区| 中文字幕久久亚洲一区| 亚洲一区爱区精品无码| 无码人妻精品一区二区三区夜夜嗨 | 亚洲av无码成人影院一区| 亚洲AV无码一区二区三区性色 | 麻豆va一区二区三区久久浪| 国产第一区二区三区在线观看| 一区二区三区精品视频| 成人无码AV一区二区| 精品无人区一区二区三区| 亚洲a∨无码一区二区| 免费一区二区三区四区五区| 国精品无码A区一区二区| 久久国产精品无码一区二区三区| 亚洲码欧美码一区二区三区| 一区二区三区在线播放视频| 国产suv精品一区二区33| 中文字幕av日韩精品一区二区| 国产成人一区二区动漫精品| 国产无套精品一区二区| 亚洲AV香蕉一区区二区三区| 一区二区三区四区电影视频在线观看 |