cssgoogle-chromeinputfocusborder

How to remove focus border (outline) around text/input boxes? (Chrome)


Can anyone explain how to remove the orange or blue border (outline) around text/input boxes? I think it only happens on Chrome to show that the input box is active. Here's the input CSS I'm using:

input {
    background-color: transparent;
    border: 0px solid;
    height: 20px;
    width: 160px;
    color: #CCC;
}

Text box with blue outline and "Example" written in it


Solution

  • This border is used to show that the element is focused (i.e. you can type in the input or press the button with Enter). You can remove it with outline property, though:

    textarea:focus, input:focus{
        outline: none;
    }
    

    You may want to add some other way for users to know what element has keyboard focus though for usability.

    Chrome will also apply highlighting to other elements such as DIV's used as modals. To prevent the highlight on those and all other elements as well, you can do:

    *:focus {
        outline: none;
    }
    

    ⚠️ Accessibility warning

    Please notice that removing outline from input is an accessibility bad practice. Users using only a keyboard will not be able to see which element they are focused on. More info at a11yproject