]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Add ol.list-group with psuedo-element numbers
authorMark Otto <markdotto@gmail.com>
Fri, 12 Feb 2021 18:51:18 +0000 (10:51 -0800)
committerMark Otto <otto@github.com>
Thu, 11 Mar 2021 06:04:32 +0000 (22:04 -0800)
scss/_list-group.scss
site/content/docs/5.0/components/list-group.md

index 7e23b8e0c059d41b1a313520967b7cb99c84f184..ecacb05f287da4965c04ab4a67cca66f3c14c2cd 100644 (file)
   @include border-radius($list-group-border-radius);
 }
 
+// stylelint-disable selector-no-qualifying-type
+ol.list-group {
+  list-style-type: none;
+  counter-reset: section;
+
+  > li::before {
+    // Increments only this instance of the section counter
+    content: counters(section, ".") ". ";
+    counter-increment: section;
+  }
+}
+// stylelint-enable selector-no-qualifying-type
+
 
 // Interactive list items
 //
index 1ac5a9a2b99138bf6081d7dac0d8b00e8c522efb..4caaeb8de70420be6fc1a7d84d7a3c25333c8aaf 100644 (file)
@@ -94,6 +94,48 @@ Add `.list-group-flush` to remove some borders and rounded corners to render lis
 </ul>
 {{< /example >}}
 
+## Ordered list
+
+Replace the unordered list element with an ordered list to opt into numbered list group items. Numbers are generated via CSS (as opposed to a `<ol>`s default browser styling) for better placement inside list group items and to allow for better customization.
+
+Numbers are generated by `counter-reset` on the `<ol>`, and then styled and placed with a `::before` psuedo-element on the `<li>` with `counter-increment` and `content`.
+
+{{< example >}}
+<ol class="list-group">
+  <li class="list-group-item">Cras justo odio</li>
+  <li class="list-group-item">Cras justo odio</li>
+  <li class="list-group-item">Cras justo odio</li>
+</ol>
+{{< /example >}}
+
+These work great with custom content as well.
+
+{{< example >}}
+<ol class="list-group">
+  <li class="list-group-item d-flex justify-content-between align-items-start">
+    <div class="ms-2 me-auto">
+      <div class="fw-bold">Subheading</div>
+      Cras justo odio
+    </div>
+    <span class="badge bg-primary rounded-pill">14</span>
+  </li>
+  <li class="list-group-item d-flex justify-content-between align-items-start">
+    <div class="ms-2 me-auto">
+      <div class="fw-bold">Subheading</div>
+      Cras justo odio
+    </div>
+    <span class="badge bg-primary rounded-pill">14</span>
+  </li>
+  <li class="list-group-item d-flex justify-content-between align-items-start">
+    <div class="ms-2 me-auto">
+      <div class="fw-bold">Subheading</div>
+      Cras justo odio
+    </div>
+    <span class="badge bg-primary rounded-pill">14</span>
+  </li>
+</ol>
+{{< /example >}}
+
 ## Horizontal
 
 Add `.list-group-horizontal` to change the layout of list group items from vertical to horizontal across all breakpoints. Alternatively, choose a responsive variant `.list-group-horizontal-{sm|md|lg|xl|xxl}` to make a list group horizontal starting at that breakpoint's `min-width`. Currently **horizontal list groups cannot be combined with flush list groups.**