<input type="date" name="due_date" id="due_date" min="2011-09-01" maxlength="10" class="span8">
ユーザーが日付を選択するのに役立つ「ポップアップ」カレンダーを表示できるようにするために使用される Chromeなどの日付入力。昨日、動作が停止していることに気付きました。入力では、ユーザーは日付部分 (月/日/年) を上下に矢印でのみ指定できます。Chrome ブログにアクセスして Google 検索を実行しましたが、この変更に関する記述が見つかりません。の動作がinput type="date"
変わったのはなぜですか? 不思議なことに、 http://www.w3schools.com/html/tryit.asp? filename=tryhtml5_input_type_date にはまだ日付ピッカーが表示されているため、この変更は Bootstrap に限定されているようです。
3 に答える
Update Chromium チームはバグを受け入れ、パッチを WebKit に送り返しました。変更の要点は、input[type='date'] コントロールに適用されるスタイルに関係なく、日付コントロールが柔軟なボックス要素内にレンダリングされることです。
ここで言及されている欠陥を Chromium に報告したのは私です。提案された解決策の 1 つは、display: inline-block; を適用することです。カレンダーピッカーへ:
input[type="date"]::-webkit-calendar-picker-indicator{
display:inline-block;
}
ただし、input[type="date"] コントロールではコントロールが右寄せ以外の場所に移動しているため、これは不安定なソリューションです。
別のオプションは、右にフロートすることです。
input[type="date"]::-webkit-calendar-picker-indicator {
display:inline-block;
margin-top:2%;
float:right;
}
input[type="date"]::-webkit-inner-spin-button {
display:inline-block;
float:right;
}
これには、スピナー コントロールとカレンダー ピッカー コントロールが逆になるという副作用があります。
最良のハックは、スピナーを削除して正しくフロートすることだと思います。
input[type="date"]::-webkit-calendar-picker-indicator{
display:inline-block;
margin-top:2%;
float:right;
}
input[type="date"]::-webkit-inner-spin-button {
/* display: none; <- Crashes Chrome on hover */
-webkit-appearance: none;
margin: 0;
}
更新しました
問題が見つかりました
Bootstrap は 2 つのスタイル属性を使用します。
1 - display:inline-block Google に矢印を別の行に分割させる
2 -高さ: 20pxで、この「線」が見えなくなります
アップデート
Google Chrome の問題はリグレッションとしてマークされているため、これはすぐに修正される予定です。一時的な回避策として、以下が機能します。
input[type=date]::-webkit-calendar-picker-indicator {
display: inline-block;
}
このようにして、入力表示プロパティを好きなように設定しておくことができ、すべてが以前と同じように機能します。
元の応答
設定display: -webkit-inline-flex
( のデフォルトのようです<input type="date" />
) でこの問題は修正されますが、入力がインライン要素のように扱われるため、レイアウトが変更される可能性があります。
これは私にはバグのように思えます。誰かがすでにバグ レポートを提出しているかどうかを調べます。そうでない場合はそうします。