Search code examples
cssdata-uri

CSS background Data URI not working (Chrome)


I'm trying to embed an image into my css directly as encoded data:

background:#fae url("data:image/gif;base64, 

    R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jv
    b29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//
    mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Eky
    ky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCm
    TIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr
    7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7") 

    no-repeat;

But, it fails. What's even more weird is that embedding the data URI directly into an image tag does work:

You can check my example out at: http://jsfiddle.net/cAb2y/1/

Am I doing something wrong?

(source example: http://www.websiteoptimization.com/speed/tweak/inline-images/)


Solution

  • Remove all of the line breaks or spaces from the Data URI:

    h3 {
        width:50px;
        height:50px;
        display:block;
        border:2px red solid;
        background:#fae url("data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub//ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcppV0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7") no-repeat;
    }​