Teachnique
      CourseRoadmaps
      Login

      IntroductionSyntaxSelectorsInclusionMeasurement UnitsColorsBackgroundsFontsTextImagesLinksTablesBordersBorder BlockBorder InlineMarginsListsPaddingCursorOutlinesDimensionScrollbarsInline BlockDropdownsVisibilityOverflowClearfixFloatArrowsResizeQuotesOrderPositionHyphensHoverDisplayFocusZoomTranslateHeightHyphenate CharacterWidthOpacityZ-IndexBottomNavbarOverlayFormsAlignIconsImage GalleryCommentsLoadersAttr SelectorsCombinatorsRootBox ModelCountersClipWriting ModeUnicode-bidimin-contentAllInsetIsolationOverscrollJustify ItemsJustify SelfTab SizePointer EventsPlace ContentPlace ItemsPlace SelfMax Block SizeMin Block SizeMix Blend ModeMax Inline SizeMin Inline SizeOffsetAccent ColorUser Select

      GridGrid LayoutFlexboxVisibilityPositioningLayersPseudo ClassesPseudo Elements@ RulesText EffectsPaged MediaPrintingLayoutsValidationsImage SpritesImportantData Types

      TutorialRounded CornerBorder ImagesMulti BackgroundColorGradientsBox ShadowBox Decoration BreakCaret ColorText ShadowText2d transform3d transformTransitionAnimationMulti columnsBox SizingTooltipsButtonsPaginationVariablesMedia QueriesFunctionsMath FunctionsMaskingShapesStyle ImagesSpecificityCustom Properties

      IntroductionViewportGrid ViewMedia QueriesImagesVideosFrameworks

      Questions and AnswersQuick GuideReferencesColor ReferencesWeb browser ReferencesWeb safe fontsUnitsAnimation

      PX to EM converterColor Chooser & Animation

      Useful ResourcesDiscussion

      Feedback

      Submit request if you have any questions.

      Course
      Counters

      CSS Tutorial

      This CSS tutorial is designed for beginners to navigate through the essentials and intricate aspects of CSS styling. Upon finishing this tutorial, participants will possess a comprehensive understanding of CSS, setting a solid foundation for further exploration and mastery. This guide aims to equip you with the skills necessary to transform your visions into visually appealing web designs, laying the groundwork for your journey towards becoming an accomplished web designer.

      Counters

      In CSS, counters act as variables that are used for numbering purposes. They can be increased or decreased by css rules. Css counters enable us to modify the presentation of content depending on its position. For instance you can use the counters to automatically assign numbers to paragraphs, headings and lists.

      CSS Counters - Nesting Counters

      We can use the counters() function along with the counter-reset and counter-increment properties to create outlined lists with nested counters. This technique allows you to automatically generate counters for different levels of nesting.
      This following example creates a nested structure using the <ol> element to demonstrate the nesting of counters.
      <html>
      <head>
      <title>Nesting of Counter</title>
      <style>
      ol {
      counter-reset: section;
      list-style-type: none;
      }
      li::before {
      counter-increment: section;
      content: counters(section, ".") " ";
      }
      </style>
      </head>
      <body>
      <ol>
      <li>Section 1
      <ol>
      <li>Subsection 1.1</li>
      <li>Subsection 1.2</li>
      <li>Subsection 1.3</li>
      </ol>
      </li>
      <li>Section 2
      <ol>
      <li>Subsection 2.1</li>
      <li>Subsection 2.2</li>
      <li>Subsection 2.3</li>
      </ol>
      </li>
      <li>Section 3
      <ol>
      <li>Subsection 3.1</li>
      <li>Subsection 3.2</li>
      <li>Subsection 3.3</li>
      </ol>
      </li>
      </ol>
      </body>
      </html>
      

      CSS Counters - Reversed counter

      A reversed counter is a special kind of counter that counts backwards instead of forward. To create a reversed counter, name it with the reversed() function when you set it up with counter-reset.
      The reversed counters start with a default initial value equal to the number of elements, not zero. This means that it can simply count down from the number of elements to one.

      Syntax

      counter-reset: reversed(counter name);
      
      The reversed counter property is supported only by Firefox browser
      The following example demonstrates reversed counter (Execute this example in Firefox browser).
      <html>
      <head>
      <style>
      body {
      counter-reset: reversed(
      section);
      }
      p::before {
      counter-increment: section -1;
      content: "Section " counter(section) ": ";
      }
      </style>
      </head>
      <body>
      <p>This is fourth paragraph</p>
      <p>This is Third paragraph</p>
      <p>This is second paragraph</p>
      <p>This is first paragraph</p>
      </body>
      </html>
      
      The name of the counter should not be none, inherit or initial. If this is the case, the declaration is neglected.

      CSS Counter - Related Properties

      Following is the list of CSS properties of counter:
      property
      value
      counter-reset
      It is used to create or reset a counter.
      counter-set
      It is used to set a counter to given value.
      counter-increment
      It is used to increment the counter value.
      counter()
      It provides a string that represents the current value of named counter.
      counters()
      It is used to work with nested counters.
      @counter-styles
      It is used to create custom counter styles.
      contain
      Determines how the content of an element behaves when it is too wide to fit inside its container.