我不确定它是否有所作为,但这个问题与 Windows 8 应用程序中的 HTML5 有关。
我有以下输入表单:
<div class="input-form">
<form id="myData" >
<table>
<tr>
<td>Data1</td>
<td><input type="text" title="data1" id="data1" value="test" required /></td>
</tr>
<tr>
<td>Data2</td>
<td>
<div>
<input type="text" title="data2" id="data2" />
<button id="lookup">...</button>
</div>
</td>
</tr>
...
这个想法是用户单击省略号并发生某些事情(以帮助他们输入数据)。这可以正常工作,但是,在 Windows 8 应用程序中,您必须迎合快照模式。所以到目前为止,这是我的 CSS 样式来处理这个问题:
@media screen and (-ms-view-state: snapped) {
.homepage section[role=main] {
margin-left: 20px;
}
.input-form {
width:320px;
}
这给我的只是表格的第二列 - 这很好,但是对于带有椭圆的字段,我也希望能够看到椭圆。我尝试了各种方法:设置两个字段的宽度,设置表格宽度,但无论我做什么似乎都没有什么不同。
我知道有人会告诉我使用桌子是一件坏事,我会被判处地狱第七圈之类的;但在我使用表格之前,我尝试了各种其他方法,但都没有给我想要的表格效果。
所以我的问题是,我该如何设计表格?或者,如果这不可能,我该如何格式化我的 HTML 以使其显示为表格?
编辑:
只是为了澄清我已经尝试过其他方法:
<div class="input-form">
<form id="mailData" >
<div id="input-left">
<div>Data1</div>
<div>Data2</div>
</div>
<div id="input-centre">
<div><input type="text" title="data1" id="data1" value="test" required /></div>
<input type="text" title="data2" id="data2" />
</div>
<div id="input-right">
<div></div>
<button id="lookup">...</button>
</div>
</form>
以及以下样式:
.input-form {
margin-left:320px;
display:-ms-grid;
-ms-grid-rows:1fr;
-ms-grid-columns:auto auto auto;
height:100%;
}
#input-left {
-ms-grid-column: 1;
}
#input-centre {
-ms-grid-column: 2;
}
#input-right {
-ms-grid-column: 3;
}
这仅显示带有 Data1、Data2 标签的表单,下面是输入框。