我正在学习css网格,但我发现网格-模板-区域,列和行很难理解。我试图设计聊天屏幕布局,其中将有两列。左列将有对话列表,右列将有三行。一个作为聊天标题,它将被修复,另一行将用于消息列表,第三行将是发送消息的表单,该表单也将被修复。我试着按以下方式做,但它没有像预期的那样起作用
.chat-container {
display: grid;
grid-template-areas: "chat-list chat-title chat-title" "chat-list message-list message-list" "chat-list chat-form chat-form";
grid-template-columns: 200px 1fr;
border-radius: 10px;
height: 95vh;
width: 100%;
}
.chat-title {
padding: 10px;
background: blue;
}
.chat-list {
padding: 10px;
background: red;
}
.message-list {
padding: 10px;
background: green;
}
.chat-form {
padding: 10px;
background: yellow;
}<div class="chat-container">
<section class="chat-list">
Chat List
</section>
<section class="chat-title">Chat title</section>
<section class="message-list">
Message List
</section>
<section class="chat-form">Chat form</section>
</div>
我已经三次提到聊天列表的每一行,但我仍然没有看到聊天列表块与聊天形式。如何在右列有3行的情况下布局2列?
发布于 2020-04-07 09:28:54
您需要将这些区域分配给类:
.chat-container {
display: grid;
grid-template-areas: "chat-list chat-title chat-title" "chat-list message-list message-list" "chat-list chat-form chat-form";
grid-template-columns: 200px 1fr;
border-radius: 10px;
height: 95vh;
width: 100%;
}
.chat-title {
padding: 10px;
background: blue;
grid-area: chat-title; /* added */
}
.chat-list {
padding: 10px;
background: red;
grid-area: chat-list; /* added */
}
.message-list {
padding: 10px;
background: green;
grid-area: message-list; /* added */
}
.chat-form {
padding: 10px;
background: yellow;
grid-area: chat-form; /* added */
}<div class="chat-container">
<section class="chat-list">
Chat List
</section>
<section class="chat-title">Chat title</section>
<section class="message-list">
Message List
</section>
<section class="chat-form">Chat form</section>
</div>
https://stackoverflow.com/questions/61076686
复制相似问题