기본적으로 코드에 혼란을 더하여 혼란을 더 많이 일으키므로 먼저 실제 문제를 이해하는 데 방해가되는 혼란을 제거하려고합니다.
우선 우리는 실제 질문이 무엇인지 확인해야합니다.
그 이유는 " inline-block
"요소가 아래로 밀린 이유 입니다.
이제 우리는 그것을 이해하고 혼란을 먼저 제거합니다.
1-
세 div 모두에 동일한 테두리 너비를 지정하지 않는 이유는 무엇입니까?
줘 보자
2- 플로팅 요소에 인라인 블록 요소가 아래쪽으로 눌려 있습니까? 아니요, 그것과 관련이 없습니다.
따라서 해당 div를 모두 제거했습니다 . 그리고 인라인 블록 요소가 아래로 밀리는 것과 동일한 동작을 목격하고 있습니다.
여기에 일부 문헌 이 줄 상자의 개념을 이해하고 동일한 줄에 줄이 어떻게 배열되어 있는지 질문의 답이 있기 때문에 마지막 단락을주의 깊게 읽습니다.
'inline-block'의 기준선은 유입 흐름 선 상자가 없거나 'overflow'속성에 'visible'이외의 계산 된 값이없는 경우 일반 흐름에서 마지막 선 상자의 기준선입니다. 이 경우 기준선은 아래쪽 여백 가장자리입니다.
기준 에 대해 잘 모르는 경우 간단한 단어로 간단한 설명이 있습니다.
'gjpqy'를 제외한 모든 문자는 기준선에 작성됩니다.이 "무작위 문자"바로 아래에 밑줄과 같은 간단한 수평선을 그리는 것처럼 기준선으로 생각할 수 있습니다. 그러면 'gjpqy'를 쓰면 기준선이됩니다. 같은 줄에있는 문자는이 문자의 아래 부분이 줄 아래로 떨어집니다.
따라서 'gjpqy'를 제외한 모든 문자는 기준선 위에 완전히 쓰여지고 일부 문자는 기준선 아래에 쓰여 있다고 말할 수 있습니다.
3- 왜 우리의 기준선이 어디에 있는지 확인하지 않습니까? 우리 라인 의 기준선을 나타내는 문자를 몇 개 추가했습니다 .
4- 왜 우리의 div에 문자를 추가하여 div에서 기준선을 찾을 수 없습니까? 여기에 기준선을 명확히하기 위해 div에 일부 문자가 추가되었습니다 .
이제베이스 라인에 대해 이해하면 인라인 블록의베이스 라인에 대한 다음 단순화 된 버전을 읽으십시오.
i) 문제의 인라인 블록이 overflow 속성을 visible로 설정 한 경우 (기본적으로 설정하지 않아도 됨) 그런 다음 기준선은 포함하는 블록 블록의 기준선이됩니다.
ii) 해당 인라인 블록의 overflow 속성이 OTHER THAN visible로 설정되어있는 경우. 그런 다음 아래쪽 여백은 포함 상자 행의 기준선에 있습니다.
이제 녹색 div로 무슨 일이 일어나고 있는지 개념을 명확히하기 위해 이것을 다시 살펴보십시오 . 아직 혼란이 있다면 여기에 포함 블록의 기준선을 설정하기 위해 녹색 div에 더 많은 문자가 추가 되고 녹색 div 기준선이 정렬됩니다.
글쎄, 나는 그들이 동일한 기준을 가지고 있다고 주장하고 있습니까? 권리?
5- 그렇다면 왜 그것들을 겹치지 말고 서로 잘 맞습니까? 그래서 세 번째 div -left : 35px; 그들이 지금 같은 기준을 가지고 있는지 확인하기 위해 ?
이제 우리는 첫 번째 요점이 증명되었습니다.
글쎄, 첫 번째 점에 대한 설명 후에 두 번째 점은 쉽게 소화 할 수 있으며 오버플로 속성이 표시 (숨김) 이외로 설정된 첫 번째 div는 선의 기준선에서 아래쪽 여백이 있음을 알 수 있습니다.
이제 몇 가지 실험을 통해 더 자세히 설명 할 수 있습니다.
- 첫 번째 div overflow : visible을 설정하십시오 (또는 완전히 제거하십시오) .
- visible 이외의 두 번째 div overflow를 설정하십시오 .
- visible 이외의 두 div overflow를 설정하십시오 .
이제 혼란을 다시 가져오고 모든 것이 잘 보이는지 확인하십시오.
- 떠 다니는 div를 가져 오십시오 (물론
몸의 너비 를 늘려야 함) 효과가 없습니다.
- 동일한 홀수 마진을 다시 가져옵니다 .
- 설정 오버 플로우 녹색 사업부 : 보이는 당신은 귀하의 질문에 설정된 (오정렬 그래서 만약 5px하는 1 x 1 픽셀에서 테두리 너비의 증가 때문이라고 부정적인 왼쪽 조정 이 더 문제가없는 볼 수 있습니다)
- 이제 내가 이해하는 데 도움에 추가 추가 문자를 제거합니다 . (물론 부정적인 왼쪽을 제거하십시오)
- 마지막으로 몸 폭을 줄일 수 없습니다 우리는 더 이상 하나의 넓은 필요가 있기 때문이다.
그리고 이제 우리는 처음부터 시작했습니다.
잘만되면 나는 당신의 질문에 대답했습니다.