W3C home > Mailing lists > Public > www-style@w3.org > April 2004

Re: content: url() is bad

From: Ian Hickson <ian@hixie.ch>
Date: Mon, 12 Apr 2004 22:11:23 +0000 (UTC)
To: Mikko Rantalainen <mira@cc.jyu.fi>
Cc: www-style@w3.org
Message-ID: <Pine.LNX.4.58.0404122206500.27215@dhalsim.dreamhost.com>

On Tue, 13 Apr 2004, Mikko Rantalainen wrote:
>>>
>>>   h1 { content: "foo" }
>>>   h1 { content: url(foo) }
>
> I think that for the second one, I would want h1 to be a block-level
> element containing an anonymous inline-level replaced element
> rendering the resource "foo" (I consider that as the closest match
> possible to math the behavior for plain text). If the property is
> called 'content' it should modify contents of the element, not the
> element itself. I'd rather have "display: replaced" (or 'replace')
> to say that the element should be removed from the flow and replaced
> with all of its childs.

The only practical difference would be that you could no longer change the
size of the image, and that a border on the image would no longer go
around the image itself.

Based on cases where I've seen image replacement techniques used, I find
it hard to believe that that is actually what people want.


> I think it's becoming more and more important to quickly define how form
> elements work with CSS. Should it be possible to change look of the form
> elements? How do you modify the looks of a 'select' (as defined in HTML
> 4.01) or a 'input type="file"'? What's a replaced element and how do you
> morph replaced element to normal with CSS only and the other way around?

This is being addressed.


>>    :before { content: 'PASS' url(404); }
>> ...should render "PASS", isn't it?
>
> That might be the behavior of the browsers that currently support
> :before do it. I could easily live with the change that "PASS"
> wouldn't be rendered. I don't expect :before to work right yet so making
> a small change shouldn't matter. In addition, I believe that "," isn't
> allowed in the 'content' property right now, so there would be an easy
> workaround -- I could use something like
>
> :before { content: 'PASS' url(404); }
> :before { content: 'TRY' url(404), 'PASS'; }
>
> and achieve improved results with user agents that support this extended
> behavior and fall back to original behavior with user agents that don't
> support this new feature.

Very good point. Ok, I won't worry about this too much.


> I believe that it shouldn't matter which selector was used to select the
> pseudo-element so final rules should be made so that they are not
> compliant with :before and :after *only*.

That's a reasonable guideline for things like this, yeah. (Computation
from the initial value would obviously still depend on which was used.)

-- 
Ian Hickson                                      )\._.,--....,'``.    fL
U+1047E                                         /,   _.. \   _\  ;`._ ,.
http://index.hixie.ch/                         `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 12 April 2004 18:11:24 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:29 GMT