ASP.NET:CSS网格行跨度

时间:2018-10-23 10:15:12

标签: html css asp.net

我在CSS网格中发现了许多有关行跨度的问题,但找不到适合我的问题的答案。

我有一个CSS类:

.grid-container
{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
    grid-column-gap: 5px;
    grid-row-gap: 5px;
    grid-template-rows: min-content;
    padding: 2px;
}

这个想法来自引导程序tbh,但是除ASP.NET之外,我不允许使用任何框架。

此外,我还有许多CSS类可将任何项目放置在网格内:

.grid-container .grid-item-1-3
{
    grid-column-start: 1;
    grid-column-end: 3;
}

例如,此类用于将项目从网格的最左侧扩展到两列。

我在应用程序的不同站点上使用这些类。每个站点都有不同的行数。 有时必须有一些控件必须跨越多行,并且我添加了更多的类,如下所示:

.grid-container .grid-item-span-2
{
    grid-row: span 2
}

如果我仅使用grid-item-span-2类,它会很好地工作。因此,它在适合该项目的列上跨越2行。但是,如果我另外使用其他类之一将该项目放置在特定的列范围内,则该项目将从下一个空行开始并从该行开始跨越。

我尝试举一个例子:

<div class="grid-container">
  <div class="grid-item-1-7">
    <label>Text 1</label>
  </div>
  <div class="grid-item-7-13 grid-item-span-2">
    <textarea></textarea>
  </div>
  <div class="grid-item-1-7">
    <label>Text 2</label>
  </div>
</div>

如果我这样做,则网格将创建3行,将textarea放置在右侧(按预期方式),但在第二行中。如果我省略类“ grid-item-7-13”,则网格仅具有两行(按预期),并且textarea正确跨两行,但被限制在第7行和第8行之间。

好吧,我刚刚意识到,当我使用jsfiddle或作为代码段对其进行测试时,它确实可以工作:

.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-column-gap: 5px;
  grid-row-gap: 5px;
  grid-template-rows: min-content;
  padding: 2px;
}

.grid-container .grid-item-1-5 {
  grid-column-start: 1;
  grid-column-end: 5;
}

.grid-container .grid-item-1-7 {
  grid-column-start: 1;
  grid-column-end: 7;
}

.grid-container .grid-item-5-13 {
  grid-column-start: 5;
  grid-column-end: 13;
}

.grid-container .grid-item-7-13 {
  grid-column-start: 7;
  grid-column-end: 13;
}

.grid-container .grid-item-span-2 {
  grid-row: span 2;
}

textarea {
  width: 99%;
  height: 99%;
}
<div class="grid-container">
  <div class="grid-item-1-7 grid-container">
    <div class="grid-item-1-5">
      <label>Text 1</label>
    </div>
    <div class="grid-item-5-13">
      <input type="text" />
    </div>
  </div>
  <div class="grid-item-7-13 grid-item-span-2 grid-container">
    <div class="grid-item-1-5">
      <label>Text 2</label>
    </div>
    <div class="grid-item-5-13">
      <textarea></textarea>
    </div>
  </div>
  <div class="grid-item-1-7 grid-container">
    <div class="grid-item-1-5">
      <label>Text 3</label>
    </div>
    <div class="grid-item-5-13">
      <input type="text" />
    </div>
  </div>
</div>

这意味着我的问题与ASP.NET有关,对吧?

In my ASP.NET application it looks like this

Comparison of fiddle and ASP.NET style from Chrome DevTools

有人可以帮我解决这个问题吗? ASP.NET是否可能不完全支持CSS网格? :(

非常感谢您的帮助。

0 个答案:

没有答案
相关问题