Reputation: 1
That my first post here.
I'm a self-taught developer and I'd really like to learn how to put an image in the background of a search bar.
I can imagine that HTML isn't suitable, but I don't know CSS very well.
As this MND lesson* on CSS suggests, we can embed pre-defined text in what I call the "dialog box" of the search bar box.
I'm pretty sure it's possible to embed a background image in this search bar ( either in .PNG or .SVG format, but I'd prefer to use the vector format if possible ).
But as for the "variable", "attribute" or "property", I don't know which to use or how to formulate it in my code to make it work.
*https://developer.mozilla.org/fr/docs/Web/HTML/Element/input/search
I don't have the code acec me at the moment but from memory I had something like this in my CSS :
In HTML :
label {
display: block;
font:
1rem 'Fira Sans',
sans-serif;
}
input,
label {
margin: 0.4rem 0;
}
<label for="site-search">Search the site:</label>
<input type="search" id="site-search" name="q" />
<button>Search</button>
Upvotes: 0
Views: 304
Reputation: 1
Here is an example of how you would apply a background image to the search bar element:
.search-bar {
background-image: url('path to your image');
}
Upvotes: 0
Reputation: 145
<!DOCTYPE html>
<html>
<head>
<title>Background Image Input</title>
<style>
input [type = 'text'] {
background-image: url("path to yout image or URL");
box-sizing: border-box;
/* background-size: 100% 100%; use this property to display full image in the field */
}
</style>
</head>
<body>
<input type="text" placeholder="Enter text..." />
</body>
</html>
This HTML and CSS code creates an input field with a background image. The CSS sets the background image using the background-image property, and box-sizing: border-box; ensures that padding and border are included in the input field's total width. The placeholder attribute provides a hint text inside the input field.
Upvotes: 0
Reputation: 3043
Simple with:
input {
background-image: url("filename.svg");
}
like so:
label {
display: block;
font: 1rem 'Fira Sans', sans-serif;
}
input,
label {
margin: 0.4rem 0;
}
/*the code you need*/
input {
background-image: url("https://upload.wikimedia.org/wikipedia/commons/a/a0/Svg_example1.svg");
background-position: 0;
}
<label for="site-search">Search the site:</label>
<input type="search" id="site-search" name="q" />
<button>Search</button>
Here's another example:
<!DOCTYPE html>
<html>
<head>
<style>
input[type=text] {
width: 100%;
box-sizing: border-box;
border: 2px solid #ccc;
border-radius: 4px;
font-size: 16px;
background-color: white;
background-image: url('https://www.w3schools.com/css/searchicon.png');
background-position: 10px 10px;
background-repeat: no-repeat;
padding: 12px 20px 12px 40px;
}
</style>
</head>
<body>
<h2>Input field with an icon inside</h2>
<form>
<input type="text" name="search" placeholder="Search..">
</form>
</body>
</html>
Upvotes: 1