- From: Tab Atkins Jr. <jackalmage@gmail.com>
- Date: Tue, 25 Nov 2008 08:27:38 -0600
- To: "Andrew Fedoniouk" <news@terrainformatica.com>
- Cc: "Christoph Päper" <christoph.paeper@crissov.de>, www-style <www-style@w3.org>
- Message-ID: <dd0fbad0811250627p6a2b3d32tbe2dcffd5c805683@mail.gmail.com>
On Mon, Nov 24, 2008 at 4:17 PM, Andrew Fedoniouk <news@terrainformatica.com > wrote: > > Christoph Päper wrote: > >> >> Andrew Fedoniouk: >> >>> Time to time I am getting feature request to provide "keep aspect ratio" >>> functionality in CSS. >>> >>> To declare function 'width(NN%)' that can be used as a value of height, >>> min-height, max-height CSS attributes. >>> >>> #my-golden-ratio { >>> width: 30%; >>> height: width(62%); >>> } >>> >> >> Why would you make either width or height depend on the other when you >> really want to provide their ratio (or area, i.e. either the result of their >> division or their multiplication)? >> >> foo { >> ratio: calc(4/3); /* ignored if contradicting explicit width/height, >> because it is not needed then */ >> width: 4cm; >> height: auto; /* -> 3cm */ >> } >> >> foo { >> area: 12cm; /* _square_ centimetres actually, but we only need the >> scale, >> the power is encoded in the property */ >> width: 4cm; >> height: auto; /* -> 3cm */ >> } >> >> 1) The 'area' is a new attribute, so it needs to be specified how the > area interacts with other > attributes ("if contradicting..." part), in particular min/max-height. > > 2) The 'area' implies that you can have width of the element dependent from > its height: > foo { > ratio: calc(4/3); > height: 50%; > width: auto; /* ??? */ > } > Dependency of width from height is highly not desirable in CSS layout > model. It is even not feasible > in most of the cases. > > 3) Author may want to say: > foo { > width: 4em; > min-height: width(100%); > height: 50%; > } > This works with the width() but not with the ratio. > > If it counts: I have implemented the width() already - fits in CSS without > any conflicts. > I agree with Andrew here. area: or ratio: is a new property that is less clear than the width() model being used directly in the height: property. As well, it does *not* interact properly with min/max-height, and so is strictly weaker than Andrew's proposal. ~TJ
Received on Tuesday, 25 November 2008 14:33:56 UTC