나는 당신이 위버 - 거룩한 우버 그레이 일을 찾고 있다고 생각합니다. 어쩌면 틀렸을 수도 있지만 CSS만으로는 가능하지 않다고 생각합니다. 너비가 최대 인 것처럼 최대 여백 같은 것이 없기 때문입니다. 그리고 JS (예를 들어 jQuery)를 사용하면 JS가 페이지가로드되고 준비 될 때까지 기다렸다가 너비 값을 계산하기 시작해야하기 때문에 일종의 위치 지정 점프가 발생합니다.
조금 다른 점을 기꺼이하고자한다면. 윈도우 크기와 결합 된 전체 네비게이션의 최대 너비를 정의한 다음 최신 브라우저에서 CSS를 사용하는 것이 좋습니다. modernizr.com을 사용하는 경우 IE8 용 CSS로 분기하여 display : table, table-row, table-cell을 대신 사용할 수 있습니다. IE7에서는 float 만 사용합니다.
현대적인 브라우저에서 디스플레이 : 테이블을 사용하지 않는 이유는 무엇입니까? 어쩌면 같은 모양 일지 모르지만 플렉스와 테이블에서 요소 간의 마진 차이가 다릅니다. 플렉스 내의 요소들 사이의 간격이 반드시 동일 (즉, 화소 현명)이지만, 이들은
table
+--------------------------------+---------+
| wide content in here | short |
+--------------------------------+---------+
6px 6px 2px 2px
flex
+----------------------------+-------------+
| wide content in here | short |
+----------------------------+-------------+
4px 4px 4px 4px
Upvoted 디스플레이 '대 (넓은 테이블 셀이 좁은 것보다 더 많은 공간을 확보 의미) 테이블에서 비교적 동일 표 , table-row, table-cell'- 개인적으로 (테이블 자체를 사용하는 것 이외에)이 CSS 속성을 사용하는 것에 대한 실용적인 대안을 볼 수 없습니다. – Mikey
표 : table, table-row 및 table-cell을 텍스트 정렬, 수직 정렬 및 다양한 패딩을 사용하여 원하는 유연성과 레이아웃을 얻을 수 있습니다. 나는 확실히이 구현 방법에 대해 두 번째 도전 과제에 직면하고있다. 일단 시도해보기로 결정했다면 그것은 산들 바람이었다. 그러나,이 방법이 머리글 (일반적으로 단추/입력에 포함 된 텍스트 한 줄로 구성)보다 복잡한 레이아웃에 사용될 수 있는지 확실하지 않습니다. –
너비와 결합 된 최대 너비 : 100 %도 여기에서 매우 효과적으로 사용할 수 있습니다. –