Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如果CSS网格的项是角度组件,则该网格不工作_Angular_Css_Css Grid - Fatal编程技术网

Angular 如果CSS网格的项是角度组件,则该网格不工作

Angular 如果CSS网格的项是角度组件,则该网格不工作,angular,css,css-grid,Angular,Css,Css Grid,我有一个工作代码(在HTML/CSS网格中),它由3行2列的CSS网格组成。第一行是导航(跨越所有列),中间是内容(不跨越所有列),最后一行是页脚(跨越所有列) 将元素放置在网格中适当位置的css是 .css-grid-item__nav{ grid-column: 1 / -1; //nav takes 1st row, all columns grid-row: 1 / 2; } .css-grid-item__practice-div{ grid-column: 1 / 2;

我有一个工作代码(在HTML/CSS网格中),它由3行2列的
CSS网格组成。第一行是导航(跨越所有列),中间是内容(不跨越所有列),最后一行是页脚(跨越所有列)

将元素放置在网格中适当位置的
css

.css-grid-item__nav{
  grid-column: 1 / -1; //nav takes 1st row, all columns
  grid-row: 1 / 2;
}

.css-grid-item__practice-div{
  grid-column: 1 / 2; //middle has two divs. This should go in row2, column1
  grid-row: 2 / 3;
  align-self: center;
  justify-self:end;
}

.css-grid-item__create-div{
  grid-column: 2 / 3; //middle has two divs. This should go in row2, column2
  grid-row: 2 / 3;
  align-self: center;
  justify-self:start;

}

.css-grid-item__footer{
  grid-column: 1 / -1; //footer goes in row 3, all columns
  grid-row: 3 / -1;
  background-color: white;
  color:black;

}
HTML看起来如下所示:

<body class="body__div--background"  >

  <div class="css-grid-container">

    <nav class="navbar navbar-expand-lg navbar-light bg-light css-grid-item__nav"> 
     ... 
    </nav>

    <div class="css-grid-container__practice-div">  
    ...
    </div>
    <div class="css-grid-item__create-div">
    ...
    </div>

    <div class="css-grid-item__footer">
    ...
    </div>
  </div>

</body>
它的css有以下内容

<nav class="navbar navbar-expand-lg navbar-light bg-light css-grid-item__nav"> ... </nav>
.css-grid-item__nav{
  grid-column: 1 / -1;
  grid-row: 1 / 2;
}
应用程序组件的HTML如下所示:

<div class="body__div--background"  >

  <div class="css-grid-container">
    <app-nav-component></app-nav-component>
    <app-content-component></app-content-component>
    <app-footer-component></app-footer-component>
  </div>

</div>

但是,导航组件和页脚组件仅占用一列,而不是所有列。内容组件的两个div位于第2列,而不是网格中的每一列


我怎样才能使我的代码正常工作?

代码不能正常工作,因为

<app-nav-component></app-nav-component>

它会工作。

我更喜欢在组件的css文件中使用
:host
伪类选择器。因此:

<app-nav-component></app-nav-component>

这与@nithalqb的建议相同,但它允许您将特定于组件的所有css样式保存在一个文件中。这使它成为我的首选方法,但请使用对您有意义的任何方法。

对不起,我不遵循。app nav组件()已经有class
css-grid-item\uuu nav
。它的css已经是
.css-grid-item_uunav{grid column:1/-1;grid row:1/2;}
Hi,Manu。若你们在浏览器中检查,你们可以看到你们的html,就像我在下面提到的:。。。因此,现在网格容器子元素是自定义html标记,而不是标记。谢谢。我将在几分钟后尝试,并分享我的观察结果。不幸的是,它没有起作用。我进一步简化了应用程序。现在容器只包含
(删除了其他组件),但是导航组件仍然没有跨越两个columnsapologies,这次我得到了它。我在一个错误的css文件中添加了
app nav组件
。它应该被添加到包含代码的html的css文件中
app-nav-component {
   grid-column: 1 / -1;
   grid-row: 1 / 2;
}
<app-nav-component></app-nav-component>
:host {
    grid-column: 1 / -1;
    grid-row: 1 / 2;
}