input type range의 구성 요소
input type range의 구성 요소
/* Webkit 기반 브라우저 - Chrome/Edge... */
[type="range"]::-webkit-slider-thumb {....}

/* 파이어폭스 */
[type="range"]::-moz-range-thumb {....}
/* Webkit 기반 브라우저 - Chrome/Edge... */
[type="range"]::-webkit-slider-runnable-track {....}

/* 파이어폭스 */
[type="range"]::-moz-range-track {....}
<input type="range">
실제 적용된 모습 마우스 커서로 슬라이더의 thumb을 좌우로 드래그해 보세요!
[type="range"] {
    appearance: none;
    cursor: pointer;
    outline: none;
    width: 100%;
    height: 1.5rem; /* thumb의 height와 일치 */
    margin: 0; /* reset margin */
    padding: 0; /* reset padding */
    background-color: transparent;
}

/* thumb */
[type="range"]::-webkit-slider-thumb { /* Webkit 기반 브라우저 */
    appearance: none;
    width: 1.5rem; /* height와 일치 */
    height: 1.5rem;
    border: none;
    border-radius: 50%;
    background-color: #007475;
    transition: all 0.15s ease-in-out;
    margin-top: calc((0.5rem - 1.5rem) * 0.5); /* calc((track의 height - thumb의 height) * 0.5) */
}
[type="range"]::-moz-range-thumb { /* 파이어폭스 */
    appearance: none;
    width: 1.5rem; /* height와 일치 */
    height: 1.5rem;
    border: none;
    border-radius: 50%;
    background-color: #007475;
    transition: all 0.15s ease-in-out;
}
[type="range"]:focus::-webkit-slider-thumb { /* Webkit 기반 브라우저 */
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(0, 116, 117, .4);
}
[type="range"]:focus::-moz-range-thumb { /* 파이어폭스 */
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(0, 116, 117, .4);
}
[type="range"]::-webkit-slider-thumb:active { /* Webkit 기반 브라우저 */
    background-color: #99c7c7;
}
[type="range"]::-moz-range-thumb:active { /* 파이어폭스 */
    background-color: #99c7c7;
}

/* track */
[type="range"]::-webkit-slider-runnable-track { /* Webkit 기반 브라우저 */
    cursor: pointer;
    width: 100%;
    height: 0.5rem;
    background-color: #d3d9de;
    border-radius: 0.25rem;
}
[type="range"]::-moz-range-track { /* 파이어폭스 */
    cursor: pointer;
    width: 100%;
    height: 0.5rem;
    background-color: #d3d9de;
    border-radius: 0.25rem;
}

/* disabled 속성 적용 시 */
[type="range"]:disabled::-webkit-slider-thumb { /* Webkit 기반 브라우저 */
    pointer-events: none;
    background-color: #8b9aa7;
}
[type="range"]:disabled::-moz-range-thumb { /* 파이어폭스 */
    background-color: #8b9aa7;
}
<input type="range" disabled>
disabled 속성이 적용된 모습 disabled 속성이 적용되어 드래그가 안 됩니다.

마지막 업데이트 정보: 2024-12-09

마지막 업데이트 정보: 2024-12-09