Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'site/content/docs/5.0/forms/file.md')
-rw-r--r--site/content/docs/5.0/forms/file.md73
1 files changed, 73 insertions, 0 deletions
diff --git a/site/content/docs/5.0/forms/file.md b/site/content/docs/5.0/forms/file.md
new file mode 100644
index 0000000000..466e7b0950
--- /dev/null
+++ b/site/content/docs/5.0/forms/file.md
@@ -0,0 +1,73 @@
+---
+layout: docs
+title: File browser
+description: Use our custom file inputs for consistent cross-browser styling, built-in customization, and lightweight JavaScript.
+group: forms
+toc: true
+---
+
+{{< callout info >}}
+The recommended plugin to animate custom file inputs is [bs-custom-file-input](https://www.npmjs.com/package/bs-custom-file-input); it's what we use here in our docs.
+{{< /callout >}}
+
+## Default
+
+The file input is the most gnarly of the bunch and requires additional JavaScript if you'd like to hook them up with functional *Choose file...* and selected file name text.
+
+{{< example >}}
+<div class="form-file">
+ <input type="file" class="form-file-input" id="customFile">
+ <label class="form-file-label" for="customFile">
+ <span class="form-file-text">Choose file...</span>
+ <span class="form-file-button">Browse</span>
+ </label>
+</div>
+{{< /example >}}
+
+Add the `disabled` attribute to the `<input>` and the custom markup will be updated to appear disabled.
+
+{{< example >}}
+<div class="form-file">
+ <input type="file" class="form-file-input" id="customFileDisabled" disabled>
+ <label class="form-file-label" for="customFileDisabled">
+ <span class="form-file-text">Choose file...</span>
+ <span class="form-file-button">Browse</span>
+ </label>
+</div>
+{{< /example >}}
+
+Longer placeholder text is truncated and an ellipsis is added when there's not enough space.
+
+{{< example >}}
+<div class="form-file">
+ <input type="file" class="form-file-input" id="customFileLong">
+ <label class="form-file-label" for="customFileLong">
+ <span class="form-file-text">Lorem ipsum posuere consectetur est at lobortis nulla vitae elit libero a pharetra augue fusce dapibus tellus ac cursus commodo tortor mauris condimentum nibh ut fermentum massa justo sit amet risus cras mattis consectetur purus sit amet fermentum</span>
+ <span class="form-file-button">Browse</span>
+ </label>
+</div>
+{{< /example >}}
+
+We hide the default file `<input>` via `opacity` and instead style the `<label>`, and declare a `width` and `height` on the `<input>` for proper spacing for surrounding content.
+
+## Sizing
+
+You may also choose from small and large file inputs to match our similarly sized text inputs.
+
+{{< example >}}
+<div class="form-file form-file-lg mb-3">
+ <input type="file" class="form-file-input" id="customFileLg">
+ <label class="form-file-label" for="customFileLg">
+ <span class="form-file-text">Choose file...</span>
+ <span class="form-file-button">Browse</span>
+ </label>
+</div>
+
+<div class="form-file form-file-sm">
+ <input type="file" class="form-file-input" id="customFileSm">
+ <label class="form-file-label" for="customFileSm">
+ <span class="form-file-text">Choose file...</span>
+ <span class="form-file-button">Browse</span>
+ </label>
+</div>
+{{< /example >}}