私はモバイルブラウザを対象としたApacheClickを使用してアプリケーションを開発しているので、主にナローディスプレイ(240ピクセル以上)で使用されることを期待しています。現在、私はsとsを含むorg.apache.click.control.Form
いくつかのsでaを使用しようとしています。org.apache.click.control.Field
TextField
Select
ただし、ページ全体の幅をたとえば240ピクセルに制限しようとすると、フォームは水平方向にオーバーフローするため、ユーザーは右にパンする必要があり、デザインが「見苦しい」ものになります。考えられる代替案は、それぞれの入力フィールドの上にラベルを配置することですが、Clickがそれぞれを2つのHTMLとしてレンダリングし、1つはとを含み、もう1つは(for class )を含むため、これField
を行う方法は見つかりませんでした。または(クラスの場合)。Field
<tr class="field">
<td>
<label>
<input>
TextField
<select>
Select
私が探求することを検討しているいくつかのアイデア:
- 私が知らない「CSSマジック」があり、ブラウザに「すべて
<td>
を重ねてレンダリングする」などの指示を与える可能性があることを認めます。 - 私が持っているもう1つのアイデア(これにはさらに作業が必要です)は、これらのクラスをサブクラス化し、HTMLレンダリングされるときに、ラベルとフィールドを明示的に重ね合わせることです。一部のモバイルブラウザ(たとえば、私がテストしたWindows Mobileベース)には「単一列に調整」オプションがありますが、これには明示的なユーザーの介入が必要です。OperaMobileなどの他のブラウザには同様のオプションはないようです。
- 別のラベルを明示的に配置
Field
し、空の文字列ラベルを付けます。これは「最も愚かな」解決策のようですが、比較的簡単でもあります。
私が言及も考えもしなかった、これを行うための比較的簡単な方法があるかもしれないことを望んでいます。したがって、クリックを構成する方法、CSSを使用する方法、またはその他の方法で、「デフォルト」の代わりに2つのフィールド要素(ラベルと実際の入力フィールド)を互いに重ねてレンダリングするHTMLを作成する方法についての提案を探しています。 「横に並べてクリックすると、「狭い」ディスプレイで貴重な画面が表示されます。
前もって感謝します。