整合營銷服務商

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

          免費咨詢熱線:

          導航菜單根據選中的元素動態讓當前元素靠中顯示的方法

          導航菜單根據選中的元素動態讓當前元素靠中顯示的方法

          ss代碼:

          .lprem-btn{ position: fixed; top:4rem;z-index:99999; padding: 0 1.5rem; margin: 0 0 1rem 0;white-space: nowrap; overflow-x:scroll; height:3.6rem;width:100%; box-sizing: border-box;}

          .lprem-btn a{display: inline-block; height: 3rem; line-height: 3rem; margin:0 .5rem; text-align: center;border-bottom: 2px solid #fff;}

          .lprem-btn a.on{border-bottom: 2px solid #0caeb0;}


          html布局

          <div class="lprem-btn">

          <a id="lp-a-1" href="?<%=urls%>&sts=1">確認單審核中</a>

          <a id="lp-a-2" href="?<%=urls%>&sts=2">來訪表待填寫</a>

          <a id="lp-a-5" href="?<%=urls%>&sts=5">來訪表已確認</a>

          <a id="lp-a-7" href="?<%=urls%>&sts=7">成交單已提交</a>

          <a id="lp-a-8" href="?<%=urls%>&sts=8">成交單已確認</a>

          <a id="lp-a-10" href="?<%=urls%>&sts=10">成交補充已提交</a>

          <a id="lp-a-11" href="?<%=urls%>&sts=11">成交補充已確認</a>

          </div>


          當前效果是當點擊上面菜單某一項時,讓點擊的項目顯示選中狀態,同時水平滾動條滾動至當前選中的元素位置

          對應的js代碼:


          <script>

          $('#lp-a-<%=sts%>').addClass('on');

          $(function(){

          var oftx=0;

          for (let i=0; i < $('.lprem-btn a').length; i++) {

          var obj=$('.lprem-btn a').eq(i);

          var cid=obj.attr("id");

          if(cid=='lp-a-<%=sts%>'){

          oftx=i*obj.outerWidth();

          continue;

          }

          }

          $('.lprem-btn').scrollLeft(oftx);

          });

          </script>


          最后實現效果如下:

          們對CSS的以下3種主要的選擇器已經非常熟悉:

          • 通用標簽:CSS代碼中的 p 用來選擇HTML元素 <p>。

          • 類(classes): CSS代碼中的 .intro 用來選擇帶有屬性 class="intro" 的HTML元素。

          • ids:CSS代碼中的 #logo 用來選擇帶有屬性 id="logo" 的HTML元素。

          所有這些選擇器都可以附加使用偽類(pseudo-classes)。一個偽類用來:

          • 定義一個元素的特殊狀態,這個狀態往往和用戶的動態交互行為或文檔的動態結構化特征有關,因此不能提前寫入HTML文檔中。

          • 是以冒號(colon) : 開始的一個關鍵詞。

          語法

          偽類不能單獨存在。它必須附加在一個選擇器上。偽類將只是定義那個選擇器的特殊狀態。語法看起來如下:

          .selector:pseudo-class{ }

          在選擇器和偽類中間沒有空格, between the selector and the pseudo-class, 以表示它們是連接在一起的。

          :hover

          一個常用的偽類是 :hover,用來給一個懸停狀態(即用戶鼠標懸停在元素上時觸發的狀態)下的目標元素添加樣式。我們可以把這個偽類用于鏈接。因為懸停是最基本的鏈接交互動作。

          a{ color: blue;}

          a:hover{ color: red;}

          第一行定義所有的 <a> 鏈接顏色為藍色。第二行定義當被懸停時,<a> 鏈接顏色為紅色。第二行選擇的是同樣的HTML元素,但是有特定的行為發生。(本例中是發生了用戶懸停動作)。

          :visited

          這個偽類的目標對象是被訪問過的鏈接。默認情況下,鏈接是藍色的,當被您訪問(點擊或觸摸)過后,變成紫色。

          例子如下:

          CSS代碼

          a{ color: dodgerblue;}

          a:visited{ color: rebeccapurple;}

          HTML代碼:

          <a >淘寶</a>

          <a >百度</a>

          <a >Mozilla</a>

          <a >Techbrood</a>

          這個樣式應用通常被開發者忽視,不過它有助于幫助用戶瀏覽一系列的結果鏈接(比如百度搜索結果頁),用戶可以很方便的知道哪些鏈接我已經訪問過,從而做出判斷是否要再次訪問以提高瀏覽效率。

          :checked

          :checked偽類是CSS3引入的一個很棒的狀態選擇器,用來表示選擇框(radio box、check box或options)的選中狀態。

          有些讀者可能會有點疑問,我們在文檔中也可以放入初始狀態(如Section 17.2.1 of HTML4里面定義的selected或checked)。因此嚴格而言:checked偽類的確不完全是作用于文檔以外的信息,但其本質上是一個動態交互行為。

          我們一樣通過一個在線實例來學習:checked偽類的使用,這是一個經典的純CSS手風琴導航欄,無須任何js腳本:

          和:checked類似的和UI界面組件狀態有關的動態選擇器還有:enabled和:disabled,較少使用,這里不做更多介紹。

          上面都是和元素狀態相關的偽類(Dynamic pseudo-classes),除此之外,我們經常使用的還有結構化偽類(Structural pseudo-classes),如:first-child等。

          :first-child 和 :last-child

          這兩個偽類和HTML元素層級關系有關。它們依據HTML元素在代碼中出現的順序來定位目標元素。我們可以把元素順序或層級關系看成是一種特殊的狀態。

          <ul>

          <li>One</li>

          <li>Two</li>

          <li>Three</li>

          <li>Four</li>

          </ul>

          li:first-child{ background: greenyellow;}

          li:last-child{ background: lightsalmon;}

          可以看到,我們并沒有給第一個和最后一個 <li> 元素添加 class 屬性。 它們在文檔中的位置定義了CSS規則的應用。在這類例子中,我們可以通過給這些元素添加特定的類(class)來實現同樣的目的,這可以幫助我們理解為什么上述通過元素狀態或順序來選擇元素的CSS規則被稱為“偽類”。

          如果我們再添加一條列表項,使用相同的CSS,樣式會被自動調整:

          :nth-child

          這個偽類是 :first-child 和 :last-child的通用版本,用來選擇第n個子元素。比如,如果你想選擇第2個子元素,你可以使用 :nth-child(2):

          li:nth-child(2){ background: violet;}

          奇數和偶數(odd 和 even)

          除了使用直接的數字外,:nth-child 還支持以奇偶數的方式來通配選擇子元素,這對于設置一些動態表格樣式有幫助。

          • :nth-child(odd) 目標對象為所有的奇數子元素。

          • :nth-child(even) 目標對象為所有的偶數子元素。

          li:nth-child(odd){ background: gold;}

          n遍歷器(iterator)

          還有更為強大的選擇規則,:nth-child 支持基于 n 遍歷器關鍵詞的選擇計算方法。n 的取值從 0 開始。代表每n個元素進行遍歷。比如如果我們想選擇順序為3的倍數的所有子元素,可以使用如下的規則:

          li:nth-child(3n){ background: hotpink;}

          上例中,選擇了0(實際沒有)、3、6的列表項。這個例子中0沒有用,但是我們將看到n從0開始是必要的。

          3n + 1

          上面這個規則可以用來選擇目標元素為第一個以及隨后每隔開3個位置的子元素。

          li:nth-child(3n+1){ background: limegreen;}

          3n+1 規則包含2個部分:

          • 3n 選擇順序為3的倍數的列表項。

          • +1 在前面選擇的基礎上向后偏移1個位置。

          可以看到,n遍歷器是非常靈活和強大的。

          否定選擇器(:not)

          否定選擇器和jQuery中的:not選擇器類似,是一個帶參數的函數式選擇器,語法如下:

          *:not(FOO)

          它表示除了符合FOO選擇條件的元素均被選中。比如我們想給列表項添加下邊線,但最后一條不加(以免和列表容器的邊線重復),此時就可以使用:not來實現:

          li.item:not(:last-child) {border-bottom: 1px solid #dedede;}

          注意否定選擇器不是結構化選擇器,有些網上教程比如慕課網上的描述是錯誤的。另外否定選擇器不能嵌套使用。

          其它偽類

          有很多可用的偽類,可以從這個鏈接查看完整列表:可用偽類列表,有一些的使用非常有限。最常用的就是我們上面討論過的這些。

          SS3實現簡單圓滑的導航欄!效果:

          實現代碼:

          html:

          css:


          主站蜘蛛池模板: 日韩精品一区二区三区四区| 无码国产精品一区二区免费虚拟VR| 国产激情з∠视频一区二区| 97一区二区三区四区久久| 波多野结衣av高清一区二区三区| 一区二区三区观看免费中文视频在线播放 | 亚洲AV无码一区二区三区牛牛| 三上悠亚亚洲一区高清| 日韩伦理一区二区| 亚洲综合在线一区二区三区| 亚洲欧洲日韩国产一区二区三区| 久久精品国产一区二区三区肥胖| 岛国精品一区免费视频在线观看| 免费视频精品一区二区| 在线观看一区二区精品视频| 日本一区二区三区不卡视频| 国产电影一区二区| 2022年亚洲午夜一区二区福利| 亚洲av不卡一区二区三区| 国产av一区二区三区日韩| 国产自产V一区二区三区C| 午夜福利一区二区三区在线观看| 国产一区二区三区久久| 国产午夜精品一区理论片| 亚洲AV美女一区二区三区| 精品无码一区二区三区爱欲九九| 无码人妻精品一区二区三18禁| 少妇激情一区二区三区视频| 亚洲一区二区三区精品视频| 午夜影院一区二区| 在线精品日韩一区二区三区| 国产在线精品观看一区| 国产福利电影一区二区三区,免费久久久久久久精 | 亚洲综合无码一区二区| 精品人妻一区二区三区浪潮在线 | 日本一区二区三区高清| 无码一区二区三区| 3D动漫精品一区二区三区| 日韩福利视频一区| 中文字幕一区视频一线| 国产福利电影一区二区三区,日韩伦理电影在线福 |