float: left
왼쪽의 항목을 사용하여 동일한 줄에 두 개의 항목을 갖고 싶습니다 .
나는 이것을 혼자 달성하는 데 아무런 문제가 없습니다. 문제는 브라우저 크기를 매우 작게 조정하더라도 두 항목 이 같은 줄에 유지 되기를 원한다는 것 입니다. 아시다시피 … 테이블과 같은 방식입니다.
목표는 무엇을하든 오른쪽에있는 물품이 포장 되지 않도록하는 것 입니다.
CSS를 사용하여 브라우저에 랩을 감싸는 것보다 스트레칭하는div
방법을 알려 주면 어떻게 float: right;
div가 아래에 float: left;
div
있습니까?
내가 원하는 것 :
\
+---------------+ +------------------------/
| float: left; | | float: right; \
| | | /
| | |content stretching \ Screen Edge
| | |the div off the screen / <---
+---------------+ +------------------------\
/
답변
이 크로스 브라우저 최소 너비 핵을 사용 <div>
하는 컨테이너에 플로팅을 래핑하십시오 <div>
.
.minwidth { min-width:100px; width: auto !important; width: 100px; }
당신은 할 수 있습니다 또한 일련의 “오버 플로우”그러나 아마하지 않도록해야합니다.
이것은 다음과 같은 이유로 작동합니다.
!important
과 함께 선언,min-width
원인 모든 IE7 +에서 같은 줄에 머물- IE6는을 구현하지 않지만 선언
min-width
을width: 100px
재정!important
의하여 컨테이너 너비를 100px로 만드는 버그 가 있습니다.
답변
다른 옵션은 부동 속성 대신 공백 속성을 이제 상위 div로 설정하는 것입니다.
.parent {
white-space: nowrap;
}
공백을 재설정하고 인라인 블록 디스플레이를 사용하여 div가 동일한 라인에 머물러 있지만 여전히 너비를 줄 수 있습니다.
.child {
display:inline-block;
width:300px;
white-space: normal;
}
다음은 JSFiddle입니다. https://jsfiddle.net/9g8ud31o/
답변
플로터의 너비 + 여백을 합한 것보다 최소 너비가 큰 div로 플로터를 감싸십시오.
해킹이나 HTML 테이블이 필요하지 않습니다.
답변
해결책 1 :
디스플레이 : 테이블 셀 (일반적으로 지원되지 않음)
해결책 2 :
테이블
(나는 해킹이 싫어.)
답변
다른 옵션 : 오른쪽 열을 띄우지 마십시오. 플로트 이상으로 이동하려면 왼쪽 여백을 지정하십시오. IE6을 수정하려면 해킹이 필요하지만 기본 아이디어입니다.
답변
플로팅 된 블록 수준 요소가이 문제에 대한 최상의 솔루션인지 확인 하시겠습니까?
내 경험에 CSS 어려움이있는 경우 종종 내가 원하는 일을하는 방법을 볼 수없는 이유는 마크 업과 관련하여 터널 비전에 빠졌기 때문입니다. 요소 가이 작업을 수행 하는 것이 아니라 “?
답변
이 문제에 테이블을 사용하는 것이 좋습니다. 비슷한 문제가 있으며 테이블이 일부 데이터를 표시하는 데 사용되고 기본 페이지 레이아웃이 아닌 한 괜찮습니다.