- From: Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
- Date: Mon, 16 Jan 2012 21:20:48 +0800
- To: Alan Gresley <alan@css-class.com>
- CC: "Marat Tanalin | tanalin.com" <mtanalin@yandex.ru>, WWW Style <www-style@w3.org>
(12/01/16 10:17), Alan Gresley wrote: > So how does this overrule default margins [1] on block level elements > or overrule the property 'margin'? As far as I can tell, margin-x/y are just shorthand properties (margin-x for margin-left/right, margin-y for margin-top/bottom) so the overriding rule seems quite clear. Can you make an example that this is not the case? > > May I suggest this. > > .example { margin: y(1em); } > > .general { margin: 1em 20px; } > .general.lorem { margin: y(2em); } > .general.ipsum { margin: y(3em); } My take is an 'initial'/'inherit'-like keyword that means "ignore this value", so .example { margin: 1em _ ; } .general { margin: 1em 20px; } .general { margin: 2em _ ; } .general { margin: 3em _ ; } I am not sure if '_' is already reserved for vendor extension. This keyword is meant to be just syntactic sugar so { display: block; display: _ ; } would just be { display: block; } as if the whole declaration is dropped. Not sure how this keyword works for other shorthand properties though. (Not to mention that I am not too convinced that this is too important a problem we should address.) Cheers, Kenny
Received on Monday, 16 January 2012 13:21:40 UTC