Floating Labels for Bootstrap
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.0 KiB

5 years ago
# floating-labels
Floating Labels for Bootstrap
5 years ago
![Sample text input](https://i.imgur.com/zGK4SkX.png)
5 years ago
## How to use
5 years ago
First Include the stylesheet in your html. If you prefers, use this CDN: https://cdn.jsdelivr.net/gh/exacti/floating-labels@latest/floating-labels.min.css
```html
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/gh/exacti/floating-labels@latest/floating-labels.min.css" media="screen">
```
5 years ago
Just put the input or textarea element inside a parent (div or span) with `.form-label-group` class and add a label tag after this element.
4 years ago
The input and label must have the same id linked with for in label to work properly. Input must have the `placeholder` defined.
For in border style (like outlined material design), add the `.in-border` class.
5 years ago
#### Code samples
```html
<div class="form-label-group">
<textarea id="tt" class="form-control" placeholder="Floating Label area" rows="4"></textarea>
<label for="tt">Floating Label area</label>
</div>
```
```html
<div class="form-label-group">
<input type="text" id="tt2" class="form-control" placeholder="Floating Label" />
<label for="tt2">Floating Label</label>
</div>
```
4 years ago
Like outlined material design (In Border):
5 years ago
```html
4 years ago
<div class="form-label-group in-border">
5 years ago
<input type="text" id="tt3" class="form-control form-control-lg" placeholder="Floating Label lg" />
<label for="tt3">Floating Label lg</label>
</div>
```
### For intl-tel-input
Make the label after input with JavaScript code, like this sample made with jQuery:
```JavaScript
$('.intl-tel-input ~ label').insertAfter('.intl-tel-input input.form-control');
```
4 years ago
Or this most advanced code (ideal for 2 or more elements):
```JavaScript
$('.intl-tel-input, .iti').find('input.form-control').each(function(index, element) {
let label = $(element).parent().find('~ label');
$(element).after(label);
4 years ago
});
```
5 years ago
## Dependencies
Works perfect with Bootstrap 4 but Bootstrap isn't required. Requires a browser compatible with [:placeholder-shown](https://caniuse.com/#feat=css-placeholder-shown) CSS pseudo-element.