두 개의 수평 div에 대한 레이아웃 특성

레알

두 div를 수평으로 배치하려고 할 때 이상한 동작을 경험했습니다. 나는 파이어 폭스와 크롬 모두에 대해 동일한 동작을 얻었으므로 이해하지 못하는 레이아웃에 대해 더 깊은 것이있을 수 있음을 알았습니다.

내 HTML은 다음과 같습니다.

<div class="parent"><div class="cell left">a</div><div class="cell right">b</div></div>

공백을 피하기 위해 한 줄에 있습니다.

내 CSS는 다음과 같습니다.

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.parent {
  width: 100%;
  height: 100%;
  text-align: center;
  margin: 0;
  padding: 0;

}

.cell {
  height: 100%;
  display: inline-block;
  margin: 0;
  padding: 0;
  /* vertical-align: bottom; */ /* toggle this! */
}

.left {
  background-color: lightblue;
  width: 50%;
}

.right {
  background-color: royalblue;
  width: 50%;
}

여기에 jsfiddle 예제를 포함합니다 . 다음은 사진입니다.여기에 이미지 설명 입력

현재 코드가 올바르게 작동합니다. 화면 너비가 각각 50 % 인 두 개의 div가 있습니다.

첫 번째 특징 : div에 텍스트 없음

두 div에서 텍스트를 제거하면 첫 번째 문제가 발생합니다. 즉, 내 HTML이 다음과 같으면

<div class="parent"><div class="cell left"></div><div class="cell right"></div></div>

이 경우 세로 스크롤 막대가 표시됩니다. 그림:여기에 이미지 설명 입력

두 번째 특징 : 하나의 div에만 텍스트 :

이것은 정말 이상한 일이 일어나는 곳입니다. 다음과 같이 div 중 하나에 만 텍스트가있는 경우 :

<div class="parent"><div class="cell left">a</div><div class="cell right"></div></div>

텍스트가있는 div는 아래쪽으로 밀리고 다른 div는 변경되지 않습니다. 영화:여기에 이미지 설명 입력

여기에 이미지 설명 입력

해결책

나는 (시행 착오에 의해) 추가하면

vertical-align: bottom;

.cell로 모든 것을 수정합니다. 내 문제는 내가 왜 그런지 이해하지 못한다는 것이다. 여기서 무슨 일이 일어나고 있는지에 대한 설명을 듣게되어 기쁩니다.

Alohci

인라인 요소와 상자는 기본적으로 기준선에 수직으로 정렬됩니다. 라인에는 두 개가 아닌 세 개의 인라인 상자가 있습니다.

인라인 블록 요소에 텍스트가 포함 된 경우 해당 기준선은 포함 된 텍스트의 마지막 줄의 기준입니다. 콘텐츠가없는 경우 기준선은 상자의 하단입니다.

줄의 세 번째 상자는 스트럿 이라고합니다 . 그 목적은 선에 최소 높이를 제공하는 것입니다. 너비는 0이지만 포함 블록 글꼴의 텍스트 문자와 같으며 포함 블록에서 정의 된 행 높이를 갖습니다. 항상 기준선에 수직으로 정렬됩니다.

그래서 첫 번째 시나리오는 이것입니다.

여기에 이미지 설명 입력

두 번째 시나리오는 이것입니다. 스트럿의 하단이 상자 하단 아래에 있는지 확인하여 선의 총 높이가 뷰포트의 100 %보다 커서 스크롤바가 표시되도록합니다.

여기에 이미지 설명 입력

세 번째 시나리오는 이것입니다. 여기에 이미지 설명 입력

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

두 개의 다른 레이아웃에 대해 동일한 CSS

분류에서Dev

기본 상대 레이아웃 내에서 두 개의 상대 레이아웃 정렬

분류에서Dev

Android-수직 선형 레이아웃에서 한 줄에 두 개의 EditText 입력

분류에서Dev

Android : 동일한 레이아웃 / 유사한 기능에 대한 하나 또는 두 개의 활동

분류에서Dev

두 개의 개별 그래프에 대해 동일한 노드 위치 / 레이아웃 적용

분류에서Dev

HTML의 두 패널 레이아웃에 대한 컨테이너 높이

분류에서Dev

하나의 레이아웃에서 스크롤 할 수없는 두 개의 recyclerview

분류에서Dev

수평 차트 막대에 두 개의 Y 축 레이블 표시

분류에서Dev

각 두 항목에 대한 혼합 레이아웃의 Flutter 목록 항목

분류에서Dev

Gatsby에 대해 두 개의 다른 레이아웃에서 두 개의 StaticQuery 요소의 동일한 이름을 가질 수없는 이유는 무엇입니까?

분류에서Dev

두 개 이상의 레이아웃이 구성된 Ubuntu Touch에서 키보드 레이아웃을 변경하는 방법은 무엇입니까?

분류에서Dev

함수 값 매개 변수의 불변성에 대한 특성?

분류에서Dev

하나의 Angular 2 UI 구성 요소에 대한 여러 레이아웃

분류에서Dev

Flipboard 앱과 동일한 레이아웃에있는 두 개의 리사이클 러보기

분류에서Dev

레이아웃 문제 : 중앙에 두 개의 고정 된 열

분류에서Dev

레이아웃 중앙에 두 개의 이미지를 배치 할 수 없습니다.

분류에서Dev

Android : 동일한 모델의 두 휴대폰에서 화면 레이아웃이 다르게 보입니다.

분류에서Dev

RadioButton에 유효한 레이아웃 매개 변수

분류에서Dev

다른 항목이 침입하지 않는 한 레이블에 대한 자동 레이아웃 수평 정렬

분류에서Dev

두 개의 제한이있는 최대 쌍 수에 대한 알고리즘

분류에서Dev

선형 레이아웃에서 두 개의 editText를 수직으로 결합하는 방법

분류에서Dev

div 내부의 이중 요소에 대한 수평 센터링

분류에서Dev

상대적 레이아웃의보기를 테두리에 정렬

분류에서Dev

두 개의 요소 만있는 간단한 두 개의 열 레이아웃을 얻을 수있는 방법이 있습니까?

분류에서Dev

Azure 함수 앱-두 개의 특정 날짜에 대한 티머 트리거

분류에서Dev

두 개의 자식 레이아웃이있는 레이아웃에 스크롤바를 지정

분류에서Dev

위 / 아래의 다른 구성 요소와 함께 공통 구성 요소의 3 개 열에 대한 레이아웃 조정

분류에서Dev

우아한 방식으로 널 (null)에 대한 두 개의 인수를 확인

분류에서Dev

100 개의 특정성에 대한 레코드 반환

Related 관련 기사

  1. 1

    두 개의 다른 레이아웃에 대해 동일한 CSS

  2. 2

    기본 상대 레이아웃 내에서 두 개의 상대 레이아웃 정렬

  3. 3

    Android-수직 선형 레이아웃에서 한 줄에 두 개의 EditText 입력

  4. 4

    Android : 동일한 레이아웃 / 유사한 기능에 대한 하나 또는 두 개의 활동

  5. 5

    두 개의 개별 그래프에 대해 동일한 노드 위치 / 레이아웃 적용

  6. 6

    HTML의 두 패널 레이아웃에 대한 컨테이너 높이

  7. 7

    하나의 레이아웃에서 스크롤 할 수없는 두 개의 recyclerview

  8. 8

    수평 차트 막대에 두 개의 Y 축 레이블 표시

  9. 9

    각 두 항목에 대한 혼합 레이아웃의 Flutter 목록 항목

  10. 10

    Gatsby에 대해 두 개의 다른 레이아웃에서 두 개의 StaticQuery 요소의 동일한 이름을 가질 수없는 이유는 무엇입니까?

  11. 11

    두 개 이상의 레이아웃이 구성된 Ubuntu Touch에서 키보드 레이아웃을 변경하는 방법은 무엇입니까?

  12. 12

    함수 값 매개 변수의 불변성에 대한 특성?

  13. 13

    하나의 Angular 2 UI 구성 요소에 대한 여러 레이아웃

  14. 14

    Flipboard 앱과 동일한 레이아웃에있는 두 개의 리사이클 러보기

  15. 15

    레이아웃 문제 : 중앙에 두 개의 고정 된 열

  16. 16

    레이아웃 중앙에 두 개의 이미지를 배치 할 수 없습니다.

  17. 17

    Android : 동일한 모델의 두 휴대폰에서 화면 레이아웃이 다르게 보입니다.

  18. 18

    RadioButton에 유효한 레이아웃 매개 변수

  19. 19

    다른 항목이 침입하지 않는 한 레이블에 대한 자동 레이아웃 수평 정렬

  20. 20

    두 개의 제한이있는 최대 쌍 수에 대한 알고리즘

  21. 21

    선형 레이아웃에서 두 개의 editText를 수직으로 결합하는 방법

  22. 22

    div 내부의 이중 요소에 대한 수평 센터링

  23. 23

    상대적 레이아웃의보기를 테두리에 정렬

  24. 24

    두 개의 요소 만있는 간단한 두 개의 열 레이아웃을 얻을 수있는 방법이 있습니까?

  25. 25

    Azure 함수 앱-두 개의 특정 날짜에 대한 티머 트리거

  26. 26

    두 개의 자식 레이아웃이있는 레이아웃에 스크롤바를 지정

  27. 27

    위 / 아래의 다른 구성 요소와 함께 공통 구성 요소의 3 개 열에 대한 레이아웃 조정

  28. 28

    우아한 방식으로 널 (null)에 대한 두 개의 인수를 확인

  29. 29

    100 개의 특정성에 대한 레코드 반환

뜨겁다태그

보관