違いがあるかどうかはわかりませんが、この質問は 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;
}
これで得られるのは、テーブルの 2 番目の列だけです。これは問題ありませんが、楕円のあるフィールドについては、楕円も表示できるようにしたいと考えています。2 つのフィールドの幅の設定、テーブルの幅の設定など、さまざまなことを試しましたが、何をしても違いはないようです。
テーブルを使うのは悪いことだと誰かが私に言うだろうと私は知っています。しかし、テーブルを使用する前に、他のさまざまなアプローチを試しましたが、どれも私が望んでいたテーブル効果をもたらしませんでした.
だから私の質問は、どうすればテーブルのスタイルを整えることができるかということです。または、それが不可能な場合、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 ラベルの後に入力ボックスが続くフォームを表示するだけです。