0
CSS grid-template-areas
을 배우려고합니다.CSS 그리드 템플릿 영역에서 손자 엘리먼트 이동하기
하지만 내 코드는 의도 영역 템플릿처럼 작동하지 않습니다 :
이은 "제목 제목"
이 "모두-A가-B 모두"
가 "왼쪽에서 오른쪽에"
는 "왼쪽 -b 오른쪽 -b "
모든 왼쪽 항목은 해당 항목 ("a "또는"b ") 오른쪽 항목의 왼쪽에 있어야합니다.
* {
border: 1px solid black;
}
.wrapper {
display: grid;
grid-template-areas: "title title"
"both-a both-b"
"left-a right-a"
"left-b right-b";
}
.wrapper > header {
grid-area: title;
}
.both > .topic-a {
grid-area: both-a;
}
.both > .topic-b {
grid-area: both-b;
}
.left > .topic-a {
grid-area: left-a;
}
.left > .topic-b {
grid-area: left-b;
}
.right > .topic-a {
grid-area: right-a;
}
.right > .topic-b {
grid-area: right-b;
}
.left-side {
color: red;
}
.right-side {
color: blue;
}
<article class="wrapper">
<header><h1>Title</h1></header>
<section class="both">
<section class="topic-a">
<ol>
<li>both-A 1st item</li>
<li>2nd item</li>
<li>3rd item</li>
</ol>
</section>
<section class="topic-b">
<ol>
<li>both-B 1st item</li>
<li>2nd item</li>
<li>3rd item</li>
</ol>
</section>
</section>
<section class="left-side">
<section class="topic-a">
<ol>
<li>left-A 1st item</li>
<li>2nd item</li>
<li>3rd item</li>
<li>nth item</li>
<li>nth item</li>
<li>nth item</li>
<li>nth item</li>
<li>nth item</li>
</ol>
</section>
<section class="topic-b">
<ol>
<li>left-B 1st item</li>
<li>2nd item</li>
<li>3rd item</li>
</ol>
</section>
</section>
<section class="right-side">
<section class="topic-a">
<ol>
<li>right-A 1st item</li>
<li>2nd item</li>
<li>3rd item</li>
</ol>
</section>
<section class="topic-b">
<ol>
<li>right-B 1st item</li>
<li>2nd item</li>
<li>3rd item</li>
<li>nth item</li>
<li>nth item</li>
<li>nth item</li>
<li>nth item</li>
<li>nth item</li>
</ol>
</section>
</section>
</article>
그리드는 부모 - 자식 관계에 노력하고 있습니다. 그리드의 그랜드 자식에게 그리드 영역 스타일을 지정하면 효과가 없습니다. – vals
@vals 아, 알겠습니다! 헤즈 업에 감사드립니다! 그리드를 중첩시켜야합니까? 아니면 flexboxes? 문제는 남아 있지만, 이들은 다른 섹션의 아이들입니다. 어쩌면 부모를 삭제하고 손주 대신에 아이들로 만들어야합니다. – flen
글쎄요, 결정은 당신 것입니다 ...하지만 아마 격자 안쪽에 플렉스 박스를 중첩해야합니다. 내가 볼 수있는 레이아웃 – vals