diff --git a/js/tests/visual/floating-label.html b/js/tests/visual/floating-label.html
new file mode 100644
index 0000000000..f78442eff1
--- /dev/null
+++ b/js/tests/visual/floating-label.html
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scss/forms/_floating-labels.scss b/scss/forms/_floating-labels.scss
index 1a6efc0a40..b366505881 100644
--- a/scss/forms/_floating-labels.scss
+++ b/scss/forms/_floating-labels.scss
@@ -14,6 +14,7 @@
top: 0;
left: 0;
z-index: 2;
+ max-width: 100%;
height: 100%; // allow textareas
padding: $form-floating-padding-y $form-floating-padding-x;
overflow: hidden;
@@ -58,16 +59,6 @@
> .form-select {
~ label {
transform: $form-floating-label-transform;
-
- &::after {
- position: absolute;
- inset: $form-floating-padding-y ($form-floating-padding-x * .5);
- z-index: -1;
- height: $form-floating-label-height;
- content: "";
- background-color: $input-bg;
- @include border-radius($input-border-radius);
- }
}
}
// Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
@@ -76,6 +67,21 @@
transform: $form-floating-label-transform;
}
}
+ > textarea:focus,
+ > textarea:not(:placeholder-shown) {
+ ~ label::after {
+ position: absolute;
+ inset: $form-floating-padding-y ($form-floating-padding-x * .5);
+ z-index: -1;
+ height: $form-floating-label-height;
+ content: "";
+ background-color: $input-bg;
+ @include border-radius($input-border-radius);
+ }
+ }
+ > textarea:disabled ~ label::after {
+ background-color: $input-disabled-bg;
+ }
> .form-control-plaintext {
~ label {
@@ -86,9 +92,5 @@
> :disabled ~ label,
> .form-control:disabled ~ label { // Required for `.form-control`s because of specificity
color: $form-floating-label-disabled-color;
-
- &::after {
- background-color: $input-disabled-bg;
- }
}
}
diff --git a/site/content/docs/5.3/components/alerts.md b/site/content/docs/5.3/components/alerts.md
index deea8f2e9c..8e3d99f537 100644
--- a/site/content/docs/5.3/components/alerts.md
+++ b/site/content/docs/5.3/components/alerts.md
@@ -72,7 +72,7 @@ Similarly, you can use [flexbox utilities]({{< docsref "/utilities/flex" >}}) an
{{< example >}}