当前位置: 首页 > 面试题库 >

具有ASCII艺术的网格模板区域不起作用

盖玉石
2023-03-14
问题内容

什么时候

grid-template-areas:
       "....... header  header"
       "sidebar content content";

更改为:

grid-template-areas:
       "....... header  header"
       "sidebar header content";

一切都崩溃了。

如何使用CSS Grid布局实现相同的效果?

body {

  margin: 40px;

}



.sidebar {

  grid-area: sidebar;

}



.content {

  grid-area: content;

}



.header {

  grid-area: header;

}



.wrapper {

  display: grid;

  grid-gap: 10px;

  grid-template-columns: 120px 120px 120px;

  grid-template-areas: "....... header  header"

                       "sidebar content content";

  background-color: #fff;

  color: #444;

}



.box {

  background-color: #444;

  color: #fff;

  border-radius: 5px;

  padding: 20px;

  font-size: 150%;

}



.header {

  background-color: #999;

}


<div class="wrapper">

  <div class="box header">Header</div>

  <div class="box sidebar">Sidebar</div>

  <div class="box content">Content</div>

</div>

问题答案:

当使用带有该grid-template-areas 属性的ASCII艺术作品时,当前存在一个重要的限制:
命名网格区域必须是矩形

换句话说, 不允许使用同名的俄罗斯方块形状的网格区域

此行为在规范的两个部分中定义。

7.3。 命名区域:the grid-template-areas属性

如果命名的网格区域跨越多个网格单元,但是这些单元不形成单个填充矩形,则声明无效。

在此模块的将来版本中,可能会允许非矩形或不连续区域。

9.放置网格项目

每个网格项目都有一个网格区域,即网格项目所占据的矩形网格单元集。

在第一个示例中,所有网格区域均形成矩形。因此,该规则有效。

grid-template-areas:
       "....... header  header"
       "sidebar content content";

在第二个示例中,该header区域形成非矩形形状。因此,该规则无效。

grid-template-areas:
       "....... header  header"
       "sidebar header content";

(请注意,句点(.)或一系列相连的句点(...)构成了一个 未命名的
网格区域,上面的规则不适用于该网格区域规范参考

幸运的是,网格提供了多种布局网格项目的方法。

而是grid-template-areas可以使用 基于行的放置

.wrapper {

  display: grid;

  grid-gap: 10px;

  grid-template-columns: 120px 120px 120px;

  grid-auto-rows: 100px;

  background-color: #fff;

  color: #444;

}



.header {

  grid-column: 2 / 4;

  grid-row: 1 / 3;

}



.sidebar {

  grid-column: 1 / 2;

  grid-row: 2 / 3;

}



.content {

  grid-column: 3 / 4;

  grid-row: 2 / 3;

}



.box {

  background-color: #444;

  color: #fff;

  border-radius: 5px;

  padding: 20px;

  font-size: 150%;

}



.header {

  background-color: #999;

}



body {

  margin: 40px;

}


<div class="wrapper">

  <div class="box header">Header</div>

  <div class="box sidebar">Sidebar</div>

  <div class="box content">Content</div>

</div>

请注意,的所有字符串值grid-template-areas必须具有相同的列数



 类似资料:
  • 大家好,我是html和css的新手,我有一个简单的问题:我写了这个html代码 我在6Times 1FR中为类name1、name2、name3创建了一个网格模板区域,重复为{port1 port1 port2 port2 port3 port3}以一行形式显示,当我给每个类提供三个网格区域中的一个时,它会像下面的图像一样显示。我想用网格系统将它们显示在一行中,你能帮我吗。我想要它们在页面上显示,

  • 问题内容: 我想使我的网站使用CSS网格系统,但似乎无法正常工作。这是我的代码: 问题答案: 使用该属性时,字符串值必须具有相同的列数。 您可以使用句点或句点的不间断行来表示一个空单元格(规范参考)。 从网格规范: [7.3。 命名区域:属性] 所有字符串的列数必须相同,否则声明无效。 如果命名的网格区域跨越多个网格单元,但是这些单元不形成单个填充矩形,则声明无效。 在此模块的将来版本中,可能会允

  • 当我用PHP curl发送这个json数据到Facebook Messenger Bot api时,它工作正常。 $jsonData='{“收件人”:{“id”:“'.$sender.”“}”,消息:{“文本”:“'.$obj.”“}”; 但是,当我从FB页面使用模板。模板不起作用 我试图编码成Json,替换一个按钮,什么都没发生。Facebook模板在messenger更新后无法使用,或者我需要

  • 对于以下代码: C++14编译器产生错误: 我很好奇为什么模板参数推导在这里不起作用。似乎,假定g的参数是int类型,我们可以推断f的参数是类型,因此f中的。为什么没有发生这种情况?我对C++标准中解释这一点的相关部分很感兴趣。T是否出现在这里的非推导上下文中? 因此,创建非推导上下文的不是尖括号。

  • 英文原文:http://emberjs.com/guides/templates/changing-scope/ 有些时候,你可能希望在模版中的一个特定部分使用不同的上下文: 例如,通过切换上下文,我们可以不需重复的指定属性的上下文路径,如下所示: 1 Welcome back, <b>{{person.firstName}} {{person.lastName}}</b>! 我们可以使用{{

  • 问题内容: 我想尝试使用模板文字,但它不起作用:它显示文字变量名称,而不是值。我正在使用Chromev50.0.2(和jQuery)。 例: 输出: 问题答案: JavaScript 模板文字 需要反引号,而不是直接引号。 您需要使用反引号(也称为“重音符”-您会在1键旁边找到)-而不是单引号-来创建模板文字。 反引号在许多编程语言中都很常见,但可能对JavaScript开发人员来说是新的。 范例