<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: CSS3 advanced layout module: templates. Discussion and proposal.</title>
	<atom:link href="http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/feed/" rel="self" type="application/rss+xml" />
	<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/</link>
	<description>ecoanarchist rantings from newcastle, australia</description>
	<lastBuildDate>Wed, 08 Jul 2009 00:51:30 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: naught101</title>
		<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/#comment-2596</link>
		<dc:creator>naught101</dc:creator>
		<pubDate>Tue, 02 Dec 2008 01:43:12 +0000</pubDate>
		<guid isPermaLink="false">http://eco101.wordpress.com/?p=70#comment-2596</guid>
		<description>Sure, that sounds like a great idea. I will have a bit of a browse of the Grids proposal.

What would your preferred way of going about it be?</description>
		<content:encoded><![CDATA[<p>Sure, that sounds like a great idea. I will have a bit of a browse of the Grids proposal.</p>
<p>What would your preferred way of going about it be?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xanthir, FCD</title>
		<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/#comment-2595</link>
		<dc:creator>Xanthir, FCD</dc:creator>
		<pubDate>Mon, 01 Dec 2008 14:10:50 +0000</pubDate>
		<guid isPermaLink="false">http://eco101.wordpress.com/?p=70#comment-2595</guid>
		<description>No problem.  I like educating.  ^_^

Note, though, that your newly reduced proposal can be generalized quite a bit for much greater usefulness.

First, realize that all Grid actually does is set up a custom context-sensitive length unit and then specify where it can be used.  This is why Grid is so easy - it can interact with all the existing properties because it lives on a completely orthogonal level, that of the unit rather than of the property.

So, when you say you want the ability to name grid ancestors, what you&#039;re really saying is that you want to be able to specify positioning ancestors.  Wanna work on a proposal together?  ^_^</description>
		<content:encoded><![CDATA[<p>No problem.  I like educating.  ^_^</p>
<p>Note, though, that your newly reduced proposal can be generalized quite a bit for much greater usefulness.</p>
<p>First, realize that all Grid actually does is set up a custom context-sensitive length unit and then specify where it can be used.  This is why Grid is so easy &#8211; it can interact with all the existing properties because it lives on a completely orthogonal level, that of the unit rather than of the property.</p>
<p>So, when you say you want the ability to name grid ancestors, what you&#8217;re really saying is that you want to be able to specify positioning ancestors.  Wanna work on a proposal together?  ^_^</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: naught101</title>
		<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/#comment-2593</link>
		<dc:creator>naught101</dc:creator>
		<pubDate>Mon, 01 Dec 2008 07:31:51 +0000</pubDate>
		<guid isPermaLink="false">http://eco101.wordpress.com/?p=70#comment-2593</guid>
		<description>My proposal is now reduced to one thing: Name grid ancestors and their sub elements :). I guess in most cases there&#039;s not going to be any serious need to avoid a HTML-structure hierarchy that doesn&#039;t match the visual structure if grids are used (since all content and all visuals are always included in the body anyway). 

Thanks for your response Xanthir, very educational. I had a feeling that I should sit on this for a few days after I wrote it, but I guess I got over excited. I&#039;ll have a read of the grid spec, it sounds good.</description>
		<content:encoded><![CDATA[<p>My proposal is now reduced to one thing: Name grid ancestors and their sub elements <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . I guess in most cases there&#8217;s not going to be any serious need to avoid a HTML-structure hierarchy that doesn&#8217;t match the visual structure if grids are used (since all content and all visuals are always included in the body anyway). </p>
<p>Thanks for your response Xanthir, very educational. I had a feeling that I should sit on this for a few days after I wrote it, but I guess I got over excited. I&#8217;ll have a read of the grid spec, it sounds good.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xanthir, FCD</title>
		<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/#comment-2592</link>
		<dc:creator>Xanthir, FCD</dc:creator>
		<pubDate>Mon, 01 Dec 2008 04:58:53 +0000</pubDate>
		<guid isPermaLink="false">http://eco101.wordpress.com/?p=70#comment-2592</guid>
		<description>(Thanks for correcting the quote.  I retract my harsh words.)

Nope, follow the link I provided.  You&#039;re talking about CSS Tables, I&#039;m talking about CSS Grid Positioning.  Completely different things.

In Grid Positioning, you give an element a grid with the grid-rows and grid-columns properties.  You can specify row widths and column heights with any of the CSS length units, plus flex units (units that distribute remaining width between themselves proportionally.  Then you use the normal position: and width:/height: properties with the gr unit (for &quot;grid unit&quot;, corresponding to the context-sensitive width or height of a grid row/column, and determining the context is a little complex but generally does what you&#039;d expect) as appropriate.

Duplicating the template layout you use for comparison would be something like (I&#039;m going off the top of my head, so consider this pseudocode):
body {
grid-rows: 5cm .25cm 5* 2* 3*;
grid-columns: * 3em 2* 3em 3em 2*  3em;
position: relative; //to establish this as a positioned ancestor
}

h1 {
height: 1gr;
}

#toc {
position: absolute;
left: 0;
top: 2gr;
width: 1gr;
height: 3gr;
}

#leader {
position: absolute;
left: 2gr;
top: 2gr;
height: 1gr;
width: 5gr;
}

#art1 {
position: absolute;
left: 2gr;
top: 3gr;
height: 1gr;
width: 5gr;
}

#art2 {
position: absolute;
left: 2gr;
top: 4gr;
height: 1gr;
width: 2gr;
}

#art3 {
position: absolute;
left: 5gr;
top: 4gr;
height: 1gr;
width: 2gr;
}


Note that in my email to the list a week back or so about the template layout, I proposed adopting a proper flex unit, so your example could be simplified quite a bit more to:
body {
display:
&quot;aaaaaaa&quot; /5cm
&quot;.......&quot; /.25cm
&quot;b.ccccc&quot; /5*
&quot;b.ddddd&quot; /2*
&quot;b.ee.ff&quot; /3*
* 3em 2* 3em 3em 2* 3em;
}

(Though you&#039;d probably want to replace the last two row-heights with &quot;intrinsic&quot;, since you&#039;re putting pictures in there which may have varying heights.)

There is still a slight limit in Grid Positioning that doesn&#039;t exist in your proposal, namely that you can only position based on the nearest positioned ancestor, but this is the same limitation that exists in normal CSS positioning.  (Note that you can still use gr units without positioning if you want, and they&#039;ll instead inherit from the nearest grid ancestor, which may be different from the nearest *positioned* grid ancestor.)

And don&#039;t worry about butting in.  Advanced Layout hasn&#039;t moved in years.  Designer response is the surest way to get something worked on.  ^_^</description>
		<content:encoded><![CDATA[<p>(Thanks for correcting the quote.  I retract my harsh words.)</p>
<p>Nope, follow the link I provided.  You&#8217;re talking about CSS Tables, I&#8217;m talking about CSS Grid Positioning.  Completely different things.</p>
<p>In Grid Positioning, you give an element a grid with the grid-rows and grid-columns properties.  You can specify row widths and column heights with any of the CSS length units, plus flex units (units that distribute remaining width between themselves proportionally.  Then you use the normal position: and width:/height: properties with the gr unit (for &#8220;grid unit&#8221;, corresponding to the context-sensitive width or height of a grid row/column, and determining the context is a little complex but generally does what you&#8217;d expect) as appropriate.</p>
<p>Duplicating the template layout you use for comparison would be something like (I&#8217;m going off the top of my head, so consider this pseudocode):<br />
body {<br />
grid-rows: 5cm .25cm 5* 2* 3*;<br />
grid-columns: * 3em 2* 3em 3em 2*  3em;<br />
position: relative; //to establish this as a positioned ancestor<br />
}</p>
<p>h1 {<br />
height: 1gr;<br />
}</p>
<p>#toc {<br />
position: absolute;<br />
left: 0;<br />
top: 2gr;<br />
width: 1gr;<br />
height: 3gr;<br />
}</p>
<p>#leader {<br />
position: absolute;<br />
left: 2gr;<br />
top: 2gr;<br />
height: 1gr;<br />
width: 5gr;<br />
}</p>
<p>#art1 {<br />
position: absolute;<br />
left: 2gr;<br />
top: 3gr;<br />
height: 1gr;<br />
width: 5gr;<br />
}</p>
<p>#art2 {<br />
position: absolute;<br />
left: 2gr;<br />
top: 4gr;<br />
height: 1gr;<br />
width: 2gr;<br />
}</p>
<p>#art3 {<br />
position: absolute;<br />
left: 5gr;<br />
top: 4gr;<br />
height: 1gr;<br />
width: 2gr;<br />
}</p>
<p>Note that in my email to the list a week back or so about the template layout, I proposed adopting a proper flex unit, so your example could be simplified quite a bit more to:<br />
body {<br />
display:<br />
&#8220;aaaaaaa&#8221; /5cm<br />
&#8220;&#8230;&#8230;.&#8221; /.25cm<br />
&#8220;b.ccccc&#8221; /5*<br />
&#8220;b.ddddd&#8221; /2*<br />
&#8220;b.ee.ff&#8221; /3*<br />
* 3em 2* 3em 3em 2* 3em;<br />
}</p>
<p>(Though you&#8217;d probably want to replace the last two row-heights with &#8220;intrinsic&#8221;, since you&#8217;re putting pictures in there which may have varying heights.)</p>
<p>There is still a slight limit in Grid Positioning that doesn&#8217;t exist in your proposal, namely that you can only position based on the nearest positioned ancestor, but this is the same limitation that exists in normal CSS positioning.  (Note that you can still use gr units without positioning if you want, and they&#8217;ll instead inherit from the nearest grid ancestor, which may be different from the nearest *positioned* grid ancestor.)</p>
<p>And don&#8217;t worry about butting in.  Advanced Layout hasn&#8217;t moved in years.  Designer response is the surest way to get something worked on.  ^_^</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: naught101</title>
		<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/#comment-2591</link>
		<dc:creator>naught101</dc:creator>
		<pubDate>Sun, 30 Nov 2008 23:38:53 +0000</pubDate>
		<guid isPermaLink="false">http://eco101.wordpress.com/?p=70#comment-2591</guid>
		<description>Firstly, you&#039;re right, that quote does make it look bad, it wasn&#039;t intended that way. I&#039;ll re-word it.

Re: CSS3 grids: I know about them, I mentioned them in the first paragraph. The main problem with CSS Grids is that there grid cells have to be in the correct order in the HTML. This proposal doesn&#039;t require that: due to the &quot;name&quot; value of the template property. Also, this proposal allows intrusion (described in the advanced layouts WD), which CSS Grids doesn&#039;t.

I fully realise that my butting into a w3c process that&#039;s already many years old is a bit impudent, so thanks for the positive response :)</description>
		<content:encoded><![CDATA[<p>Firstly, you&#8217;re right, that quote does make it look bad, it wasn&#8217;t intended that way. I&#8217;ll re-word it.</p>
<p>Re: CSS3 grids: I know about them, I mentioned them in the first paragraph. The main problem with CSS Grids is that there grid cells have to be in the correct order in the HTML. This proposal doesn&#8217;t require that: due to the &#8220;name&#8221; value of the template property. Also, this proposal allows intrusion (described in the advanced layouts WD), which CSS Grids doesn&#8217;t.</p>
<p>I fully realise that my butting into a w3c process that&#8217;s already many years old is a bit impudent, so thanks for the positive response <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xanthir, FCD</title>
		<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/#comment-2589</link>
		<dc:creator>Xanthir, FCD</dc:creator>
		<pubDate>Sun, 30 Nov 2008 16:31:34 +0000</pubDate>
		<guid isPermaLink="false">http://eco101.wordpress.com/?p=70#comment-2589</guid>
		<description>I already replied to your proposal on the www-style mailing list, but I&#039;ll reply here as well to make it more easily searchable.

Essentially you&#039;re reinventing the wheel - what you describe is merely a rewriting of the CSS3 Grid Positioning Module ( http://www.w3.org/TR/css3-grid/ ).  Don&#039;t worry, though, basically every proposal made in response to Template Layout that I&#039;ve seen is of this form, so you&#039;re not alone.  ^_^  

The WG needs to put a reference into Template referring to Grid Positioning, since Grid is basically Template&#039;s big brother.  Template is extremely easy to use while authoring and easy to visually get an idea of how the page is laid out.  Grid how more power, but isn&#039;t quite as intuitive.  The two together are a good mix I think.


Also, in response to your last comment, display *will* be split into two properties, display-role and display-model, with pretty much the distinction you are making.  The display property by itself will then be a shortcut property, like margin is for margin-left, margin-top, etc.


Finally, that quote you use from Ben Ward&#039;s blog is EXTREMELY dishonest.  It&#039;s used completely out of context, which is disgusting.  The full sentence you grabbed the quote from is &quot;Sounds a bit hacky, perhaps even silly but I think it’s a good move; it’ll be very easy to explain and grasp.&quot;  You directly imply that the Ben Ward disapproves of Template Layout, and rely on the reader to correct that misapprehension themselves.  You need to either take out that reference altogether, or put in a parenthetical note that Ben still believes Template Layout to be a good idea.</description>
		<content:encoded><![CDATA[<p>I already replied to your proposal on the www-style mailing list, but I&#8217;ll reply here as well to make it more easily searchable.</p>
<p>Essentially you&#8217;re reinventing the wheel &#8211; what you describe is merely a rewriting of the CSS3 Grid Positioning Module ( <a href="http://www.w3.org/TR/css3-grid/" rel="nofollow">http://www.w3.org/TR/css3-grid/</a> ).  Don&#8217;t worry, though, basically every proposal made in response to Template Layout that I&#8217;ve seen is of this form, so you&#8217;re not alone.  ^_^  </p>
<p>The WG needs to put a reference into Template referring to Grid Positioning, since Grid is basically Template&#8217;s big brother.  Template is extremely easy to use while authoring and easy to visually get an idea of how the page is laid out.  Grid how more power, but isn&#8217;t quite as intuitive.  The two together are a good mix I think.</p>
<p>Also, in response to your last comment, display *will* be split into two properties, display-role and display-model, with pretty much the distinction you are making.  The display property by itself will then be a shortcut property, like margin is for margin-left, margin-top, etc.</p>
<p>Finally, that quote you use from Ben Ward&#8217;s blog is EXTREMELY dishonest.  It&#8217;s used completely out of context, which is disgusting.  The full sentence you grabbed the quote from is &#8220;Sounds a bit hacky, perhaps even silly but I think it’s a good move; it’ll be very easy to explain and grasp.&#8221;  You directly imply that the Ben Ward disapproves of Template Layout, and rely on the reader to correct that misapprehension themselves.  You need to either take out that reference altogether, or put in a parenthetical note that Ben still believes Template Layout to be a good idea.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: naught101</title>
		<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/#comment-2587</link>
		<dc:creator>naught101</dc:creator>
		<pubDate>Sat, 29 Nov 2008 04:31:38 +0000</pubDate>
		<guid isPermaLink="false">http://eco101.wordpress.com/?p=70#comment-2587</guid>
		<description>There&#039;s still a problem, due to the possibility of nested templates: if the first template and the nested template both have an &quot;a&quot; cell, I would imagine the element defined with &lt;em&gt;position: &quot;a&quot;;&lt;/em&gt; would default to being a cell of the template closest in the hierarchy. You&#039;re right though, this is not a sub-child problem, since on re-reading parts of the Draft it&#039;s obvious that a parent-child relationship isn&#039;t necessary, it&#039;s simply a problem with multiple templates with the same cell names. Some way to define a name for each template, or possibly having a way to select a layout by ID selector, would fix that.

No, not setting the width/height wouldn&#039;t over come it in all cases, ie:
&quot;a a a a&quot;
&quot;b c c c&quot;
&quot;b c c c&quot;
&quot;d e e e&quot;
If you simply want to remove &quot;d&quot;, and extend either &quot;b&quot; or &quot;e&quot; to that position, the template won&#039;t let you, because of the existing dimensions of the other element.

The funny shapes thing is plausible, but element shape isn&#039;t mentioned in the spec at all. If you were going to do something like this, why limit yourself to weird tetris shapes? Why not just use something like SVG? It&#039;s almost certainly going to be implemented widely before this CSS3 module is...

I guess that&#039;s true about the display property. If the element needs to stay there but be invisible, there&#039;s visibility: hidden. The display property just feels huge an convoluted. There are almost two distinct sets of values within it:
Single-element display values, like &quot;run-in&quot;, &quot;block&quot; and &quot;inline&quot;
Multiple-element values, like &quot;table&quot;, and then the new template system, designed for layout
and &quot;none&quot;, which is unique, and &quot;marker&quot;, which is also.
Perhaps just splitting the second group of into a similarly generic &lt;em&gt;layout&lt;/em&gt; property?</description>
		<content:encoded><![CDATA[<p>There&#8217;s still a problem, due to the possibility of nested templates: if the first template and the nested template both have an &#8220;a&#8221; cell, I would imagine the element defined with <em>position: &#8220;a&#8221;;</em> would default to being a cell of the template closest in the hierarchy. You&#8217;re right though, this is not a sub-child problem, since on re-reading parts of the Draft it&#8217;s obvious that a parent-child relationship isn&#8217;t necessary, it&#8217;s simply a problem with multiple templates with the same cell names. Some way to define a name for each template, or possibly having a way to select a layout by ID selector, would fix that.</p>
<p>No, not setting the width/height wouldn&#8217;t over come it in all cases, ie:<br />
&#8220;a a a a&#8221;<br />
&#8220;b c c c&#8221;<br />
&#8220;b c c c&#8221;<br />
&#8220;d e e e&#8221;<br />
If you simply want to remove &#8220;d&#8221;, and extend either &#8220;b&#8221; or &#8220;e&#8221; to that position, the template won&#8217;t let you, because of the existing dimensions of the other element.</p>
<p>The funny shapes thing is plausible, but element shape isn&#8217;t mentioned in the spec at all. If you were going to do something like this, why limit yourself to weird tetris shapes? Why not just use something like SVG? It&#8217;s almost certainly going to be implemented widely before this CSS3 module is&#8230;</p>
<p>I guess that&#8217;s true about the display property. If the element needs to stay there but be invisible, there&#8217;s visibility: hidden. The display property just feels huge an convoluted. There are almost two distinct sets of values within it:<br />
Single-element display values, like &#8220;run-in&#8221;, &#8220;block&#8221; and &#8220;inline&#8221;<br />
Multiple-element values, like &#8220;table&#8221;, and then the new template system, designed for layout<br />
and &#8220;none&#8221;, which is unique, and &#8220;marker&#8221;, which is also.<br />
Perhaps just splitting the second group of into a similarly generic <em>layout</em> property?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oliver Coleman</title>
		<link>http://eco101.wordpress.com/2008/11/28/css3-advanced-layout-module-templates/#comment-2586</link>
		<dc:creator>Oliver Coleman</dc:creator>
		<pubDate>Sat, 29 Nov 2008 03:54:22 +0000</pubDate>
		<guid isPermaLink="false">http://eco101.wordpress.com/?p=70#comment-2586</guid>
		<description>I&#039;ve only skimmed the working draft (bad me, but I&#039;m short on time).

I can&#039;t see how the working draft causes the &quot;sub-child&quot; (should this be just &quot;child&quot;, &quot;sub&quot; seems superfluous?) limitation. The examples use children as the cells, but this just seems to be because they&#039;re comparing it with the table model, which does require parent&gt;child relationships in the markup.

Yes, it would be annoying to have to define a layout for each page element combination (and having to rely on the markup to specify which combination it was would be even more annoying). Perhaps this can be overcome by not setting dimensions for empty rows/columns and specifying dimensions directly on the elements that are to appear in the table (and then rows/columns with no or hidden elements would shrink to zero)?

Funny shaped areas: perhaps this is intentional? Perhaps the elements placed in the funny shape are intended to flow into the space (the way elements do around conventional left or right floated elements)? Perhaps the neatest way for this to be described is to use the grid format in the working draft?

I think use of the display and position properties is appropriate (or appropriate enough). Like you say, the &quot;none&quot;, &quot;table&quot; and proposed template values are all mutually exclusive (we don&#039;t care whether it used to be a table or template layout if it&#039;s being hidden). Actually, I retract that: when using JS to dynamically hide elements, one would have to store the current &quot;display&quot; value before setting it to &quot;none&quot;, and reinstate when unhiding the element. Not a big issue, but a bit Boring.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve only skimmed the working draft (bad me, but I&#8217;m short on time).</p>
<p>I can&#8217;t see how the working draft causes the &#8220;sub-child&#8221; (should this be just &#8220;child&#8221;, &#8220;sub&#8221; seems superfluous?) limitation. The examples use children as the cells, but this just seems to be because they&#8217;re comparing it with the table model, which does require parent&gt;child relationships in the markup.</p>
<p>Yes, it would be annoying to have to define a layout for each page element combination (and having to rely on the markup to specify which combination it was would be even more annoying). Perhaps this can be overcome by not setting dimensions for empty rows/columns and specifying dimensions directly on the elements that are to appear in the table (and then rows/columns with no or hidden elements would shrink to zero)?</p>
<p>Funny shaped areas: perhaps this is intentional? Perhaps the elements placed in the funny shape are intended to flow into the space (the way elements do around conventional left or right floated elements)? Perhaps the neatest way for this to be described is to use the grid format in the working draft?</p>
<p>I think use of the display and position properties is appropriate (or appropriate enough). Like you say, the &#8220;none&#8221;, &#8220;table&#8221; and proposed template values are all mutually exclusive (we don&#8217;t care whether it used to be a table or template layout if it&#8217;s being hidden). Actually, I retract that: when using JS to dynamically hide elements, one would have to store the current &#8220;display&#8221; value before setting it to &#8220;none&#8221;, and reinstate when unhiding the element. Not a big issue, but a bit Boring.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
