CSS AutoComplete font size

12,729

Solution 1

EDIT: This doesn't work for font-size anymore, and potentially more attributes moving forward

How to change Chrome autocomplete styles on input:

input {
    ...
    font-family: $body-font;
    font-size: 1rem;
    font-weight: bold;
    color: #000;
    background-color: #fff;
      
    // Background color
    &:-webkit-autofill {
      -webkit-box-shadow: 0 0 0 1000px #fff inset;
    }
      
    // Font styles
    &:-webkit-autofill::first-line {
      font-family: $body-font;
      font-size: 1rem;
      font-weight: bold;
      // color: green;
    }
}

Solution 2

I know that this question is old, but I found this solution, which works in my case:

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-animation: autofill 0s forwards;
  animation: autofill 0s forwards;
}

@keyframes autofill {
  100% {
    background: transparent;
    color: inherit;
    font-size: inherit;
  }
}

@-webkit-keyframes autofill {
  100% {
    background: transparent;
    color: inherit;
    font-size: inherit;
  }
}

If you don't want background or font-color to change, then you can remove them from the keyframes.

Thank you!

Solution 3

This is very tricky! I played with this

:-internal-autofill-previewed {
  font-size: 22px !important;
}

The blinking marker ( | ) changes when hovering but the "placeholder" is still the same.. :-internal-autofill-previewed::placeholder didn't work either..

Share:
12,729
Patrick Wozniak
Author by

Patrick Wozniak

Software engineer interested in web and mobile development with a particular focus on React (Native).

Updated on June 23, 2022

Comments

  • Patrick Wozniak
    Patrick Wozniak about 2 years

    I couldn't figure out how to increase or how to use the default font size for the preview text when hovering over an autocomplete suggestion from the browser.

    I'm using https://tailwindcss.com/ for all styles.

    E.g.:

    This is my normal input element with the default font size after entering some text:

    enter image description here

    And this is the font size of the preview when I hover one of the suggested autocomplete items:

    enter image description here

    As you can see, the font size is much smaller than in the first image.

    enter image description here

    I'm already using some CSS-snippet to disable all browser-specific stylings:

    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    textarea:-webkit-autofill,
    textarea:-webkit-autofill:hover,
    textarea:-webkit-autofill:focus,
    select:-webkit-autofill,
    select:-webkit-autofill:hover,
    select:-webkit-autofill:focus {
      border: inherit;
      -webkit-text-fill-color: inherit;
      -webkit-box-shadow: inherit;
      transition: background-color 5000s ease-in-out 0s;
      font-size: inherit;
    }
    

    The last property font-size does nothing.

    I'm using the following css for the input font-size:

        font-size: 1.125rem !important;
    

    I also tried to assign the font-size as inline-style to fix it, but it doesn't work as well:

    enter image description here

    Live example: https://codesandbox.io/s/o766kp4z05 Use the example and try to enter your email into the email field and look at the font size. It has the same problem with the font size.

    Is it possible to fix the font size?

  • Patrick Wozniak
    Patrick Wozniak almost 5 years
    You mean to assign the font-size to one of the parent elements? The parents already have a bigger default font size.
  • akash edakkalathur
    akash edakkalathur almost 5 years
    It may be overridden by the inheritance. eg: priority will maters in css with respect to the specifying the parent hierarchy. That is .parent .child .innerchild{ fontsize : 16px } ---- This will have high priority will override the below style. .innerchild{ fontsize : 16 px} ---- will have lower priority compared to the above one.
  • Rakeschand
    Rakeschand over 3 years
    Yes this worked fine. &:-webkit-autofill::first-line
  • Kerry Johnson
    Kerry Johnson over 2 years
    No longer working for me on macOS Chrome Version 95. The reason Chrome removed autofill font face styles was down to a security concern bugs.chromium.org/p/chromium/issues/detail?id=1035058. ::first-line was a trick to workaround their initial bandaid "fix", but they've fixed our workaround now also. Of note, Chrome 96 will support :autofill chromestatus.com/feature/5592445322526720 but I'm not sure to what degree Chrome will let us style it.
  • Kerry Johnson
    Kerry Johnson over 2 years
    Checking back in to say that :autofill sadly doesn't allow font size changes (haven't tested other font properties).
  • Rakeschand
    Rakeschand over 2 years
    @KerryJohnson stopped working for me as well, :autofill at no help, let me know if you find something around font size.