Is there a pure CSS way to make an input transparent?

HtmlCss

Html Problem Overview


How can I make this input transparent?

<input type="text" class="foo">

I've tried this but it doesn't work.

background:transparent url(../img/transpSmall.png) repeat scroll 0 0;

Html Solutions


Solution 1 - Html

input[type="text"]
{
    background: transparent;
    border: none;
}

Nobody will even know it's there.

Solution 2 - Html

I like to do this

input[type="text"]
{
    background: rgba(0, 0, 0, 0);
    border: none;
    outline: none;
}

Setting the outline property to none stops the browser from highlighting the box when the cursor enters

Solution 3 - Html

The two methods previously described are not enough today. I personnally use :

input[type="text"]{
    background-color: transparent;
    border: 0px;
    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    width:5px;
    color:transparent;
    cursor:default;
}
    

It also removes the shadow set on some browsers, hide the text that could be input and make the cursor behave as if the input was not there.

You may want to set width to 0px also.

Solution 4 - Html

If you want to remove the outline when focused as well try:

input[type="text"],
input[type="text"]:focus   
{
         background: transparent;
         border: none;
         outline-width: 0;
}

Solution 5 - Html

I set the opacity to 0. This made it disappear but still function when you click on it.

Solution 6 - Html

As a general rule, you should never completly remove the outline or :focus style.

https://a11yproject.com/posts/never-remove-css-outlines

> ...using outline: none without proper fallbacks makes your site significantly less accessible to any keyboard only user, not only those with reduced vision. Make sure to always give your interactive elements a visible indication of focus.

Solution 7 - Html

In case you just need the existence of it you could also throw it off the screen with display: fixed; right: -1000px;. It is useful when you need an input for copying to clipboard. :)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionfmsfView Question on Stackoverflow
Solution 1 - Htmluser151323View Answer on Stackoverflow
Solution 2 - Htmluser2985029View Answer on Stackoverflow
Solution 3 - HtmlfrankView Answer on Stackoverflow
Solution 4 - HtmlMubramajView Answer on Stackoverflow
Solution 5 - HtmlbananasplitterView Answer on Stackoverflow
Solution 6 - HtmlderekshirkView Answer on Stackoverflow
Solution 7 - HtmlCavemanView Answer on Stackoverflow