- From: Simon Pieters <simonp@opera.com>
- Date: Mon, 24 Jun 2013 10:35:38 +0200
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- CC: Bjoern Hoehrmann <derhoermi@gmx.net>, Daniel Glazman <daniel.glazman@disruptive-innovations.com>, www-style list <www-style@w3.org>
On 6/21/13 6:28 PM, Tab Atkins Jr. wrote:
>> Since text/css resources
>> are not images, there is no background image that could be rendered. If
>> the declaration is in a HTML or SVG document, you would have a cyclic
>> dependency (the document has to be rendered to render its background),
>> and if CSS does not define how to break the cycle, there is nothing to
>> render either. See <http://tools.ietf.org/html/rfc3986#section-4.4>.
> CSS doesn't allow you to render HTML documents as images, but the SVG
> case is definitely interesting.
data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="-1
-1 2 2"><style>svg { background:url("") } </style><circle r="1"/></svg>
It seems like WebKit/Blink supports it but Presto/Gecko don't. Dunno
about IE10, it didn't want to load my data: URL.
On 6/21/13 9:43 AM, Tab Atkins Jr. wrote:
> I'm not sure the HTML precedent really extends to CSS well. In HTML
> it's much easier to accidentally leave an empty href or src attribute
> around, particularly with badly-written templating languages. The
> same sort of thing doesn't really apply to CSS.
Let's see. http://webdevdata.org/ data-June13
$ grep -rEioh --exclude=\.hdr\.txt$
"background(-image)?\s*:\s*(#?[a-z0-9]+\s+)?url\((\"\"|'')\)" . | wc -l
270
Let's have a closer look at the first few matches.
./01/dewaseo.com_0185a497910f92c960feadd416f18440.html.txt:
background:#ffffff url('') ;
./01/thenet.ng_01df0cb1e137fe3b5c9b27872609d184.html.txt:footer
{background:#ffffff url('') ;}
./06/showbizdaily.ru_06b336e5ee3d3f76e71ca9034ef9d680.html.txt:
background:#ccc8bc url('') ;
./0a/thenetng.net_0a0466f68ca06cb15dbdb4a79a59b15d.html.txt:footer
{background:#ffffff url('') ;}
./0b/aspkin.com_0b9adcc5056799d617f2f8927b554321.html.txt:
background-image:url('');
./0b/aspkin.com_0b9adcc5056799d617f2f8927b554321.html.txt: #horiz_m_bg
{background-color:#ffffff; background-image:url(''); background-repeat:;
background-position:;}
./0b/aspkin.com_0b9adcc5056799d617f2f8927b554321.html.txt:
background-image:url('');
./0b/aspkin.com_0b9adcc5056799d617f2f8927b554321.html.txt:
background-image:url('');
./0b/aspkin.com_0b9adcc5056799d617f2f8927b554321.html.txt:
background-image:url('');
./0b/aspkin.com_0b9adcc5056799d617f2f8927b554321.html.txt:
background-image:url('');
./0b/falamundo.com.br_0b8e8fb6696333d641f203f5568cfd17.html.txt:background:
url("") repeat center top;
./0b/falamundo.com.br_0b8e8fb6696333d641f203f5568cfd17.html.txt:#sidebar-wrapper
.widget-content {background: url("") repeat-x top left;margin: 0;}
./0b/falamundo.com.br_0b8e8fb6696333d641f203f5568cfd17.html.txt:#sidebar-wrapper
.widget-content {background: url("") repeat-x top left;margin: 0;}
./0b/falamundo.com.br_0b8e8fb6696333d641f203f5568cfd17.html.txt:.post-author
{background: url("") no-repeat scroll 0 0 transparent;padding-left: 20px;}
./0c/tehranmusic268.com_0c76defc16f1e4e79c2dcc3f0b0f9b40.html.txt:background:
url("") no-repeat scroll left top transparent;
./0d/viralol.com_0dc1dc85d49b1a94fc9f7d9cbf01cfb3.html.txt:<a
href="http://viralol.com/fails/" title="7 Hilarious “Fails”
Photos"><img
src="http://viralol.com/wp-content/uploads/2013/03/ouch_oven-150x150.jpg" alt="7
Hilarious “Fails” Photos" class="Thumbnail thumbnail "
width="220" height="250" /></a><div style="background: url('')
no-repeat;"></div>
I opened some of these URLs. They don't use content negotiation to serve
an image. They just don't want an image there and think saying url("")
means no image. I would expect this to be the case for basically all
instances in the data.
So my conclusion here is the same as for <img src>: it is better for
browsers to not fetch anything for the empty reference since fetching it
will only have the result of making the page load slower.
I support the original suggestion to change the spec to not fetch images
in CSS declared with the empty URL reference.
--
Simon Pieters
Opera Software
Received on Monday, 24 June 2013 08:34:08 UTC