- From: Brice PARENT <brice@websailors.fr>
- Date: Tue, 17 Jan 2012 09:29:00 +0100
- To: Glenn Adams <glenn@skynav.com>
- CC: www-style@w3.org
That's interesting! I didn't know about TTML. But in this case, this
looks more like an inline equivalent to css, using style tags and
arguments instead of css and classes.
I have thought about another way, maybe easier to integrate, and also
powerfull :
add something like :
@bank bank_name{
my-width: 1px;
my-bg-color-r:128;
my-bg-color-g:128;
my-bg-color-b:0;
}
.left_box{
background-color:rgba(use(bank_name:my-bg-color-r),
use(bank_name:my-bg-color-g), use(bank_name:my-bg-color-b), 0.5);
border:use(bank_name:my-width) solid rgb(use(bank_name:my-bg-color-r),
use(bank_name:my-bg-color-g), use(bank_name:my-bg-color-b));
}
This allows to create variables which may be used anywhere. It is not as
powerfull as the version i spoke about yesterday, as we have to declare
every variable, but it would still help a lot to maintain css files
without having to "Search and replace".
Le 16/01/2012 20:47, Glenn Adams a écrit :
> you might wish to review what was done in TTML [1] regarding style
> reference chains (albeit not using CSS grammar)
>
> [1] http://www.w3.org/TR/ttaf1-dfxp/#semantics-style-resolution
>
> On Mon, Jan 16, 2012 at 8:36 AM, Brice PARENT <brice@websailors.fr
> <mailto:brice@websailors.fr>> wrote:
>
> I think this is a two part proposal :
> 1 - allow to reference a property to another one
> 2 - ask for those reference to be able to create bidirectionnal
> relationships.
>
> For the first, before being lead to this list, i've created the list
> http://lists.w3.org/Archives/Public/www-style/2012Jan/0673.html.
> I copy the examples i proposed here just to be clear :
>
> /* simple pointer : */
> ..example1{color: as(.model);}
> /* The text color is red (as found in .model{color:red;}) */
>
> /* complete pointers */
> ..example2{margin: as(.model?border-width); background-color:
> as(.model?border-color);}
> /* The margin is 2px on all sides (as found in
> ..model{border-width:2px;}), and the background color is blue (as
> found
> in .model{border-color:blue}) */
>
> /* inner pointer */
> ..example3{color:grey; border: 1px dashed as(?color);}
> /* The border-color is grey (as found in .example3{color:grey;}) */
>
> I would just drop any properties that would create a loop like
> .b{width:as(.a);}
> .a{width:as(.b);}
>
> About the fact that we could always create a shared css class
> containing
> the common values, i agree but it kills some of the benefits of using
> css : We either have to create lots of classes (smallText, biggerText,
> hugeText, smallMargins, ...) and have many classes placed on every
> element, which would lead to setting the style right in the html,
> or we
> have to create a very big css file containing every single case for
> every common properties (div.test1 table.test2 td:first-child,
> div.test3
> ul, div.test4 ul:hover...{color:red}), and it wouldn't allow to
> share a
> color and a background color.
>
> This referencing would shorten a lot the css selectors, and would help
> to have a simple new kind of inheritance.
>
> It should not be seen as the programming goto, but more like a
> variable,
> which may be called from anywhere. Every element has a set of
> variables
> that always have some values (default or inherited at the beginning),
> that we set using the css propoerties, and some of these
> properties are
> just like pointers to those variables. The values that are read are
> never computed values, but always the values that are asked (default,
> inherited, set, or pointed).
>
> About the second point, i agree that it may be more complicated, and
> that's not that much what i asked for.
>
>
Received on Tuesday, 17 January 2012 08:29:34 UTC