91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css使用:indeterminate選擇器的方法

發布時間:2020-08-29 11:38:53 來源:億速云 閱讀:252 作者:小新 欄目:web開發

小編給大家分享一下css使用:indeterminate選擇器的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

:indeterminate選擇器簡單介紹

:indeterminate是一個CSS 偽類選擇器,是用于選擇處于不確定狀態的用戶界面元素的。

例如,radio和checkbox元素可以在選中狀態和未選中狀態之間切換,但有時處于不確定狀態,既不選中也不取消選中。類似地,還有HTML5 <progress>標簽,當完成的百分比未知時,進度條(<progress>)可以處于不確定狀態。

因此,可以具體地說,:indeterminate偽類選擇器可以在以下元素中使用:

1、復選按鈕(<input type="checkbox">),其indeterminate屬性設置為true。

2、單選按鈕(<input type="radio">),在表單中擁有相同name值的單選按鈕組中未被選中時單選按鈕。

3、沒有value屬性的進度條元素(<progress>標簽)。progress標簽元素是一個HTML5元素,用于表示任務的完成進度。

可以說元素的不確定狀態是一種視覺狀態,下面是復選框的三種狀態:已選中,未選中和不確定:

css使用:indeterminate選擇器的方法

注:元素的不確定狀態只能通過JavaScript來動態設置。上面提到的indeterminate屬性只能和JavaScript一起應用,這意味著不能像下面這樣通過HTML將元素的狀態設置為不確定:

<input type="checkbox" indeterminate> <!-- 如果我們通過HTML添加它,則不起作用 -->

要將元素設置為不確定狀態,您只能通過JavaScript執行此操作。例如,如果頁面中有一組復選框,則以下行將選擇第一行并將其狀態更改為不確定狀態:

document.getElementsByTagName("input")[0].indeterminate = true;

示例:嵌套的復選框

將復選框的狀態(和樣式)設置為不確定可能有用的一個用例是,當我們嵌套復選框時,讓一個復選框具有了子復選框。通常是在提供多種選擇的用戶界面中看到這種情況,并且某些選項具有“子選項”。

通常,設置“父”復選框,以便它可用于切換其所有子復選框的樣式 - 檢查它將檢查所有子項,取消選中它將取消選中所有子項。取消選中它將允許用戶檢查子復選框中的一些選項,同時保留其他選項未選中。

因此,使用此概念,可以檢查復選框是否選中了所有后代復選框,如果未選中所有后代復選框,則該“父”復選框的狀態為不確定,例如:

一組嵌套的復選框中,當我們選中一個子選項時,“父”復選框的狀態為“不確定”

css使用:indeterminate選擇器的方法

當我們選擇2個子選項時,“父”復選框的狀態還是為“不確定”

css使用:indeterminate選擇器的方法

只有,當所有子選項都被選中是,父”復選框的狀態才會為“選中”

css使用:indeterminate選擇器的方法

嵌套的復選框的代碼:

如果復選框的標簽處于不確定狀態,則父復選框標簽的顏色將變為deepPink。

HTML代碼:

<div class="container">
  <ul>
    <li>
      <input type="checkbox" id="option"><label for="option"> 選擇喜歡的水果</label>
      <ul>
        <li><label><input type="checkbox" class="subOption"> 蘋果、香蕉、橘子</label></li>
        <li><label><input type="checkbox" class="subOption"> 柚子、橙子、西瓜</label></li>
        <li><label><input type="checkbox" class="subOption"> 芒果、火龍果、哈密瓜</label></li>
      </ul>
    </li>
  </ul>
</div>

css代碼:

ul {
  list-style: none;
}

.container {
  margin: 40px auto;
  max-width: 700px;
}

li {
  margin-top: 1em;
}

label {
  font-weight: bold;
}

input[type="checkbox"]:indeterminate + label {
  color: deepPink;
}

js代碼:

var checkboxes = document.querySelectorAll('input.subOption'),
    checkall = document.getElementById('option');

for(var i=0; i<checkboxes.length; i++) {
  checkboxes[i].onclick = function() {
    var checkedCount = document.querySelectorAll('input.subOption:checked').length;

    checkall.checked = checkedCount > 0;
    checkall.indeterminate = checkedCount > 0 && checkedCount < checkboxes.length;
  }
}

checkall.onclick = function() {
  for(var i=0; i<checkboxes.length; i++) {
    checkboxes[i].checked = this.checked;
  }
}

動態效果圖:

css使用:indeterminate選擇器的方法

以上是css使用:indeterminate選擇器的方法的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雅江县| 永靖县| 黄骅市| 蓝田县| 河西区| 靖州| 宁乡县| 安溪县| 大宁县| 信宜市| 黑山县| 金堂县| 台北市| 扬州市| 河源市| 宜州市| 铜川市| 循化| 宜川县| 铁岭市| 珲春市| 富平县| 拉孜县| 达拉特旗| 瑞昌市| 镇江市| 五台县| 前郭尔| 永靖县| 临武县| 双峰县| 河北区| 上林县| 龙门县| 青阳县| 托克逊县| 衡南县| 汽车| 蓬安县| 南开区| 灌南县|