我正在使用CSS网格布局,在尝试使文本框填充它所在的div容器时遇到了困难。它对某些控件(如GridView/GoogleMap)似乎工作得很好,但当我尝试使用TextBox时,它只填充一列的宽度,即使div填充了3-4列。
下面是网格容器的示例CSS,以及用于填充所有列的示例
.grid-container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, 1fr);
-ms-grid-columns: repeat(2, 1fr);
grid-gap: 1em;
}
@media (min-width: 52em) {
.grid-container {
width: 95%;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(20em, 1fr));
-ms-grid-columns: repeat(auto-fit, minmax(20em, 1fr));
grid-gap: 1em;
}
}
.item-max-columns {
grid-column: 1 / -1;
background-color: aqua;
}
此GooleMap控件在填充屏幕的所有列中正确显示(GridViews也正确显示)
<div class="item-max-columns">
<map:GoogleMap ID="JobMap" Width="100%" runat="server" DefaultAddress="Edmonton, Alberta"></map:GoogleMap>
<map:GoogleMarkers ID="JobMapMarkers" TargetControlID="JobMap" runat="server"></map:GoogleMarkers>
</div>
但是,当我尝试插入宽度为100%的TextBox时,它只填充一列
<div class="item-max-columns">
Project Description
<asp:TextBox ID="txtProjectDescription" runat="server" Enabled="true" TextMode="MultiLine" Width="100%"></asp:TextBox>
</div>
这里有一个指向JSFiddle的链接,它用输入字段而不是TextBox再现了问题。我希望输入字段/文本框跨越整个div标记,而不仅仅是第一列。
https://jsfidle.net/zuvdx2xn/
CSS宽度问题
我通过更新CSS来包括
.textbox{
width: calc(100% - 2em);
}
和Input/TextBox控件
<input type="text" id="txtVal2" class="textbox" style="max-width: 100%;" />
null
.grid-container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(2, 1fr);
-ms-grid-columns: repeat(2, 1fr);
grid-gap: 1em;
}
.textbox{
width: calc(100% - 2em);
}
@media (min-width: 52em) {
.grid-container {
width: 95%;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(20em, 1fr));
-ms-grid-columns: repeat(auto-fit, minmax(20em, 1fr));
grid-gap: 1em;
}
.textbox{
width: calc(100% - 2em);
}
}
.item-max-columns {
grid-column: 1 / -1;
background-color: aqua;
}
<section class="grid-container">
<div class="item-max-columns">
<p>Project Description</p>
<input type="text" id="txtVal2" class="textbox" style="max-width: 100%;" />
</div>
<div class="item-max-columns">
<p>Instructions</p>
<input type="text" id="txtVal2" class="textbox" style="max-width: 100%;" />
</div>
</section>
问题内容: 范例GUI大家好,我有 问题。如果有人可以帮助,那就太好了。我正在使用border和 gridlayout,并且试图拆分GUI,但是这没有发生,因为我希望 按钮占整体的一小部分,可以说是1/5,但目前 超过了GUI的一半。我也尝试将按钮放在尺寸上, 但是我不确定这是否是一个好习惯。我有两个类,一个是 RunFurniture,它是框架的主要方法,另一个是 GUI的PanelFurnit
随着CSS网格布局模块即将在Firefox和Chrome中发布,我想我应该尝试一下如何使用它。 我尝试创建一个简单的网格,其中一个项目横跨所有行的左侧,其他项目(、、、等)横跨各个行的右侧。横过行右侧的项的数量是可变的,因此可能存在、、、等的任何组合,因此我使用了属性。因此,我无法为定义要跨转的固定行数,但我希望跨转所有可用行。 null null 要使跨越所有行而不知道最终会有多少行,我应该做什
每一个网格项目都有一个矩形的网格区域,这个网格区域定义了该网格项的包含块,对齐属性(justify-self 和 align-self)确定其实际位置。 网格项占用的单元格也会影响网格的行和列的大小,参看网格尺寸(Grid Sizing)。 网格区域在网格内的位置通过1个网格位置和1个网格跨度属性来定义: grid position 表示网格项在网格中的位置。该属性可以是确定的(被显式定义)或自动
网格模板(grid-template)属性及其普通写法(longhands)定义了一个固定数量的轨道,构成显式网格。 当网格项目定位在这些界限之外,网格容器通过增加隐式网格线生成隐式网格轨道。 这些隐含的和显式的网格线一起构成隐式网格(implicit grid)。 隐式网格轨道的尺寸由网格自动行(grid-auto-rows)和网格自动列(grid-auto-columns)属性来确定。 网格自
网格模板区域(grid-template-areas)、网格模板行(grid-template-rows)和网格模板列(grid-template-columns),这3个属性共同显式定义了一个网格容器。而网格模板(grid-template)属性是一个用来同时设置这3个属性的速写(shorthand)。 grid items内容可能会超出显式网格,这时网格容器会自动生成隐式轨道(implicit
网格布局中,网格容器(grid container)中的内容是通过在网格(grid)中定位和对齐来摆放的。 网格(grid)本质上是一个把网格容器(grid container)通过一组横竖向垂直相交的网格线(grid lines)所划分的格子区域,从而网格项(grid items)(代表grid container中的内容)可以被放进这些格子中。 有两组网格线(grid lines): 一组用来