나는 읽고 읽고 있었고 나는 여전히 왜 그리고 왜 min-content가이 예에서 나를 실패하는 것처럼 보이는지 이해하고 있습니다.
다음 HTML이 있습니다 (한 프로젝트에서 가져와 좋은 예의 요점으로 단순화 됨).
<div class="lo_buttons">
<div class="lo_reload_icon">
<img src="https://cdn4.iconfinder.com/data/icons/24x24-free-application-icons/24/Apply.png" style="vertical-align: middle;">
</div>
<div class="lo_reload">
<button type="button" class="button_left" id="btnReload">
<img src="https://cdn2.iconfinder.com/data/icons/c9d/go.png" class="img_button">
</button>
</div>
<div class="lo_shortcuts">
<button type="button" class="button_left" id="btn1">1</button>
<button type="button" class="button_left" id="btn2">2</button>
<button type="button" class="button_left" id="btn3">3</button>
<button type="button" class="button_left" id="btn4">4</button>
</div>
<div class="lo_space">
</div>
<div class="lo_utils">
<button type="button" class="button_right" id="btn1">1</button>
<button type="button" class="button_right" id="btn2">2</button>
<button type="button" class="button_right" id="btn3">3</button>
</div>
</div>
및 다음 CSS :
.lo_buttons {
grid-area: lo_buttons;
display: grid;
grid-template-columns: min-content;
grid-auto-rows: min-content min-content min-content 1fr min-content;
grid-column-gap: 5px;
grid-template-areas: "lo_reload lo_reload_icon lo_shortcuts lo_space lo_utils";
white-space: nowrap !important;
}
.lo_reload { grid-area: lo_reload; }
.lo_reload_icon { grid-area: lo_reload_icon; }
.lo_shortcuts { grid-area: lo_shortcuts; }
.lo_utils { grid-area: lo_utils; }
.lo_space { grid-area: lo_space; }
.button_left {
float: left;
margin-right: 0.5em;
margin-bottom: 5px;
}
.button_right {
float: right;
margin-left: 0.5em;
margin-bottom: 5px;
}
모두 다음 위치에 있습니다.
https://codepen.io/bernd-wechner/pen/NWPwOXP
(내가 그걸 가지고 놀 수있는 곳)
제가 가지고있는 퍼즐은 왼쪽에있는 눈금 아이콘에 꼭 맞는 숫자 1 2 3 4 버튼 그룹을 원한다는 것입니다. 아이콘이있는 div는 최소 콘텐츠이지만 아이콘보다 훨씬 더 많은 공간을 소비합니다. 내가 여기서 무엇을 놓치고 있습니까? 그리고 min-content는 왜 그리드 셀을 아이콘만큼 넓게 유지하지 않습니까?
당신이 사용하는 grid-auto-rows
이 있어야 할 곳에 grid-template-columns
그것은해야 max-content
하지 min-content
때문에 min-content
라인 중단을 고려 폭 최소를 얻고 난 당신이 버튼을 같은 행에 남아한다고 가정합니다.
.lo_buttons {
grid-area: lo_buttons;
display: grid;
grid-auto-columns: min-content; /* maybe auto-columns here ?*/
grid-template-columns: max-content max-content max-content 1fr max-content;
grid-column-gap: 5px;
grid-template-areas: "lo_reload lo_reload_icon lo_shortcuts lo_space lo_utils";
/*white-space: nowrap !important; useless*/
}
.lo_reload { grid-area: lo_reload; }
.lo_reload_icon { grid-area: lo_reload_icon; }
.lo_shortcuts { grid-area: lo_shortcuts; }
.lo_utils { grid-area: lo_utils; }
.lo_space { grid-area: lo_space; }
.button_left {
float: left;
margin-right: 0.5em;
margin-bottom: 5px;
}
.button_right {
float: right;
margin-left: 0.5em;
margin-bottom: 5px;
}
<div class="lo_buttons">
<div class="lo_reload_icon">
<img src="https://cdn4.iconfinder.com/data/icons/24x24-free-application-icons/24/Apply.png" style="vertical-align: middle;">
</div>
<div class="lo_reload">
<button type="button" class="button_left" id="btnReload">
<img src="https://cdn2.iconfinder.com/data/icons/c9d/go.png" class="img_button">
</button>
</div>
<div class="lo_shortcuts">
<button type="button" class="button_left" id="btn1">1</button>
<button type="button" class="button_left" id="btn2">2</button>
<button type="button" class="button_left" id="btn3">3</button>
<button type="button" class="button_left" id="btn4">4</button>
</div>
<div class="lo_space">
</div>
<div class="lo_utils">
<button type="button" class="button_right" id="btn1">1</button>
<button type="button" class="button_right" id="btn2">2</button>
<button type="button" class="button_right" id="btn3">3</button>
</div>
</div>
나는 당신도 사용하려고 시도 white-space:nowrap
했지만 제거해야만 작동 하며이 경우 줄 바꿈을 비활성화했기 때문에 동일한 결과를 얻을 float
수 있으므로 유지할 수 있습니다.min-content
max-content
.lo_buttons {
grid-area: lo_buttons;
display: grid;
grid-auto-columns: min-content; /* maybe auto-columns here ?*/
grid-template-columns: min-content min-content min-content 1fr min-content;
grid-column-gap: 5px;
grid-template-areas: "lo_reload lo_reload_icon lo_shortcuts lo_space lo_utils";
white-space: nowrap ;
}
.lo_reload { grid-area: lo_reload; }
.lo_reload_icon { grid-area: lo_reload_icon; }
.lo_shortcuts { grid-area: lo_shortcuts; }
.lo_utils { grid-area: lo_utils; }
.lo_space { grid-area: lo_space; }
.button_left {
margin-bottom: 5px;
}
.button_right {
margin-bottom: 5px;
}
<div class="lo_buttons">
<div class="lo_reload_icon">
<img src="https://cdn4.iconfinder.com/data/icons/24x24-free-application-icons/24/Apply.png" style="vertical-align: middle;">
</div>
<div class="lo_reload">
<button type="button" class="button_left" id="btnReload">
<img src="https://cdn2.iconfinder.com/data/icons/c9d/go.png" class="img_button">
</button>
</div>
<div class="lo_shortcuts">
<button type="button" class="button_left" id="btn1">1</button>
<button type="button" class="button_left" id="btn2">2</button>
<button type="button" class="button_left" id="btn3">3</button>
<button type="button" class="button_left" id="btn4">4</button>
</div>
<div class="lo_space">
</div>
<div class="lo_utils">
<button type="button" class="button_right" id="btn1">1</button>
<button type="button" class="button_right" id="btn2">2</button>
<button type="button" class="button_right" id="btn3">3</button>
</div>
</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다