- From: Brad Kemper <brad.kemper@gmail.com>
- Date: Thu, 8 Sep 2011 18:41:51 -0700
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: Charles Pritchard <chuck@jumis.com>, www-style list <www-style@w3.org>
On Sep 8, 2011, at 9:52 AM, "Tab Atkins Jr." <jackalmage@gmail.com> wrote: > On Sat, Sep 3, 2011 at 11:25 AM, Charles Pritchard <chuck@jumis.com> wrote: >> Is there a method in css generated content to retain existing dimensions? As >> I said, I can >> script it, via getClientRects, but pure CSS would be nice. >> >> Internet Explorer 9 has a nice tool that allows developers to turn off image >> loading, to audit alt text usage. >> CSS generated content allows one to replace an image with the alt content, >> but I believe it re-flows >> the element in the process. >> >> In pure CSS, I'd like to hide an image, and display its alt text within the >> original image bounds, much as IE9 enables for developers. >> As I understand it, this would show the alt text, but it would also resize >> the rendering box, if width and height are not explicitly set. >> <img alt="testing" src="img.png" style="content: attr(alt), 'WARNING: Alt >> Missing';" /> >> >> Do we have a means to retain dimensions of the element, when using >> css3-content? > > No, there isn't. If you use 'content' on an <img>, you are fully > replacing the content. > > If there was a pseudoelement that we could apply to replaced content, > you could do the following: > > img { > visibility: hidden; > position: relative; > } > img::before { > visibility: visible; > content: attr(alt); > position: absolute; > top:0; right: 0; bottom: 0; left: 0; > } That was what I imagined too, then found out it doesn't work. I couldn't find anything in the spec to prevent it, other that that, you know, replaced elements generally can't add new elements (and therefore not pseudo-elements) with them. But it would be nice if they could add a ::before or ::after or ::marker to an anonymous box wrapping the replaced element.
Received on Friday, 9 September 2011 01:42:27 UTC