整合營銷服務商

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

          免費咨詢熱線:

          JavaScript實現的手風琴圖片切換,鼠標懸停任意圖片html前端源碼

          家好,今天給大家介紹一款,JavaScript實現的手風琴圖片切換,鼠標懸停任意圖片html前端源碼 (圖1)。送給大家哦,獲取方式在本文末尾。

          圖1

          鼠標懸停切換圖片(圖2)

          圖2

          源碼完整,需要的朋友可以下載學習(圖3)

          圖3

          本源碼編碼:10166,需要的朋友,點擊下面的鏈接后,搜索10166,即可獲取。

          就愛UI - 分享UI設計的點點滴滴

          家好,今天給大家介紹一款, 圖片隨機切換特效,切換時改變圖片色彩和背景色html頁面源碼,(圖1)。送給大家哦,獲取方式在本文末尾。

          圖1

          支持鼠標拖動和點擊切換兩種方式,切換時改變圖片色彩為彩色,同時改變背景色(圖2)

          圖2-點擊切換

          圖2-拖動切換

          代碼完整,需要的朋友可以下載學習(圖3)

          圖3

          本源碼編碼:10173,需要的朋友,點擊下面的鏈接后,搜索10173,即可獲取。

          就愛UI - 分享UI設計的點點滴滴

          您2019豬事順利,心想事成。

          前言

          Tab 切換是種很常見的網頁呈現形式,不管是PC或者H5都會經常看到,今天就為小伙伴們提供多種純CSS Tab 切換的實現方式,同時對比一下那種代碼更方便,更通俗易懂。

          3種純CSS方式實現Tab 切換

          純CSS實現都面臨2個問題:

          1、 如何接收點擊事件?

          2、 如何操作相關DOM?

          checked 偽類實現純 CSS Tab 切換

          擁有 checked 屬性的表單元素, <input type="radio"> 或者 <input type="checkbox"> 能夠接收到點擊事件。

          知識點:

          1、 使用 radio 標簽的 :checked 偽類,加上 <label for> 實現純 CSS 捕獲點擊事情

          2、 使用了 ~ 選擇符對樣式進行控制

          <div class="container"> 
           <input class="nav1" id="li1" type="radio" name="nav"> 
           <input class="nav2" id="li2" type="radio" name="nav"> 
           <ul class='nav'> 
           <li class='active'><label for="li1">tab1</label></li> 
           <li><label for="li2">tab2</label></li> 
           </ul> 
           <div class="content"> 
           <div class="content1 default">tab1 內容:123456</div> 
           <div class="content2">tab2 內容:abcdefgkijkl</div> 
           </div> 
          </div>
          

          添加樣式

          .container *{ 
           padding: 0; 
           margin: 0; 
          } 
          .container { 
           position: relative; 
           width: 400px; 
           margin: 50px auto; 
          } 
          .container input { 
           display: none; 
          } 
          .nav { 
           position: relative; 
           overflow: hidden; 
          } 
          .nav li { 
           width: 200px; 
           float: left; 
           text-align: center; 
           background: #ddd; 
           list-style: none; 
          } 
          .nav li label { 
           display: block; 
           width: 200px; 
           line-height: 36px; 
           font-size: 18px; 
           cursor: pointer; 
          } 
          .content { 
           position: relative; 
           overflow: hidden; 
           width: 400px; 
           height: 100px; 
           border: 1px solid #999; 
           box-sizing: border-box; 
           padding: 10px; 
          } 
          .content1, 
          .content2 { 
           display: none; 
           width: 100%; 
           height: 100%; 
          } 
          .nav1:checked ~ .nav li { 
           background: #ddd; 
           color: #000; 
          } 
          .nav1:checked ~ .nav li:first-child { 
           background: #ff7300; 
           color: #fff; 
          } 
          .nav2:checked ~ .nav li { 
           background: #ddd; 
           color: #000; 
          } 
          .nav2:checked ~ .nav li:last-child { 
           background: #ff7300; 
           color: #fff; 
          } 
          .nav1:checked ~ .content > div { 
           display: none; 
          } 
          .nav1:checked ~ .content > div:first-child { 
           display: block; 
          } 
          .nav2:checked ~ .content > div { 
           display: none; 
          } 
          .nav2:checked ~ .content > div:last-child { 
           display: block; 
          } 
          .nav li.active { 
           background: #ff7300; 
           color: #fff; 
          } 
          .content .default { 
           display: block; 
          }
          

          target 偽類實現純 CSS Tab 切換

          知識點:

          1、 要使用 :target 偽元素,需要 HTML 錨點,以及錨點對應的 HTML 片段

          2、 核心是使用 :target 偽類接收點擊事件

          3、 通過兄弟選擇符 ~ 控制樣式

          <div class="container"> 
           <div id="content1" class="active">tab 1內容:123456</div> 
           <div id="content2">tab 2內容:abcdefgkijkl</div> 
           
           <ul class='nav'> 
           <li class="active"><a href="#content1">tab1</a></li> 
           <li><a href="#content2">tab2</a></li> 
           </ul> 
           
           <div class="wrap"></div> 
          </div>
          

          添加樣式

          .container *{ 
           padding: 0; 
           margin: 0; 
          } 
          .container { 
           position: relative; 
           width: 400px; 
           margin: 50px auto; 
          } 
           
          .nav { 
           position: relative; 
           overflow: hidden; 
          } 
           
          li { 
           width: 200px; 
           float: left; 
           text-align: center; 
           background: #ddd; 
           list-style: none; 
          } 
           
          li a { 
           display: block; 
           width: 200px; 
           line-height: 36px; 
           font-size: 18px; 
           cursor: pointer; 
           text-decoration: none; 
           color: #000; 
          } 
           
          #content1, 
          #content2 { 
           position: absolute; 
           overflow: hidden; 
           top: 36px; 
           width: 400px; 
           height: 100px; 
           border: 1px solid #999; 
           box-sizing: border-box; 
           padding: 10px; 
          } 
           
          #content1, 
          #content2 { 
           display: none; 
           width: 100%; 
           background: #fff; 
          } 
           
          #content1:target, 
          #content2:target { 
           display: block; 
          } 
           
          #content1.active { 
           display: block; 
          } 
           
          .active ~ .nav li:first-child { 
           background: #ff7300; 
           color: #fff; 
          } 
           
          #content1:target ~ .nav li { 
           background: #ddd; 
           color: #000; 
          } 
          #content1:target ~ .nav li:first-child { 
           background: #ff7300; 
           color: #fff; 
          } 
           
          #content2:target ~ .nav li { 
           background: #ddd; 
           color: #000; 
          } 
          #content2:target ~ .nav li:last-child { 
           background: #ff7300; 
           color: #fff; 
          } 
           
          .wrap { 
           position: absolute; 
           overflow: hidden; 
           top: 36px; 
           width: 400px; 
           height: 100px; 
           border: 1px solid #999; 
           box-sizing: border-box; 
          }
          
          

          focus-within 來實現 tab 切換功能

          :focus-within 它表示一個元素獲得焦點,或該元素的后代元素獲得焦點。

          重點:它或它的后代獲得焦點。

          這也就意味著,它或它的后代獲得焦點,都可以觸發 :focus-within。

          知識點

          1、 這個屬性有點類似 Javascript 的事件冒泡,從可獲焦元素開始一直冒泡到根元素 html,都可以接收觸發 :focus-within 事件

          2、 本例子的思路就是通過獲焦態來控制其他選擇器,以及最重要的是利用了父級的 :not(:focus-within) 來設置默認樣式

          <div class="container"> 
           <div class="nav-box"> 
           <button class="nav1">tab1</button> 
           <button class="nav2">tab2</button> 
           <div class="content-box"> 
           <div class="content1"> 
           content-1 
           </div> 
           <div class="content2"> 
           content-2 
           </div> 
           </div> 
           </div> 
          </div>
          

          添加樣式

          .container { 
           width: 300px; 
           margin: 50px auto; 
           padding: 10px; 
           boder: 1px solid #ddd; 
          } 
           
          .nav-box { 
           font-size: 0; 
          } 
           
          button { 
           width: 150px; 
           height: 40px; 
           box-sizing: border-box; 
           outline: none; 
           background: #fff; 
           border: 1px solid #ddd; 
           font-size: 18px; 
           cursor: pointer; 
          } 
           
          button:focus-within { 
           color: #fff; 
           background: #ff7300; 
          } 
           
          .content-box { 
           font-size: 24px; 
           border: 1px solid #ddd; 
           height: 100px; 
          } 
          .content-box div { 
           display: none; 
          } 
           
          .nav-box:not(:focus-within) .nav1 { 
           color: #fff; 
           background: #ff7300; 
          } 
          .nav-box:not(:focus-within) .content1 { 
           display: block; 
          } 
           
          .nav1:focus-within ~ .content-box .content1 { 
           display: block; 
          } 
           
          .nav2:focus-within ~ .content-box .content2 { 
           display: block; 
          }
          
          

          3種純CSS方式實現Tab 切換

          這個效果就很差一些,因為,在tab失去焦點時,就會復原,回到tab1上面,并不推薦這種方式來實現。小編推薦第一種:checked實現方式,更容易理解。

          公告

          喜歡小編的點擊關注,了解更多知識!

          源碼地址和源文件下載請點擊下方“了解更多”


          主站蜘蛛池模板: 亚洲丰满熟女一区二区哦| 亚洲国产精品第一区二区| 一区二区三区在线播放视频| 色狠狠一区二区三区香蕉蜜桃| 亚州AV综合色区无码一区| 亚洲成AV人片一区二区密柚 | 国产高清视频一区三区| 免费一区二区三区四区五区| 亚洲色偷精品一区二区三区| 国产区精品一区二区不卡中文| 福利视频一区二区牛牛| 日韩精品一区二区三区中文3d| 亚洲字幕AV一区二区三区四区 | 视频一区在线免费观看| 精品国产免费观看一区| 伊人色综合视频一区二区三区| 少妇激情一区二区三区视频 | 蜜桃无码一区二区三区| 夜色福利一区二区三区| 久久久久99人妻一区二区三区| 一区二区三区无码视频免费福利| 国产99精品一区二区三区免费| 秋霞电影网一区二区三区| 国产一区韩国女主播| 精品一区二区三区在线观看l | 国产伦理一区二区| 一区二区乱子伦在线播放| 国产一区玩具在线观看| 伊人色综合一区二区三区| 久久精品国产免费一区| 人妻无码一区二区三区免费 | 亚洲性日韩精品一区二区三区| 日本一区二区三区免费高清在线 | 国产一区二区福利| 久久国产精品视频一区| 成人精品一区二区户外勾搭野战| 丝袜美腿一区二区三区| 国产a久久精品一区二区三区| 国产精品第一区第27页| 亚洲av午夜福利精品一区人妖| 色狠狠一区二区三区香蕉|