> 웹 프론트엔드 > CSS 튜토리얼 > 내 컨테이너의 높이가 내용과 일치해도 컨테이너에 세로 스크롤 막대가 표시되는 이유는 무엇입니까?

내 컨테이너의 높이가 내용과 일치해도 컨테이너에 세로 스크롤 막대가 표시되는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-29 02:57:10
원래의
451명이 탐색했습니다.

Why Does My Container Show a Vertical Scrollbar Even When Its Height Matches Its Content?

세로 스크롤 막대 문제 이해

.displayContainer div가 하위 요소와 높이가 같은 경우 불필요한 수직 스크롤 막대. 이는 타이포그래피에서 중요한 역할을 하는 미묘한 CSS 기본 설정인 수직 정렬: 기준선으로 인해 발생합니다.

Vertical-Align and Baseline

Inline- 인라인 블록 div를 포함한 레벨 요소에는 기본 수직 정렬 값인 기준선이 있습니다. 이 설정은 잠재적 디센더를 수용하기 위해 요소 아래에 공간을 예약합니다. 디센더는 "j", "g" 또는 "p"와 같이 기준선 아래로 확장되는 소문자입니다.

기준선 및 디센더

이 예약된 디센더 공간으로 인해 인라인 블록 요소는 컨테이너의 아래쪽 가장자리에서 약간 높아져 컨테이너 내부에 추가 높이를 생성할 수 있습니다. 이 추가 높이로 인해 오버플로가 발생하고 세로 스크롤 막대가 나타납니다.

세로 스크롤 막대 제거

세로 스크롤 막대를 제거하려면 다음을 수정하세요. 하위 요소 또는 상위 컨테이너의 수직 정렬 설정. 다음은 몇 가지 옵션입니다.

1. 수직 정렬

하위 요소의 수직 정렬 값을 아래쪽(또는 다른 유효한 값)으로 변경합니다.

.sideBar, .contentHolder {
  vertical-align: bottom;
}
로그인 후 복사

2. Display: Block

하위 요소를 display: inline-block에서 display: block:

.sideBar, .contentHolder {
  display: block;
}
로그인 후 복사

3으로 변환합니다. Line-Height 설정: 0

상위 컨테이너에서 line-height를 0으로 설정합니다:

.displayContainer {
  line-height: 0;
}
로그인 후 복사

4. 글꼴 크기 설정: 0

상위 컨테이너에서 글꼴 크기를 0으로 설정합니다. 필요한 경우 하위 요소의 글꼴 크기를 재정의할 수 있습니다.

.displayContainer {
  font-size: 0;
}

.sideBar, .contentHolder {
  font-size: 16px;
}
로그인 후 복사

이러한 솔루션을 구현하면 원하는 레이아웃을 유지하면서 세로 스크롤 막대를 제거할 수 있습니다.

위 내용은 내 컨테이너의 높이가 내용과 일치해도 컨테이너에 세로 스크롤 막대가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿