Dev Blog

스크립트 & 소스코드 공유

실무에서 유용하게 쓰는 스크립트와 코드 조각을 블로그 게시판으로 저장하고 공유합니다.

26건의 글

CSS로 OL 목록 번호에 앞자리 0 붙이기 (counter + ::before)

ol 목록의 번호를 01, 02처럼 10 미만에서 앞자리 0을 붙여 표시하는 CSS 방법이다. 기본 번호를 숨기고, ol에 counter-reset으로 카운터를 초기화한 뒤 li의 ::before에서 counter-increment로 증가시키고 content: counter(목록, decimal-leading-zero)로 번호를 생성하는 3가지 구현 방식을 정리했다.

要实现 有序列表(<ol>)的序号小于 10 时前面补零(如 01, 02, ..., 09, 10, 11...),核心思路是:隐藏默认序号,用 CSS 伪元素 ::before 动态生成带前导零的序号

以下是 3 种主流实现方法,从简单到灵活,覆盖不同场景:

一、最推荐:纯 CSS counter + ::before(无需 JS,兼容性好)

利用 CSS 计数器 counter-reset/counter-increment 统计列表项数量,再通过 ::before 伪元素显示序号,配合 content 拼接前导零。

核心原理:

  1. counter-reset: list-counter 0:在 <ol> 上初始化计数器,起始值为 0(默认从 1 开始,这里显式设 0 更清晰)。
  2. counter-increment: list-counter 1:在每个 <li> 上递增计数器,每次 +1。
  3. content: counter(list-counter, decimal-leading-zero):用 decimal-leading-zero 格式显示计数器(自动为 1-9 补零)。

CSS border-image로 이미지 테두리 만들기

CSS border-image 속성으로 이미지를 이용한 테두리를 만드는 CodePen 예제다. border-image-source에 이미지 URL을 지정하고 border-image-slice 값으로 9슬라이스 영역을 나누면, 이미지가 요소 테두리 전체에 자연스럽게 늘어나며 모서리와 변이 각각 다른 방식으로 표시된다.

See the Pen border-image by H J (@H-J-the-typescripter) on CodePen.

CSS fit-content 속성으로 콘텐츠 크기에 맞는 박스 만들기

CSS의 fit-content 속성을 활용해 박스 크기를 콘텐츠에 맞추는 CodePen 예제다. width나 height에 fit-content를 적용하면 요소가 내용물 크기만큼만 공간을 차지하도록 자동 조절된다. 버튼·배지·레이블 등 유연한 크기의 레이아웃을 만들 때 유용하다.

See the Pen fit-content by H J (@H-J-the-typescripter) on CodePen.

자바스크립트 없이 CSS popovertarget로 팝업창 만들기

JavaScript 없이 CSS의 popover 속성과 popovertarget 속성만으로 팝업창을 여닫는 방법을 보여주는 CodePen 예제다. 버튼 요소에 popovertarget="id"를 지정하고 대상 요소에 id와 popover 속성을 설정하면, 브라우저 기본 팝업 동작으로 모달을 구현할 수 있다.

See the Pen popovertarget by H J (@H-J-the-typescripter) on CodePen.



Let's create something great together.

프로젝트 문의 및 견적 요청은 언제든 환영합니다.