diff options
| author | Mark Otto <[email protected]> | 2018-04-09 09:00:23 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-04-09 09:00:23 -0700 |
| commit | 8f7bd419935adfcd53c471a0202083464800619e (patch) | |
| tree | d0e6ab018a0f41b59a1206cf72ffc79a474e69b9 /docs/4.0/components/input-group.md | |
| parent | 91730a644f107ca80a747a6f7f0c173eca5708fa (diff) | |
| download | bootstrap-4.1.0.tar.xz bootstrap-4.1.0.zip | |
Ship v4.1.0 (#26218)v4.1.0
* update docs path from docs/4.0/ to docs/4.1/
* bump version to 4.1.0
* Update redirects to work for 4.1 docs move
* Update docs version switcher to include latest and link to 4.0 docs
* re-run dist
* Update package-lock.json
* Update docs-navbar.html
Diffstat (limited to 'docs/4.0/components/input-group.md')
| -rw-r--r-- | docs/4.0/components/input-group.md | 361 |
1 files changed, 0 insertions, 361 deletions
diff --git a/docs/4.0/components/input-group.md b/docs/4.0/components/input-group.md deleted file mode 100644 index fddca987a..000000000 --- a/docs/4.0/components/input-group.md +++ /dev/null @@ -1,361 +0,0 @@ ---- -layout: docs -title: Input group -description: Easily extend form controls by adding text, buttons, or button groups on either side of textual inputs, custom selects, and custom file inputs. -group: components -toc: true ---- - -## Basic example - -Place one add-on or button on either side of an input. You may also place one on both sides of an input. Remember to place `<label>`s outside the input group. - -{% capture example %} -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <span class="input-group-text" id="basic-addon1">@</span> - </div> - <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1"> -</div> - -<div class="input-group mb-3"> - <input type="text" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username" aria-describedby="basic-addon2"> - <div class="input-group-append"> - <span class="input-group-text" id="basic-addon2">@example.com</span> - </div> -</div> - -<label for="basic-url">Your vanity URL</label> -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <span class="input-group-text" id="basic-addon3">https://example.com/users/</span> - </div> - <input type="text" class="form-control" id="basic-url" aria-describedby="basic-addon3"> -</div> - -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <span class="input-group-text">$</span> - </div> - <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)"> - <div class="input-group-append"> - <span class="input-group-text">.00</span> - </div> -</div> - -<div class="input-group"> - <div class="input-group-prepend"> - <span class="input-group-text">With textarea</span> - </div> - <textarea class="form-control" aria-label="With textarea"></textarea> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Sizing - -Add the relative form sizing classes to the `.input-group` itself and contents within will automatically resizeāno need for repeating the form control size classes on each element. - -**Sizing on the individual input group elements isn't supported.** - -{% capture example %} -<div class="input-group input-group-sm mb-3"> - <div class="input-group-prepend"> - <span class="input-group-text" id="inputGroup-sizing-sm">Small</span> - </div> - <input type="text" class="form-control" aria-label="Small" aria-describedby="inputGroup-sizing-sm"> -</div> - -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <span class="input-group-text" id="inputGroup-sizing-default">Default</span> - </div> - <input type="text" class="form-control" aria-label="Default" aria-describedby="inputGroup-sizing-default"> -</div> - -<div class="input-group input-group-lg"> - <div class="input-group-prepend"> - <span class="input-group-text" id="inputGroup-sizing-lg">Large</span> - </div> - <input type="text" class="form-control" aria-label="Large" aria-describedby="inputGroup-sizing-sm"> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Checkboxes and radios - -Place any checkbox or radio option within an input group's addon instead of text. - -{% capture example %} -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <div class="input-group-text"> - <input type="checkbox" aria-label="Checkbox for following text input"> - </div> - </div> - <input type="text" class="form-control" aria-label="Text input with checkbox"> -</div> - -<div class="input-group"> - <div class="input-group-prepend"> - <div class="input-group-text"> - <input type="radio" aria-label="Radio button for following text input"> - </div> - </div> - <input type="text" class="form-control" aria-label="Text input with radio button"> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Multiple inputs - -While multiple `<input>`s are supported visually, validation styles are only available for input groups with a single `<input>`. - -{% capture example %} -<div class="input-group"> - <div class="input-group-prepend"> - <span class="input-group-text" id="">First and last name</span> - </div> - <input type="text" class="form-control"> - <input type="text" class="form-control"> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Multiple addons - -Multiple add-ons are supported and can be mixed with checkbox and radio input versions. - -{% capture example %} -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <span class="input-group-text">$</span> - <span class="input-group-text">0.00</span> - </div> - <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)"> -</div> - -<div class="input-group"> - <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)"> - <div class="input-group-append"> - <span class="input-group-text">$</span> - <span class="input-group-text">0.00</span> - </div> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Button addons - -{% capture example %} -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <button class="btn btn-outline-secondary" type="button">Button</button> - </div> - <input type="text" class="form-control" placeholder="" aria-label="" aria-describedby="basic-addon1"> -</div> - -<div class="input-group mb-3"> - <input type="text" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username" aria-describedby="basic-addon2"> - <div class="input-group-append"> - <button class="btn btn-outline-secondary" type="button">Button</button> - </div> -</div> - -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <button class="btn btn-outline-secondary" type="button">Button</button> - <button class="btn btn-outline-secondary" type="button">Button</button> - </div> - <input type="text" class="form-control" placeholder="" aria-label="" aria-describedby="basic-addon1"> -</div> - -<div class="input-group"> - <input type="text" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username" aria-describedby="basic-addon2"> - <div class="input-group-append"> - <button class="btn btn-outline-secondary" type="button">Button</button> - <button class="btn btn-outline-secondary" type="button">Button</button> - </div> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Buttons with dropdowns - -{% capture example %} -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <button class="btn btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</button> - <div class="dropdown-menu"> - <a class="dropdown-item" href="#">Action</a> - <a class="dropdown-item" href="#">Another action</a> - <a class="dropdown-item" href="#">Something else here</a> - <div role="separator" class="dropdown-divider"></div> - <a class="dropdown-item" href="#">Separated link</a> - </div> - </div> - <input type="text" class="form-control" aria-label="Text input with dropdown button"> -</div> - -<div class="input-group"> - <input type="text" class="form-control" aria-label="Text input with dropdown button"> - <div class="input-group-append"> - <button class="btn btn-outline-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Dropdown</button> - <div class="dropdown-menu"> - <a class="dropdown-item" href="#">Action</a> - <a class="dropdown-item" href="#">Another action</a> - <a class="dropdown-item" href="#">Something else here</a> - <div role="separator" class="dropdown-divider"></div> - <a class="dropdown-item" href="#">Separated link</a> - </div> - </div> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Segmented buttons - -{% capture example %} -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <button type="button" class="btn btn-outline-secondary">Action</button> - <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <span class="sr-only">Toggle Dropdown</span> - </button> - <div class="dropdown-menu"> - <a class="dropdown-item" href="#">Action</a> - <a class="dropdown-item" href="#">Another action</a> - <a class="dropdown-item" href="#">Something else here</a> - <div role="separator" class="dropdown-divider"></div> - <a class="dropdown-item" href="#">Separated link</a> - </div> - </div> - <input type="text" class="form-control" aria-label="Text input with segmented dropdown button"> -</div> - -<div class="input-group"> - <input type="text" class="form-control" aria-label="Text input with segmented dropdown button"> - <div class="input-group-append"> - <button type="button" class="btn btn-outline-secondary">Action</button> - <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <span class="sr-only">Toggle Dropdown</span> - </button> - <div class="dropdown-menu"> - <a class="dropdown-item" href="#">Action</a> - <a class="dropdown-item" href="#">Another action</a> - <a class="dropdown-item" href="#">Something else here</a> - <div role="separator" class="dropdown-divider"></div> - <a class="dropdown-item" href="#">Separated link</a> - </div> - </div> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Custom forms - -Input groups include support for custom selects and custom file inputs. Browser default versions of these are not supported. - -### Custom select - -{% capture example %} -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <label class="input-group-text" for="inputGroupSelect01">Options</label> - </div> - <select class="custom-select" id="inputGroupSelect01"> - <option selected>Choose...</option> - <option value="1">One</option> - <option value="2">Two</option> - <option value="3">Three</option> - </select> -</div> - -<div class="input-group mb-3"> - <select class="custom-select" id="inputGroupSelect02"> - <option selected>Choose...</option> - <option value="1">One</option> - <option value="2">Two</option> - <option value="3">Three</option> - </select> - <div class="input-group-append"> - <label class="input-group-text" for="inputGroupSelect02">Options</label> - </div> -</div> - -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <button class="btn btn-outline-secondary" type="button">Button</button> - </div> - <select class="custom-select" id="inputGroupSelect03"> - <option selected>Choose...</option> - <option value="1">One</option> - <option value="2">Two</option> - <option value="3">Three</option> - </select> -</div> - -<div class="input-group"> - <select class="custom-select" id="inputGroupSelect04"> - <option selected>Choose...</option> - <option value="1">One</option> - <option value="2">Two</option> - <option value="3">Three</option> - </select> - <div class="input-group-append"> - <button class="btn btn-outline-secondary" type="button">Button</button> - </div> -</div> -{% endcapture %} -{% include example.html content=example %} - -### Custom file input - -{% capture example %} -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <span class="input-group-text">Upload</span> - </div> - <div class="custom-file"> - <input type="file" class="custom-file-input" id="inputGroupFile01"> - <label class="custom-file-label" for="inputGroupFile01">Choose file</label> - </div> -</div> - -<div class="input-group mb-3"> - <div class="custom-file"> - <input type="file" class="custom-file-input" id="inputGroupFile02"> - <label class="custom-file-label" for="inputGroupFile02">Choose file</label> - </div> - <div class="input-group-append"> - <span class="input-group-text" id="">Upload</span> - </div> -</div> - -<div class="input-group mb-3"> - <div class="input-group-prepend"> - <button class="btn btn-outline-secondary" type="button">Button</button> - </div> - <div class="custom-file"> - <input type="file" class="custom-file-input" id="inputGroupFile03"> - <label class="custom-file-label" for="inputGroupFile03">Choose file</label> - </div> -</div> - -<div class="input-group"> - <div class="custom-file"> - <input type="file" class="custom-file-input" id="inputGroupFile04"> - <label class="custom-file-label" for="inputGroupFile04">Choose file</label> - </div> - <div class="input-group-append"> - <button class="btn btn-outline-secondary" type="button">Button</button> - </div> -</div> -{% endcapture %} -{% include example.html content=example %} - -## Accessibility - -Screen readers will have trouble with your forms if you don't include a label for every input. For these input groups, ensure that any additional label or functionality is conveyed to assistive technologies. - -The exact technique to be used (`<label>` elements hidden using the `.sr-only` class, or use of the `aria-label` and `aria-labelledby` attributes, possibly in combination with `aria-describedby`) and what additional information will need to be conveyed will vary depending on the exact type of interface widget you're implementing. The examples in this section provide a few suggested, case-specific approaches. |
