--- /dev/null
+<!doctype html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link href="../../../dist/css/bootstrap.min.css" rel="stylesheet">
+ <title>Form</title>
+ <style></style>
+ </head>
+ <body>
+ <div class="container">
+ <h1>Input <small>Bootstrap Visual Test</small></h1>
+
+ <h2>No layout</h2>
+
+ <div class="mb-3">
+ Text
+ <input class="form-control">
+ </div>
+ <div class="mb-3">
+ Email
+ <input type="email" class="form-control">
+ </div>
+ <div class="mb-3">
+ Number
+ <input type="number" class="form-control">
+ </div>
+ <div class="mb-3">
+ Date
+ <input type="date" class="form-control">
+ </div>
+
+ <h2>Flex</h2>
+
+ <div class="d-flex flex-wrap gap-3 mb-3">
+ <div>
+ Text
+ <input class="form-control">
+ </div>
+ <div>
+ Email
+ <input type="email" class="form-control">
+ </div>
+ <div>
+ Number
+ <input type="number" class="form-control">
+ </div>
+ <div>
+ Date
+ <input type="date" class="form-control">
+ </div>
+ </div>
+
+ <h2>Grid</h2>
+
+ <div class="row mb-3">
+ <div class="col">
+ Text
+ <input class="form-control">
+ </div>
+ <div class="col">
+ Email
+ <input type="email" class="form-control">
+ </div>
+ <div class="col">
+ Number
+ <input type="number" class="form-control">
+ </div>
+ <div class="col">
+ Date
+ <input type="date" class="form-control">
+ </div>
+ </div>
+ </div>
+
+ <script src="../../../dist/js/bootstrap.bundle.js"></script>
+ <script></script>
+ </body>
+</html>
}
}
- // Add some height to date inputs on iOS
- // https://github.com/twbs/bootstrap/issues/23307
- // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
&::-webkit-date-and-time-value {
+ // On Android Chrome, form-control's "width: 100%" makes the input width too small
+ // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109
+ //
+ // On iOS Safari, form-control's "appearance: none" + "width: 100%" makes the input width too small
+ // Tested under iOS 16.2 / Safari 16.2
+ min-width: 85px; // Seems to be a good minimum safe width
+
+ // Add some height to date inputs on iOS
+ // https://github.com/twbs/bootstrap/issues/23307
+ // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
// Multiply line-height by 1em if it has no unit
height: if(unit($input-line-height) == "", $input-line-height * 1em, $input-line-height);
+
+ // Android Chrome type="date" is taller than the other inputs
+ // because of "margin: 1px 24px 1px 4px" inside the shadow DOM
+ // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109
+ margin: 0;
}
// Prevent excessive date input height in Webkit