- From: Alan Gresley <alan@css-class.com>
- Date: Wed, 25 Dec 2013 23:29:09 +1100
- To: Rik Cabanier <cabanier@gmail.com>
- CC: "Tab Atkins Jr." <jackalmage@gmail.com>, Dirk Schulze <dschulze@adobe.com>, www-style list <www-style@w3.org>
On 25/12/2013 6:18 PM, Rik Cabanier wrote: > On Tue, Dec 24, 2013 at 10:10 PM, Alan Gresley <alan@css-class.com> wrote: > >> On 14/11/2013 2:59 PM, Tab Atkins Jr. wrote: >> >>> On Wed, Nov 13, 2013 at 7:41 PM, Rik Cabanier <cabanier@gmail.com> wrote: >>> >>>> Example 2 could also be done with the CSS filter image function [1]. >>>> >>> >>> How? >>> >>> ~TJ >>> >> >> Rik is correct. It can be done using <image> function. >> > > oops, I looked over the history and replied to only Tab. > Here's an example: > > <html> > <style> > #wrapper { > width: 500px; > height: 150px; > animation: move1 6s infinite linear; > } > > @keyframes move1 { > 0% { > background: filter(url(' > http://css-class.com/test/css/3/image/images/green-water2b.jpg'), > opacity(.5)) 0% So was Dirk wrong with the following syntax mentioned in the 'property to control background opacity' thread [2]. background-image: -webkit-filter(foo.png, opacity(0.5)); Should it be as follows? background-image: -webkit-filter(url(foo.png), opacity(0.5)); And why did you not just animate background-position? Also, does one need the -webkit- prefix and Safari on Mac to test it? >> >> http://css-class.com/test/css/3/image/background-opacity-movement1.htm >> >> I can not test it personally since I don't have a Mac (only Safari 5.1.17 >> on Windows). >> >> Instead of having opacity buried within a value with parenthesis, like as >> follows, >> >> background-image: filter(foo.jpg, opacity(0.5)); >> >> it would be much more powerful to have the filter as an independent >> background property so the filter value can be animated. >> >> background-image: url(foo.jpg); >> background-filter: opacity(50%); >> > > You can animate the background as long as you repeat the url and filter > primitive. I agree it's not as elegant though... It far from elegant and it just makes the use cases for element() a lot longer and a lot stronger. It means that certain effects can only be done with element(). What if I needed to use something awesome like background-size, background-clip and or another background property? If I had used different images (e.g. a small SVG that needs to be 100% on at least one axis), you could not have done it with 'background-image: filter()'. I suspect that authors testing element() may have accoutered the opacity bug when used with element() and possibly abandoned a technique or approach because of it. The success or merits of a CSS property and value should be reviewed if there is such a bug. I have now used the 'CSS dithering' hack several times now to get around this bug. https://bugzilla.mozilla.org/show_bug.cgi?id=939095 >> 1: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index. >> html#FilterCSSImageValue 2. http://lists.w3.org/Archives/Public/www-style/2013Dec/0428.html Alan -- Alan Gresley http://css-3d.org/ http://css-class.com/
Received on Wednesday, 25 December 2013 12:29:40 UTC