W3C home > Mailing lists > Public > www-style@w3.org > January 2012

Re: Add margin-x and margin-y properties (same for padding and border-*)

From: Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
Date: Mon, 16 Jan 2012 21:20:48 +0800
Message-ID: <4F142430.2070203@csail.mit.edu>
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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:20:48 GMT