Skip to content

CSS: tree-browser

.instui-tree-browser — 一個由巢狀集合與葉節點項目組成的揭示樹,具有可旋轉的箭頭圖示。

每個集合都是原生的 <details>;將它們互相巢狀即可構成樹,瀏覽器會處理每個分支的展開與收合。

Source: tree-browser.css

無障礙

將根標記為 role="tree",並將每個巢狀清單標記為 role="group"。

使用方法

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/tree-browser.css";

範例

html
<div class="instui-tree-browser" role="tree">
  <details open>
    <summary><span class="instui-icon -icon-folder"></span> Course files</summary>
    <ul role="group">
      <li>
        <a class="item" href="#"><span class="instui-icon -icon-file-text"></span> Syllabus.pdf</a>
      </li>
      <li>
        <details>
          <summary><span class="instui-icon -icon-folder"></span> Week 1</summary>
          <ul role="group">
            <li>
              <a class="item -selected" href="#"><span class="instui-icon -icon-file-text"></span> Reading.pdf</a>
            </li>
            <li>
              <a class="item" href="#"><span class="instui-icon -icon-file-text"></span> Slides.pptx</a>
            </li>
          </ul>
        </details>
      </li>
      <li>
        <a class="item" href="#"><span class="instui-icon -icon-file-text"></span> Rubric.docx</a>
      </li>
    </ul>
  </details>
</div>

結構

text
.instui-tree-browser
  details
    summary
      [class*="-icon-"] (0..1)
    ul
      li
        side-nav-bar.item (component)
          [class*="-icon-"] (0..1)
flowchart TD n0[".instui-tree-browser"]:::cssdoc-root n1("details"):::cssdoc-part n2("summary"):::cssdoc-part n3("[class*=&quot;-icon-&quot;]"):::cssdoc-part n4("ul"):::cssdoc-part n5("li"):::cssdoc-part n6(["side-nav-bar.item"]):::cssdoc-component n7("[class*=&quot;-icon-&quot;]"):::cssdoc-part n2 -.->|0..1| n3 n1 --> n2 n6 -.->|0..1| n7 n5 --> n6 n4 --> n5 n1 --> n4 n0 --> n1 click n6 "/api/css/side-nav-bar.item.md" classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

修飾器

修飾器說明
.-icon-*在摘要與葉節點項目中呈現資料夾/檔案的圖示。
.-size-large大型。-size-lg 的長形式別名。
.-size-lg大。
.-size-sm小。
.-size-small小。-size-sm 的長形式別名。

部件

部件說明
.item樹中的一個葉項目。

偽元素

偽元素說明
::before繪製每個集合的揭示 chevron 箭頭,這是一個遮罩圖示,當分支展開時會旋轉指向下方。

狀態

狀態說明
:state(open)

已使用的代幣

Token型別
--instui-component-tree-browser-border-radius<length>0.5rem
--instui-component-tree-browser-tree-button-base-spacing-large<length>1rem
--instui-component-tree-browser-tree-button-base-spacing-medium<length>0.75rem
--instui-component-tree-browser-tree-button-base-spacing-small<length>0.5rem
--instui-component-tree-browser-tree-button-border-radius<length>0.5rem
--instui-component-tree-browser-tree-button-hover-background-color<color>LightDarklight-dark(#1D354F, #EEF4FD)
--instui-component-tree-browser-tree-button-hover-text-color<color>LightDarklight-dark(#ffffff, #1C222B)
--instui-component-tree-browser-tree-button-icons-margin-right-medium<length>0.5rem
--instui-component-tree-browser-tree-button-name-font-size-large<length>1rem
--instui-component-tree-browser-tree-button-name-font-size-medium<length>0.875rem
--instui-component-tree-browser-tree-button-name-font-size-small<length>0.75rem
--instui-component-tree-browser-tree-button-name-text-color<color>LightDarklight-dark(#2369A4, #7FB4F1)
--instui-component-tree-browser-tree-button-selected-background-color<color>LightDarklight-dark(#4A5B68, #576773)
--instui-component-tree-browser-tree-button-selected-text-color<color>#ffffff
--instui-component-tree-browser-tree-button-text-line-height<percentage>125%
--instui-component-tree-browser-tree-collection-base-spacing-medium<length>0.75rem
--instui-component-tree-browser-tree-collection-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-icon-chevron-right<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m9%2018%206-6-6-6%22%2F%3E%3C%2Fsvg%3E')

子元件

相關

  • menu — 兩者皆呈現巢狀且可選取的條目。