How to Give Text or an Image a Transparent Background Using Css

How do I give text or an image a transparent background using CSS?

Either use a semi-transparent PNG or SVG image or use CSS:

background-color: rgba(255, 0, 0, 0.5);

Here's an article from, Opacity, RGBA and compromise (2007-06-03).

Beware that the text still needs sufficient contrast with the background, once the underlying background shines through.

<p style="background-color: rgba(255, 0, 0, 0.5);">
<span>Hello, World!</span>

How can place some text and a transparent color in a background image in html?

try with this code.

 body {
background: white url(479616460.jpg) no-repeat;
.header {
background-color: #8DCC3A;
border-top: 60px solid #4A5C61;
margin-left: 20%;
opacity: 0.9;
.title {
left: 21.5%;
position: absolute;
top: 80px;
width: 57%;


<div class="header"></div>
<div class="title">
<h2></h2> </div>


Making transparent text in CSS and fitting background image inside a text shape

Try this: {
color: rgba(0,0,0,0.0); /* for transparent color */
-webkit-text-stroke: 1px rgba(0,0,0,1.0); /* for solid black outline */


If you need background image though the text:

.bg-though-text {    font-size: 50px;    font-weight: 700;    text-transform: uppercase;    background: linear-gradient(45deg, #0B2349 33%, #0D61BC 66%, #8AA9D6); /* Here you can use an image bg */      /* This will start the magic */
-webkit-background-clip: text; /* This will bring bg shape according to text*/ -webkit-text-fill-color: transparent; /* This will make text color transparent */ color: rgba(0,0,0,0.0); /* This will make text color transparent for sure */}
<p class="bg-though-text">Gradient bg</p>

CSS, Transparent background of a text

Use color to transperant to bg , RGBA color values are an extension of RGB color values with an alpha channel - which specifies the opacity for a color.

An RGBA color value is specified with: rgba(red, green, blue, alpha). The alpha parameter is a number between 0.0 (fully transparent) and 1.0 (fully opaque).
like you need black transperant background

h1 {
background: rgba(255, 255, 255, 0.2);
color: red;
font-family: "Amarillo";
left: 0;
position: absolute;
right: 0;
text-align: center;

search the rgb colors and set opacity what ever you need to the last value

transparent text but opaque background in css

I found an answer for my question here:

body {  padding: 0;  margin: 0;  height: 100%;}.overlay {  background: url(;  height: 100%;  position: relative;  background-size: cover;}.overlay h1 {  position: absolute;  background-color: #000;  color: #fff;  mix-blend-mode: multiply;  text-align: center;  font-size: 3em;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);}
<div class="overlay">  <h1>Mix-Blending in CSS</h1></div>

CSS Background transparency with text fully visible

You can use rgba (more info on MDN) value for a transparent background color + don't forget to give a negative z-index value to the image so it stacks behind the content :



background-color: rgba(255, 255, 0, 0.3); /* <-- this line is modified */
display: block;
margin: 0 auto;
width: 300px;
height: 500px;
color: #000;
text-align: center;
/* Set rules to fill background */
min-height: 100%;
min-width: 1920px;
/* Set up proportionate scaling */
width: 100%;
height: auto;
/* Set up positioning */
position: fixed;
top: 0;
left: 0;
z-index:-1; /* <-- this line is added */

HTML/CSS Gives Image with Transparent Background a White Background

The problem is simply that you set a global background colour of white:

* {
background-color: rgb(300, 300, 300);

The * denotes that every element should have the background colour, including your image. Simply remove this, and your button will display as transparent.

Alternatively, you can ensure the image background is transparent by explicitly stating that it should be:

.post img {
background: transparent;

Also, if you just want the navigation to have the background, you need to specify that with:

.topnav {
background-color: rgb(300, 300, 300);

I've created a JSFiddle showcasing this here.

Hope this helps! :)

Transparent text cut out of background

It's possible with css3 but it's not supported in all browsers

With background-clip: text; you can use a background for the text, but you will have to align it with the background of the page