Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Background image tiles have gap between them when using SVG image. How to solve in Chrome?

When I use a SVG image as the tiled background for the body of my page, there is a slight gap between the tiles. If I switch to the PNG version of the file, it does not happen.

I am using the latest version of Google Chrome for Mac – version 19.0.1084.56. I haven’t tested Windows because I don’t have that platform. File works as expected in Safari and FF.

After a bunch of Google searches and searching here on SO I haven’t found any similar reports. Maybe someone here has a solution.

Here is my test code:

<!DOCTYPE html>
<html>
<head>
<title>SVG background test</title>
<style type="text/css">
body {
   background-color: #FFF;
   background-image: url(img/assets/background.svg);
   background-repeat: repeat;
}
</style>
</head>
<body>
</body>
</html>
like image 785
Violet Avatar asked Jun 26 '12 05:06

Violet


2 Answers

It's not a problem of width or height. It appears even if your svg pattern is 100px x 100px and have no decimal.

You can resolve the problem putting preserveAspectRatio="none" in your svg file as it : <svg preserveAspectRatio="none" ...>

But when you want to repeat a svg pattern you can't choose this option because your pattern will be distorted.

Have you found the answer ?

like image 159
user3101788 Avatar answered Oct 15 '22 01:10

user3101788


This turned out not just to be happening it Chrome, but it was more noticeable in that browser. As I posted above, here is the solution: After reading a solution for a slightly different Chrome/svg problem I figured out the answer. Posting back here in case someone else runs across this issue. I created my SVG file in Illustrator. Apparently my artboard/image size was not in precise pixels. I discovered this by opening my SVG file in a text editor and looking at the top of the file I saw this :

width="229.9999px" height="147.4256px" 

I opened the svg file in illustrator and made sure that the dimensions were exactly even pixels, then double checked again in the text file. Corrected dimensions were:

width="230px height="148px"

For some reason simply editing the values in the text file did not work for me, but then again it was faster to just fix in Illustrator than figure out how to edit the svg text file correctly. At any rate, now I do not have a gap in my tiles. Hope that helps someone else if they are having this problem.

like image 22
Violet Avatar answered Oct 15 '22 02:10

Violet