수평 및 수직 스크롤 막대가 모두 있는 고정 헤더 테이블을 구현하는 방법은 무엇입니까?
가로 스크롤 막대와 세로 스크롤 막대가 켜져 있는 고정 헤더 테이블
고정 헤더 테이블에 세로 스크롤 막대를 추가할 때 직면한 문제가 발생합니다. 헤더 테이블. 세로 스크롤 막대는 가로 스크롤 막대의 위치 지정을 방해합니다. 둘 다 외부 컨테이너 내의 공간을 두고 충돌하기 때문입니다.
HTML 및 CSS 구조
제공된 HTML 및 CSS 구조는 좋은 출발점이다. HTML은 헤더 테이블이 고정 위치로 설정되고 본문 테이블이 Overflow-y: 스크롤로 설정된 중첩된 테이블 구조로 구성됩니다. CSS는 머리글 셀과 본문 셀의 고정 높이와 너비를 포함하여 표 요소의 스타일을 정의합니다.
해결책
문제를 해결하려면 가로 및 세로 셀이 모두 필요합니다. 수직 스크롤바가 제대로 작동하려면 CSS와 JavaScript:
-
CSS:
- overflow-x 제거: 스크롤; .inner-container의 속성입니다.
- 특정 너비를 가진 클래스를 .inner-container에 추가합니다(예: "scroll-container").
-
JavaScript:
- 사용 .scroll-container의 너비를 계산하고 .table-body의 너비를 해당 너비로 설정하는 JavaScript입니다. 이렇게 하면 본문 테이블의 너비가 헤더 테이블과 일치하여 가로 스크롤 막대 문제가 방지됩니다.
예제 코드
업데이트된 예는 다음과 같습니다. 코드:
/* CSS */ .scroll-container { width: 100%; } /* JavaScript */ var scrollContainer = document.querySelector(".scroll-container"); var tableBody = document.querySelector(".table-body"); tableBody.style.width = scrollContainer.offsetWidth + "px";
설명
.inner-container에서 Overflow-x 속성을 제거하고 JavaScript를 통해 특정 너비를 설정함으로써 다음을 보장합니다. .table-body에는 가로 및 세로 스크롤을 모두 수용할 수 있는 올바른 너비가 있습니다. 이렇게 정렬하면 세로 스크롤 막대가 가로 스크롤 막대를 방해하는 것을 방지하고 둘 다 제대로 작동할 수 있습니다.
대체 솔루션
추가로 고려할 수 있는 다른 솔루션도 있습니다.
- 보다 유연하고 반응성이 뛰어난 레이아웃을 얻으려면 레이아웃에 CSS Grid 또는 Flexbox를 사용하세요.
- 이 기능 구현을 단순화할 수 있는 사전 구축된 구성 요소와 스타일을 제공하는 Bootstrap 또는 Materialize와 같은 CSS 라이브러리를 사용해 보세요.
위 내용은 수평 및 수직 스크롤 막대가 모두 있는 고정 헤더 테이블을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











다른 날, 나는 Corey Ginnivan의 웹 사이트에서 스크롤 할 때 카드 모음이 서로 쌓이는 것을 발견했습니다.

Google Fonts가 새로운 디자인 (트윗)을 출시 한 것을 볼 수 있습니다. 마지막 큰 재 설계와 비교할 때 이것은 훨씬 더 반복적 인 느낌이 듭니다. 차이를 간신히 말할 수 있습니다

프로젝트에 카운트 다운 타이머가 필요한 적이 있습니까? 그런 것은 플러그인에 도달하는 것이 당연하지만 실제로는 훨씬 더 많습니다.

플렉스 레이아웃의 보라색 슬래시 영역에 대한 질문 플렉스 레이아웃을 사용할 때 개발자 도구 (d ...)와 같은 혼란스러운 현상이 발생할 수 있습니다.

요소 수가 고정되지 않은 경우 CSS를 통해 지정된 클래스 이름의 첫 번째 자식 요소를 선택하는 방법. HTML 구조를 처리 할 때 종종 다른 요소를 만듭니다 ...

새로운 프로젝트가 시작될 때, Sass 컴파일은 눈을 깜박이게합니다. 특히 BrowserSync와 짝을 이루는 경우 기분이 좋습니다.

프론트 엔드 개발에서 Windows와 같은 구현 방법 ...
