I need to know how to get the background image to not be blurry when text is over it in CSS as it spoils the look of my website if it's blurry.
My CSS is:
background: #ff0000 url(img/rain.jpg) top center repeat-y;
background-size: 100%;
But when I load it up where there is text that line goes blurry and I don't want it to so how do I do this?
Fiddle example
Try to add:
image-rendering: -webkit-optimize-contrast;
Try adding this to the code: image-rendering: pixelated;
For me it worked perfectly.
you can also try - image-rendering: -webkit-optimize-contrast;
use of background-size: cover;background-position:50% 50%;
will help you..
* {
font-family: Calibri, Comic Sans MS, Serif;
background: #ff0000 url(http://www.coolguysite.co.uk/blog/templates/default/img/rain.jpg) top center repeat-y;
background-size: cover;
background-position:50% 50%;
}
UPDATED FIDDLE
You can use image-rendering: pixelated
. Here is an example from the Mozilla Developer Network:
.pixelated {
image-rendering: pixelated;
-ms-interpolation-mode: nearest-neighbor;
}
https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering
https://jsfiddle.net/9dtj2wkq/
I got it by doing:
background: transparent;
to the h2
and p
elements.
Here's the cross browser technique:
image-rendering: crisp-edges;
image-rendering: -moz-crisp-edges; /* Firefox */
image-rendering: -o-crisp-edges; /* Opera */
image-rendering: -webkit-optimize-contrast; /* Webkit (non-standard naming)*/
-ms-interpolation-mode: nearest-neighbor; /* IE (non-standard property) */