* Aligning Columns in HTML Export Tables @ 2010-10-20 16:42 Jeff Horn 2010-10-20 17:16 ` Bernt Hansen 0 siblings, 1 reply; 38+ messages in thread From: Jeff Horn @ 2010-10-20 16:42 UTC (permalink / raw) To: Org-mode ml Hi all, Is there a way to specify a particular column in org-mode that will be exported right-aligned in HTML? | A | B | C | | 1 | 2 | 3 | For the table above, I would like column C right aligned when I export to HTML, but the other column aligned in the default way (left aligned?). Thanks in advance, Jeff -- Jeffrey Horn Graduate Lecturer and PhD Student in Economics George Mason University (704) 271-4797 jhorn@gmu.edu jrhorn424@gmail.com http://www.failuretorefrain.com/jeff/ ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Aligning Columns in HTML Export Tables 2010-10-20 16:42 Aligning Columns in HTML Export Tables Jeff Horn @ 2010-10-20 17:16 ` Bernt Hansen 2010-10-20 19:04 ` Christian Moe ` (2 more replies) 0 siblings, 3 replies; 38+ messages in thread From: Bernt Hansen @ 2010-10-20 17:16 UTC (permalink / raw) To: Jeff Horn; +Cc: Org-mode ml Jeff Horn <jrhorn424@gmail.com> writes: > Is there a way to specify a particular column in org-mode that will be > exported right-aligned in HTML? > > | A | B | C | > | 1 | 2 | 3 | > > For the table above, I would like column C right aligned when I export > to HTML, but the other column aligned in the default way (left > aligned?). I think this is supposed to work but it seems the exporters do not honour the alignment details. | <l> | <l> | <r> | | A | B | C | | 1 | 2 | 3 | | 12 | 13 | 300 | | 9 | 11 | 4 | Regards, Bernt ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-20 17:16 ` Bernt Hansen @ 2010-10-20 19:04 ` Christian Moe 2010-10-20 20:11 ` Jeff Horn 2010-10-21 0:25 ` Sebastian Rose 2010-10-22 7:32 ` Carsten Dominik 2 siblings, 1 reply; 38+ messages in thread From: Christian Moe @ 2010-10-20 19:04 UTC (permalink / raw) To: Bernt Hansen; +Cc: Jeff Horn, Org-mode ml On 10/20/10 7:16 PM, Bernt Hansen wrote: > Jeff Horn<jrhorn424@gmail.com> writes: > >> Is there a way to specify a particular column in org-mode that will be >> exported right-aligned in HTML? >> >> | A | B | C | >> | 1 | 2 | 3 | >> >> For the table above, I would like column C right aligned when I export >> to HTML, but the other column aligned in the default way (left >> aligned?). > > I think this is supposed to work but it seems the exporters do not > honour the alignment details. > > |<l> |<l> |<r> | > | A | B | C | > | 1 | 2 | 3 | > | 12 | 13 | 300 | > | 9 | 11 | 4 | > That's what I find. Ironically, the HTML exporter even includes a =colgroup= with a local =align= attribute set on each =col=, but they all get set to ~align="right"~ despite the settings in the table. Not that it matters; e.g. Firefox doesn't honor colgroup formatting anyway. As a CSS workaround for this particular example, you could add this to the header lines: : #+style: <style>tr td + td + td {text-align: right;}</style> -- but it would clearly be nicer if the exporter honored the settings. Yours, CM ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-20 19:04 ` Christian Moe @ 2010-10-20 20:11 ` Jeff Horn 0 siblings, 0 replies; 38+ messages in thread From: Jeff Horn @ 2010-10-20 20:11 UTC (permalink / raw) To: mail; +Cc: Bernt Hansen, Org-mode ml On Wed, Oct 20, 2010 at 3:04 PM, Christian Moe <mail@christianmoe.com> wrote: > #+style: <style>tr td + td + td {text-align: right;}</style> Thanks Christian, this workaround is OK for me at the moment since I'm just making this change in one file. +1 (naturally) for the exporter honoring column alignment settings. -- Jeffrey Horn Graduate Lecturer and PhD Student in Economics George Mason University (704) 271-4797 jhorn@gmu.edu jrhorn424@gmail.com http://www.failuretorefrain.com/jeff/ ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-20 17:16 ` Bernt Hansen 2010-10-20 19:04 ` Christian Moe @ 2010-10-21 0:25 ` Sebastian Rose 2010-10-21 7:36 ` Christian Moe 2010-10-22 7:32 ` Carsten Dominik 2 siblings, 1 reply; 38+ messages in thread From: Sebastian Rose @ 2010-10-21 0:25 UTC (permalink / raw) To: Bernt Hansen; +Cc: Jeff Horn, Org-mode ml Bernt Hansen <bernt@norang.ca> writes: > Jeff Horn <jrhorn424@gmail.com> writes: > >> Is there a way to specify a particular column in org-mode that will be >> exported right-aligned in HTML? >> >> | A | B | C | >> | 1 | 2 | 3 | >> >> For the table above, I would like column C right aligned when I export >> to HTML, but the other column aligned in the default way (left >> aligned?). > > I think this is supposed to work but it seems the exporters do not > honour the alignment details. > > | <l> | <l> | <r> | > | A | B | C | > | 1 | 2 | 3 | > | 12 | 13 | 300 | > | 9 | 11 | 4 | I get <colgroup><col align="left" /><col align="left" /><col align="right" /> </colgroup> as expected. In Opera it works for me, if I remove the styles for `td' from my stylesheet. The styles for table data cells will overrule the align attribute in the col tag. Current Firefox seems to ignore the align attribute, although it's valid XHTML. The only save way to get the alignment right would be to use a "style" attribute for each and every table cell directly: <td style="text-align:right">.... Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-21 0:25 ` Sebastian Rose @ 2010-10-21 7:36 ` Christian Moe 2010-10-21 7:46 ` Carsten Dominik 0 siblings, 1 reply; 38+ messages in thread From: Christian Moe @ 2010-10-21 7:36 UTC (permalink / raw) To: Sebastian Rose; +Cc: Bernt Hansen, Jeff Horn, Org-mode ml On 10/21/10 2:25 AM, Sebastian Rose wrote: (...) >> >> |<l> |<l> |<r> | >> | A | B | C | >> | 1 | 2 | 3 | >> | 12 | 13 | 300 | >> | 9 | 11 | 4 | > > > I get > > <colgroup><col align="left" /><col align="left" /><col align="right" /> > </colgroup> > > as expected. That's interesting. From the same example I get <colgroup><col align="right" /><col align="right" /><col align="right" /></colgroup> ...using freshly pulled 7.01trans. What might account for the difference? > In Opera it works for me, if I remove the styles for `td' from my > stylesheet. The styles for table data cells will overrule the align > attribute in the col tag. > > Current Firefox seems to ignore the align attribute, although it's valid > XHTML. Good for Opera! I think Firefox generally ignores colgroup styling. Doesn't work on Safari, either. CM ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-21 7:36 ` Christian Moe @ 2010-10-21 7:46 ` Carsten Dominik 2010-10-21 13:04 ` Sebastian Rose 0 siblings, 1 reply; 38+ messages in thread From: Carsten Dominik @ 2010-10-21 7:46 UTC (permalink / raw) To: mail; +Cc: Bernt Hansen, Jeff Horn, Org-mode ml On Oct 21, 2010, at 9:36 AM, Christian Moe wrote: > On 10/21/10 2:25 AM, Sebastian Rose wrote: > (...) >>> >>> |<l> |<l> |<r> | >>> | A | B | C | >>> | 1 | 2 | 3 | >>> | 12 | 13 | 300 | >>> | 9 | 11 | 4 | >> >> >> I get >> >> <colgroup><col align="left" /><col align="left" /><col >> align="right" /> >> </colgroup> >> >> as expected. > > That's interesting. From the same example I get > > <colgroup><col align="right" /><col align="right" /><col > align="right" /></colgroup> > > ...using freshly pulled 7.01trans. What might account for the > difference? Actually, I also get what Christian gets. Sebastian, how did you get something different? Currently alignment is only by the fraction of number in the column, not by the <l> and <r> markers. Should be of cause... - Carsten ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-21 7:46 ` Carsten Dominik @ 2010-10-21 13:04 ` Sebastian Rose 2010-10-21 13:25 ` Sebastian Rose 0 siblings, 1 reply; 38+ messages in thread From: Sebastian Rose @ 2010-10-21 13:04 UTC (permalink / raw) To: Carsten Dominik; +Cc: Bernt Hansen, Jeff Horn, Org-mode ml, mail Carsten Dominik <carsten.dominik@gmail.com> writes: > On Oct 21, 2010, at 9:36 AM, Christian Moe wrote: > >> On 10/21/10 2:25 AM, Sebastian Rose wrote: >> (...) >>>> >>>> |<l> |<l> |<r> | >>>> | A | B | C | >>>> | 1 | 2 | 3 | >>>> | 12 | 13 | 300 | >>>> | 9 | 11 | 4 | >>> >>> >>> I get >>> >>> <colgroup><col align="left" /><col align="left" /><col align="right" /> >>> </colgroup> >>> >>> as expected. >> >> That's interesting. From the same example I get >> >> <colgroup><col align="right" /><col align="right" /><col align="right" >> /></colgroup> >> >> ...using freshly pulled 7.01trans. What might account for the difference? > > Actually, I also get what Christian gets. Sebastian, how did you get something > different? I guess I just didn't pull for a few days. Nononono, just kidding :) I tried my own table, which is different: a) The <l> line is the last one. b) There's an empty extra column, the first one, as the docs propose. This column contains in the first cell of the "<l> | <r>" line a slash: | | A | B | C | | | 1 | 2 | 3 | | | 12 | 13 | 300 | | | 9 | 11 | 4 | | / | <l> | <l> | <r> | All this does not help. But the third difference might be the key: c) The table is a captured column view ("#+BEGIN: columnview...") with 293 lines. Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-21 13:04 ` Sebastian Rose @ 2010-10-21 13:25 ` Sebastian Rose 0 siblings, 0 replies; 38+ messages in thread From: Sebastian Rose @ 2010-10-21 13:25 UTC (permalink / raw) To: Carsten Dominik; +Cc: Bernt Hansen, Jeff Horn, Org-mode ml, mail Sebastian Rose <sebastian_rose@gmx.de> writes: > Carsten Dominik <carsten.dominik@gmail.com> writes: >> On Oct 21, 2010, at 9:36 AM, Christian Moe wrote: >> >>> On 10/21/10 2:25 AM, Sebastian Rose wrote: >>> (...) >>>>> >>>>> |<l> |<l> |<r> | >>>>> | A | B | C | >>>>> | 1 | 2 | 3 | >>>>> | 12 | 13 | 300 | >>>>> | 9 | 11 | 4 | >>>> >>>> >>>> I get >>>> >>>> <colgroup><col align="left" /><col align="left" /><col align="right" /> >>>> </colgroup> >>>> >>>> as expected. >>> >>> That's interesting. From the same example I get >>> >>> <colgroup><col align="right" /><col align="right" /><col align="right" >>> /></colgroup> >>> >>> ...using freshly pulled 7.01trans. What might account for the difference? >> >> Actually, I also get what Christian gets. Sebastian, how did you get something >> different? > > > I guess I just didn't pull for a few days. > > Nononono, just kidding :) > > I tried my own table, which is different: > > a) The <l> line is the last one. > b) There's an empty extra column, the first one, as the docs propose. > This column contains in the first cell of the "<l> | <r>" line a > slash: > > | | A | B | C | > | | 1 | 2 | 3 | > | | 12 | 13 | 300 | > | | 9 | 11 | 4 | > | / | <l> | <l> | <r> | > > > All this does not help. But the third difference might be the key: > > c) The table is a captured column view ("#+BEGIN: columnview...") with > 293 lines. Well, OK, forget it... It was just that my <l>s and <r>s matched with the sensible thing to do for each column. Seems it's just looking at the numbers and says "OK, numbers only, right aligned", just as you said in a previous mail. | | A | B | C | |---+-----+------+------| | | 1 | bar | text | | | 12 | test | 300 | | | 9 | foo | 4 | | / | <l> | <l> | <r> | gives us <colgroup><col align="right" /><col align="left" /><col align="left" /> </colgroup> Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-20 17:16 ` Bernt Hansen 2010-10-20 19:04 ` Christian Moe 2010-10-21 0:25 ` Sebastian Rose @ 2010-10-22 7:32 ` Carsten Dominik 2010-10-22 11:20 ` Sebastian Rose 2010-10-25 4:36 ` Baoqiu Cui 2 siblings, 2 replies; 38+ messages in thread From: Carsten Dominik @ 2010-10-22 7:32 UTC (permalink / raw) To: Bernt Hansen, Eric Schulte, Dan Davison, Baoqiu Cui Cc: Jeff Horn, Org-mode ml On Oct 20, 2010, at 7:16 PM, Bernt Hansen wrote: > Jeff Horn <jrhorn424@gmail.com> writes: > >> Is there a way to specify a particular column in org-mode that will >> be >> exported right-aligned in HTML? >> >> | A | B | C | >> | 1 | 2 | 3 | >> >> For the table above, I would like column C right aligned when I >> export >> to HTML, but the other column aligned in the default way (left >> aligned?). > > I think this is supposed to work but it seems the exporters do not > honour the alignment details. > > | <l> | <l> | <r> | > | A | B | C | > | 1 | 2 | 3 | > | 12 | 13 | 300 | > | 9 | 11 | 4 | I have now fixed this issue, at least for the HTML exporter. 1. The HTML exporter now puts a style attribute onto each individual field to make sure the field is aligned correctly. Many Browsers need this, as pointed out by Sebastian. If you do not like this overhead, you can configure org-export-html-table-align-individual-fields. If you do, the alignment will still be noted in the column tags, handled correctly by Opera, but not by Firefox and Safari. 2. The HTML exporter will also honor a "<c>" cookie. Note that this will not change anything inside an Org buffer - this would be complex to implement because of all the extra magic Org does with limited column width etc etc. 3. The LaTeX exporter does not yet honor <c>, while it does honor <l> and <r>. The reason for this is that currently the vector remembering the alignment is a vector of booleans, and larger changes are necessary in order to allow for a third value. This will come, but I do not have the time today. Eric and Dan, please take note of this change and make sure that the Babel routines do not get in trouble by this new cookie. Baoqiu, (or any other users of the docbook exporter) I am not sure if the docbook format has suffered from this change, could you please run a few tests involving tables and report back? Jeff, thanks for kicking this threat off, this is a nice improvement. Cheers - Carsten Cheers > > Regards, > Bernt > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 7:32 ` Carsten Dominik @ 2010-10-22 11:20 ` Sebastian Rose 2010-10-22 11:27 ` Carsten Dominik 2010-10-25 4:36 ` Baoqiu Cui 1 sibling, 1 reply; 38+ messages in thread From: Sebastian Rose @ 2010-10-22 11:20 UTC (permalink / raw) To: Carsten Dominik Cc: Jeff Horn, Dan Davison, Bernt Hansen, Org-mode ml, Baoqiu Cui Carsten Dominik <carsten.dominik@gmail.com> writes: >> | <l> | <l> | <r> | >> | A | B | C | >> | 1 | 2 | 3 | >> | 12 | 13 | 300 | >> | 9 | 11 | 4 | > > I have now fixed this issue, at least for the HTML exporter. > > 1. The HTML exporter now puts a style attribute onto each > individual field to make sure the field is aligned correctly. > Many Browsers need this, as pointed out by Sebastian. > If you do not like this overhead, you can configure > org-export-html-table-align-individual-fields. If you > do, the alignment will still be noted in the column tags, > handled correctly by Opera, but not by Firefox and Safari. > > 2. The HTML exporter will also honor a "<c>" cookie. Note that > this will not change anything inside an Org buffer - this would > be complex to implement because of all the extra magic Org does > with limited column width etc etc. > > 3. The LaTeX exporter does not yet honor <c>, while it does honor > <l> and <r>. The reason for this is that currently the vector > remembering the alignment is a vector of booleans, and larger > changes are necessary in order to allow for a third value. > This will come, but I do not have the time today. Hi Carsten, | | A | B | C | |---+-----+------+------| | | 1 | bar | text | | | 12 | test | 300 | | | 9 | foo | 4 | | / | <> | <> | <> | now gives me: <table border="0" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <caption></caption> <colgroup><col align="right" /></colgroup> <colgroup><col align="left" /></colgroup> <colgroup><col align="left" /></colgroup> <thead> and I have no style attributes in the <td> tags. Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 11:20 ` Sebastian Rose @ 2010-10-22 11:27 ` Carsten Dominik 2010-10-22 13:59 ` Sebastian Rose 0 siblings, 1 reply; 38+ messages in thread From: Carsten Dominik @ 2010-10-22 11:27 UTC (permalink / raw) To: Sebastian Rose Cc: Jeff Horn, Dan Davison, Bernt Hansen, Org-mode ml, Baoqiu Cui Hi Sebastian, my guess would be that you have customized the td and th tags? If yes, please reset the customization, you need the new default values (which you then can still modify). Please check the variables org-export-table-header-tags and org-export-table-data-tags. - Carsten On Oct 22, 2010, at 1:20 PM, Sebastian Rose wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: >>> | <l> | <l> | <r> | >>> | A | B | C | >>> | 1 | 2 | 3 | >>> | 12 | 13 | 300 | >>> | 9 | 11 | 4 | >> >> I have now fixed this issue, at least for the HTML exporter. >> >> 1. The HTML exporter now puts a style attribute onto each >> individual field to make sure the field is aligned correctly. >> Many Browsers need this, as pointed out by Sebastian. >> If you do not like this overhead, you can configure >> org-export-html-table-align-individual-fields. If you >> do, the alignment will still be noted in the column tags, >> handled correctly by Opera, but not by Firefox and Safari. >> >> 2. The HTML exporter will also honor a "<c>" cookie. Note that >> this will not change anything inside an Org buffer - this would >> be complex to implement because of all the extra magic Org does >> with limited column width etc etc. >> >> 3. The LaTeX exporter does not yet honor <c>, while it does honor >> <l> and <r>. The reason for this is that currently the vector >> remembering the alignment is a vector of booleans, and larger >> changes are necessary in order to allow for a third value. >> This will come, but I do not have the time today. > > > > Hi Carsten, > > > | | A | B | C | > |---+-----+------+------| > | | 1 | bar | text | > | | 12 | test | 300 | > | | 9 | foo | 4 | > | / | <> | <> | <> | > > > now gives me: > > <table border="0" cellspacing="0" cellpadding="6" rules="groups" > frame="hsides"> > <caption></caption> > <colgroup><col align="right" /></colgroup> > <colgroup><col align="left" /></colgroup> > <colgroup><col align="left" /></colgroup> > <thead> > > > and I have no style attributes in the <td> tags. > > > > Sebastian - Carsten ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 11:27 ` Carsten Dominik @ 2010-10-22 13:59 ` Sebastian Rose 2010-10-22 15:41 ` Carsten Dominik 0 siblings, 1 reply; 38+ messages in thread From: Sebastian Rose @ 2010-10-22 13:59 UTC (permalink / raw) To: Carsten Dominik Cc: Jeff Horn, Dan Davison, Bernt Hansen, Org-mode ml, Baoqiu Cui Carsten Dominik <carsten.dominik@gmail.com> writes: > Hi Sebastian, > > my guess would be that you have customized the td and th tags? If yes, please > reset the customization, you need the new default values (which you then can > still modify). > > Please check the variables org-export-table-header-tags and > org-export-table-data-tags. I've checked them, but they are not customized: Hide Org Export Table Data Tags: Opening tag: <td%s> Closing tag: </td> State : STANDARD. Hide Org Export Table Header Tags: Opening tag: <th scope="%s"> Closing tag: </th> State : STANDARD. The export of the OPs table works as expected. But the table I've sent is different in that it just uses empty `<>' marks for grouping and creating lines. Sebastian >> | | A | B | C | >> |---+-----+------+------| >> | | 1 | bar | text | >> | | 12 | test | 300 | >> | | 9 | foo | 4 | >> | / | <> | <> | <> | >> >> >> now gives me: >> >> <table border="0" cellspacing="0" cellpadding="6" rules="groups" >> frame="hsides"> >> <caption></caption> >> <colgroup><col align="right" /></colgroup> >> <colgroup><col align="left" /></colgroup> >> <colgroup><col align="left" /></colgroup> >> <thead> >> >> >> and I have no style attributes in the <td> tags. ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 13:59 ` Sebastian Rose @ 2010-10-22 15:41 ` Carsten Dominik 2010-10-22 19:30 ` Sebastian Rose 2010-10-22 19:37 ` Sebastian Rose 0 siblings, 2 replies; 38+ messages in thread From: Carsten Dominik @ 2010-10-22 15:41 UTC (permalink / raw) To: Sebastian Rose Cc: Jeff Horn, Dan Davison, Bernt Hansen, Org-mode ml, Baoqiu Cui On Oct 22, 2010, at 3:59 PM, Sebastian Rose wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: >> Hi Sebastian, >> >> my guess would be that you have customized the td and th tags? If >> yes, please >> reset the customization, you need the new default values (which >> you then can >> still modify). >> >> Please check the variables org-export-table-header-tags and >> org-export-table-data-tags. > > > I've checked them, but they are not customized: > > Hide Org Export Table Data Tags: > Opening tag: <td%s> > Closing tag: </td> > State : STANDARD. This does look right. > > Hide Org Export Table Header Tags: > Opening tag: <th scope="%s"> > Closing tag: </th> > State : STANDARD. This does not look right, it should be Opening tag: <th scope="%s"%s> Closing tag: </th> > > > The export of the OPs table works as expected. But the table I've > sent > is different in that it just uses empty `<>' marks for grouping and > creating lines. While I do not think it is particularly nice that you try to fool the parser in this way :-/ it actually behaves quite well :-D Here is what I get when I export this table: ------------------------------------------------------------------------------------------- <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <caption></caption> <colgroup><col align="right" /></colgroup><colgroup><col align="left" / ></colgroup><colgroup><col align="left" /></colgroup> <thead> <tr><th scope="col" style="text-align:right">A</th><th scope="col" style="text-align:left">B</th><th scope="col" style="text- align:left">C</th></tr> </thead> <tbody> <tr><td style="text-align:right">1</td><td style="text- align:left">bar</td><td style="text-align:left">text</td></tr> <tr><td style="text-align:right">12</td><td style="text- align:left">test</td><td style="text-align:left">300</td></tr> <tr><td style="text-align:right">9</td><td style="text- align:left">foo</td><td style="text-align:left">4</td></tr> </tbody> </table> ------------------------------------------------------------------------------------------- The left/right comes from the analysis of the number of numbers in each column... So I must assume that maybe some of your files did not update correctly or you have some old compiled files... ? - Carsten ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 15:41 ` Carsten Dominik @ 2010-10-22 19:30 ` Sebastian Rose 2010-10-23 5:42 ` Carsten Dominik 2010-10-22 19:37 ` Sebastian Rose 1 sibling, 1 reply; 38+ messages in thread From: Sebastian Rose @ 2010-10-22 19:30 UTC (permalink / raw) To: Carsten Dominik Cc: Jeff Horn, Dan Davison, Bernt Hansen, Org-mode ml, Baoqiu Cui Carsten Dominik <carsten.dominik@gmail.com> writes: > On Oct 22, 2010, at 3:59 PM, Sebastian Rose wrote: > >> Carsten Dominik <carsten.dominik@gmail.com> writes: >>> Hi Sebastian, >>> >>> my guess would be that you have customized the td and th tags? If yes, >>> please >>> reset the customization, you need the new default values (which you then can >>> still modify). >>> >>> Please check the variables org-export-table-header-tags and >>> org-export-table-data-tags. >> >> >> I've checked them, but they are not customized: >> >> Hide Org Export Table Data Tags: >> Opening tag: <td%s> >> Closing tag: </td> >> State : STANDARD. > > This does look right. > >> >> Hide Org Export Table Header Tags: >> Opening tag: <th scope="%s"> >> Closing tag: </th> >> State : STANDARD. > > This does not look right, it should be > > Opening tag: <th scope="%s"%s> > Closing tag: </th> > > >> >> >> The export of the OPs table works as expected. But the table I've sent >> is different in that it just uses empty `<>' marks for grouping and >> creating lines. > > While I do not think it is particularly nice that you > try to fool the parser in this way :-/ > it actually behaves quite well :-D > > Here is what I get when I export this table: > > ------------------------------------------------------------------------------------------- > <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> > <caption></caption> > <colgroup><col align="right" /></colgroup><colgroup><col align="left" / >></colgroup><colgroup><col align="left" /></colgroup> > <thead> > <tr><th scope="col" style="text-align:right">A</th><th scope="col" > style="text-align:left">B</th><th scope="col" style="text- > align:left">C</th></tr> > </thead> > <tbody> > <tr><td style="text-align:right">1</td><td style="text- > align:left">bar</td><td style="text-align:left">text</td></tr> > <tr><td style="text-align:right">12</td><td style="text- > align:left">test</td><td style="text-align:left">300</td></tr> > <tr><td style="text-align:right">9</td><td style="text- > align:left">foo</td><td style="text-align:left">4</td></tr> > </tbody> > </table> > ------------------------------------------------------------------------------------------- > > > The left/right comes from the analysis of the number of numbers > in each column... > > So I must assume that maybe some of your files did not > update correctly or you have some old compiled files... ? OK, found it. It was in my .emacs which I didn't use for ages... But: <colgroup><col align="right" /></colgroup><colgroup><col align="left" /></colgroup><colgroup><col align="left" /></colgroup> must be: <colgroup><col align="right" /><col align="left" /><col align="left" /></colgroup> i.e. "<colgroup>" and "</colgroup>" have to occur only once each and wrap the "<col ... />" definitions. The </colgroup> after each "<col ... />" happens only for the second table. The rest is just fine :) Correct: | | A | B | C | |---+-----+------+------| | | 1 | bar | text | | | 12 | test | 300 | | | 9 | foo | 4 | | / | <l> | <l> | <r> | Wrong: | | A | B | C | |---+----+------+------| | | 1 | bar | text | | | 12 | test | 300 | | | 9 | foo | 4 | | / | <> | <> | <> | Thanks for the fix! Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 19:30 ` Sebastian Rose @ 2010-10-23 5:42 ` Carsten Dominik 2010-10-23 19:03 ` Sebastian Rose 0 siblings, 1 reply; 38+ messages in thread From: Carsten Dominik @ 2010-10-23 5:42 UTC (permalink / raw) To: Sebastian Rose; +Cc: Org-mode ml On Oct 22, 2010, at 9:30 PM, Sebastian Rose wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: >> On Oct 22, 2010, at 3:59 PM, Sebastian Rose wrote: >> >>> Carsten Dominik <carsten.dominik@gmail.com> writes: >>>> Hi Sebastian, >>>> >>>> my guess would be that you have customized the td and th tags? >>>> If yes, >>>> please >>>> reset the customization, you need the new default values (which >>>> you then can >>>> still modify). >>>> >>>> Please check the variables org-export-table-header-tags and >>>> org-export-table-data-tags. >>> >>> >>> I've checked them, but they are not customized: >>> >>> Hide Org Export Table Data Tags: >>> Opening tag: <td%s> >>> Closing tag: </td> >>> State : STANDARD. >> >> This does look right. >> >>> >>> Hide Org Export Table Header Tags: >>> Opening tag: <th scope="%s"> >>> Closing tag: </th> >>> State : STANDARD. >> >> This does not look right, it should be >> >> Opening tag: <th scope="%s"%s> >> Closing tag: </th> >> >> >>> >>> >>> The export of the OPs table works as expected. But the table I've >>> sent >>> is different in that it just uses empty `<>' marks for grouping and >>> creating lines. >> >> While I do not think it is particularly nice that you >> try to fool the parser in this way :-/ >> it actually behaves quite well :-D >> >> Here is what I get when I export this table: >> >> ------------------------------------------------------------------------------------------- >> <table border="2" cellspacing="0" cellpadding="6" rules="groups" >> frame="hsides"> >> <caption></caption> >> <colgroup><col align="right" /></colgroup><colgroup><col >> align="left" / >>> </colgroup><colgroup><col align="left" /></colgroup> >> <thead> >> <tr><th scope="col" style="text-align:right">A</th><th scope="col" >> style="text-align:left">B</th><th scope="col" style="text- >> align:left">C</th></tr> >> </thead> >> <tbody> >> <tr><td style="text-align:right">1</td><td style="text- >> align:left">bar</td><td style="text-align:left">text</td></tr> >> <tr><td style="text-align:right">12</td><td style="text- >> align:left">test</td><td style="text-align:left">300</td></tr> >> <tr><td style="text-align:right">9</td><td style="text- >> align:left">foo</td><td style="text-align:left">4</td></tr> >> </tbody> >> </table> >> ------------------------------------------------------------------------------------------- >> >> >> The left/right comes from the analysis of the number of numbers >> in each column... >> >> So I must assume that maybe some of your files did not >> update correctly or you have some old compiled files... ? > > > OK, found it. It was in my .emacs which I didn't use for ages... > > But: > > <colgroup><col align="right" /></colgroup><colgroup><col > align="left" /></colgroup><colgroup><col align="left" /></colgroup> > > must be: > > <colgroup><col align="right" /><col align="left" /><col > align="left" /></colgroup> > > > i.e. "<colgroup>" and "</colgroup>" have to occur only once each and > wrap the "<col ... />" definitions. > > The </colgroup> after each "<col ... />" happens only for the second > table. Hi Sebastian, Are you sure about this? Because the <> is special syntax for Org to define column groups, and I believe it is OK to have multiple column groups in a table. - Carsten > > > Correct: > > | | A | B | C | > |---+-----+------+------| > | | 1 | bar | text | > | | 12 | test | 300 | > | | 9 | foo | 4 | > | / | <l> | <l> | <r> | > > > Wrong: > > | | A | B | C | > |---+----+------+------| > | | 1 | bar | text | > | | 12 | test | 300 | > | | 9 | foo | 4 | > | / | <> | <> | <> | > > > Thanks for the fix! > > > Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-23 5:42 ` Carsten Dominik @ 2010-10-23 19:03 ` Sebastian Rose 0 siblings, 0 replies; 38+ messages in thread From: Sebastian Rose @ 2010-10-23 19:03 UTC (permalink / raw) To: Carsten Dominik; +Cc: Org-mode ml Carsten Dominik <carsten.dominik@gmail.com> writes: >> OK, found it. It was in my .emacs which I didn't use for ages... >> >> But: >> >> <colgroup><col align="right" /></colgroup><colgroup><col align="left" >> /></colgroup><colgroup><col align="left" /></colgroup> >> >> must be: >> >> <colgroup><col align="right" /><col align="left" /><col align="left" >> /></colgroup> >> >> >> i.e. "<colgroup>" and "</colgroup>" have to occur only once each and >> wrap the "<col ... />" definitions. >> >> The </colgroup> after each "<col ... />" happens only for the second >> table. > > Hi Sebastian, > > Are you sure about this? Because the <> is special syntax for Org to define > column groups, and I believe it is OK to have multiple column groups in > a table. No.... I've checked, and it is indeed valid! Oups... I've never seen it anywhere.... Everything is fine then. Thanks again for the fix! Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 15:41 ` Carsten Dominik 2010-10-22 19:30 ` Sebastian Rose @ 2010-10-22 19:37 ` Sebastian Rose 2010-10-23 5:53 ` Carsten Dominik 1 sibling, 1 reply; 38+ messages in thread From: Sebastian Rose @ 2010-10-22 19:37 UTC (permalink / raw) To: Carsten Dominik Cc: Jeff Horn, Dan Davison, Bernt Hansen, Org-mode ml, Baoqiu Cui Carsten Dominik <carsten.dominik@gmail.com> writes: > On Oct 22, 2010, at 3:59 PM, Sebastian Rose wrote: > >> Carsten Dominik <carsten.dominik@gmail.com> writes: >>> Hi Sebastian, >>> >>> my guess would be that you have customized the td and th tags? If yes, >>> please >>> reset the customization, you need the new default values (which you then can >>> still modify). >>> >>> Please check the variables org-export-table-header-tags and >>> org-export-table-data-tags. >> >> >> I've checked them, but they are not customized: >> >> Hide Org Export Table Data Tags: >> Opening tag: <td%s> >> Closing tag: </td> >> State : STANDARD. > > This does look right. > >> >> Hide Org Export Table Header Tags: >> Opening tag: <th scope="%s"> >> Closing tag: </th> >> State : STANDARD. > > This does not look right, it should be > > Opening tag: <th scope="%s"%s> > Closing tag: </th> > > >> >> >> The export of the OPs table works as expected. But the table I've sent >> is different in that it just uses empty `<>' marks for grouping and >> creating lines. > > While I do not think it is particularly nice that you > try to fool the parser in this way :-/ > it actually behaves quite well :-D > > Here is what I get when I export this table: > > ------------------------------------------------------------------------------------------- > <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> > <caption></caption> > <colgroup><col align="right" /></colgroup><colgroup><col align="left" / >></colgroup><colgroup><col align="left" /></colgroup> > <thead> > <tr><th scope="col" style="text-align:right">A</th><th scope="col" > style="text-align:left">B</th><th scope="col" style="text- > align:left">C</th></tr> > </thead> > <tbody> > <tr><td style="text-align:right">1</td><td style="text- > align:left">bar</td><td style="text-align:left">text</td></tr> > <tr><td style="text-align:right">12</td><td style="text- > align:left">test</td><td style="text-align:left">300</td></tr> > <tr><td style="text-align:right">9</td><td style="text- > align:left">foo</td><td style="text-align:left">4</td></tr> > </tbody> > </table> > ------------------------------------------------------------------------------------------- > > > The left/right comes from the analysis of the number of numbers > in each column... > > So I must assume that maybe some of your files did not > update correctly or you have some old compiled files... ? > > - Carsten Hi Carsten, one more, sorry. How about this (line-wrapped for readability): <tr> <td class="right">1</td> <td class="left">bar</td> <td class="left">text</td> <tr> instead of <tr> <td style="text-align:right">1</td> <td style="text-align:left">bar</td> <td style="text-align:left">text</td> <tr> ?? Combined with the ways to add IDs and classes to tables, we could then style the columns better. I would like to set this for right aligned <td> tags as default: td.right { font-family:monospace;text-align:right; } since most of the time I want fixed width fonts in right aligned cells. Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 19:37 ` Sebastian Rose @ 2010-10-23 5:53 ` Carsten Dominik 2010-10-23 19:20 ` Sebastian Rose 2010-10-23 19:28 ` Sebastian Rose 0 siblings, 2 replies; 38+ messages in thread From: Carsten Dominik @ 2010-10-23 5:53 UTC (permalink / raw) To: Sebastian Rose; +Cc: Org-mode ml On Oct 22, 2010, at 9:37 PM, Sebastian Rose wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: >> On Oct 22, 2010, at 3:59 PM, Sebastian Rose wrote: >> >>> Carsten Dominik <carsten.dominik@gmail.com> writes: >>>> Hi Sebastian, >>>> >>>> my guess would be that you have customized the td and th tags? >>>> If yes, >>>> please >>>> reset the customization, you need the new default values (which >>>> you then can >>>> still modify). >>>> >>>> Please check the variables org-export-table-header-tags and >>>> org-export-table-data-tags. >>> >>> >>> I've checked them, but they are not customized: >>> >>> Hide Org Export Table Data Tags: >>> Opening tag: <td%s> >>> Closing tag: </td> >>> State : STANDARD. >> >> This does look right. >> >>> >>> Hide Org Export Table Header Tags: >>> Opening tag: <th scope="%s"> >>> Closing tag: </th> >>> State : STANDARD. >> >> This does not look right, it should be >> >> Opening tag: <th scope="%s"%s> >> Closing tag: </th> >> >> >>> >>> >>> The export of the OPs table works as expected. But the table I've >>> sent >>> is different in that it just uses empty `<>' marks for grouping and >>> creating lines. >> >> While I do not think it is particularly nice that you >> try to fool the parser in this way :-/ >> it actually behaves quite well :-D >> >> Here is what I get when I export this table: >> >> ------------------------------------------------------------------------------------------- >> <table border="2" cellspacing="0" cellpadding="6" rules="groups" >> frame="hsides"> >> <caption></caption> >> <colgroup><col align="right" /></colgroup><colgroup><col >> align="left" / >>> </colgroup><colgroup><col align="left" /></colgroup> >> <thead> >> <tr><th scope="col" style="text-align:right">A</th><th scope="col" >> style="text-align:left">B</th><th scope="col" style="text- >> align:left">C</th></tr> >> </thead> >> <tbody> >> <tr><td style="text-align:right">1</td><td style="text- >> align:left">bar</td><td style="text-align:left">text</td></tr> >> <tr><td style="text-align:right">12</td><td style="text- >> align:left">test</td><td style="text-align:left">300</td></tr> >> <tr><td style="text-align:right">9</td><td style="text- >> align:left">foo</td><td style="text-align:left">4</td></tr> >> </tbody> >> </table> >> ------------------------------------------------------------------------------------------- >> >> >> The left/right comes from the analysis of the number of numbers >> in each column... >> >> So I must assume that maybe some of your files did not >> update correctly or you have some old compiled files... ? >> >> - Carsten > > Hi Carsten, > > > one more, sorry. > > > How about this (line-wrapped for readability): > > > <tr> > <td class="right">1</td> > <td class="left">bar</td> > <td class="left">text</td> > <tr> > > instead of > > <tr> > <td style="text-align:right">1</td> > <td style="text-align:left">bar</td> > <td style="text-align:left">text</td> > <tr> > > ?? > > > Combined with the ways to add IDs and classes to tables, we could > then style the > columns better. > > I would like to set this for right aligned <td> tags as default: > > td.right { font-family:monospace;text-align:right; } OK, fair enough. But I don't think I will make the monospace the Org default, it looks a bit odd. BUt of cause you can change this. I have now in the default style: td, th { vertical-align: top; } th.right { text-align:right; } th.left { text-align:left; } th.center { text-align:center; } td.right { text-align:right; } td.left { text-align:left; } td.center { text-align:center; } Is there a way to write this more compactly? - Carsten ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-23 5:53 ` Carsten Dominik @ 2010-10-23 19:20 ` Sebastian Rose 2010-10-23 19:28 ` Sebastian Rose 1 sibling, 0 replies; 38+ messages in thread From: Sebastian Rose @ 2010-10-23 19:20 UTC (permalink / raw) To: Carsten Dominik; +Cc: Org-mode ml Carsten Dominik <carsten.dominik@gmail.com> writes: >> How about this (line-wrapped for readability): >> >> >> <tr> >> <td class="right">1</td> >> <td class="left">bar</td> >> <td class="left">text</td> >> <tr> >> >> instead of >> >> <tr> >> <td style="text-align:right">1</td> >> <td style="text-align:left">bar</td> >> <td style="text-align:left">text</td> >> <tr> >> >> ?? >> >> >> Combined with the ways to add IDs and classes to tables, we could then style >> the >> columns better. >> >> I would like to set this for right aligned <td> tags as default: >> >> td.right { font-family:monospace;text-align:right; } > > OK, fair enough. But I don't think I will make the monospace > the Org default, it looks a bit odd. BUt of cause you can change > this. Great! > I have now in the default style: > > td, th { vertical-align: top; } > th.right { text-align:right; } > th.left { text-align:left; } > th.center { text-align:center; } > td.right { text-align:right; } > td.left { text-align:left; } > td.center { text-align:center; } > > Is there a way to write this more compactly? > > - Carsten No, if you don't want to remove all whitespace :) Ahhhhhhhh, that's cool!!! Thank you!!! Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-23 5:53 ` Carsten Dominik 2010-10-23 19:20 ` Sebastian Rose @ 2010-10-23 19:28 ` Sebastian Rose 2010-10-25 6:48 ` Carsten Dominik 1 sibling, 1 reply; 38+ messages in thread From: Sebastian Rose @ 2010-10-23 19:28 UTC (permalink / raw) To: Carsten Dominik; +Cc: Org-mode ml Carsten Dominik <carsten.dominik@gmail.com> writes: > I have now in the default style: > > td, th { vertical-align: top; } > th.right { text-align:right; } > th.left { text-align:left; } > th.center { text-align:center; } > td.right { text-align:right; } > td.left { text-align:left; } > td.center { text-align:center; } > > Is there a way to write this more compactly? > > - Carsten But this is, what I often use: /* Aligns block elements, too: */ .right {margin-left:auto; margin-right:0px; text-align:right;} .left {margin-left:0px; margin-right:auto; text-align:left;} .center {margin-left:auto; margin-right:auto; text-align:center;} These are CSS classes I use frequently. It works for all HTML elements AND aligns table to the right in all important browsers. I first thought "OK, we can do this ourselves per stylesheet", but why not offer this little goodie out-of-the-box? Try: (THERE'S A BUG: #+STYLE: lines are not wrapped in <style> tags anymore) --8<---------------cut here---------------start------------->8--- #+STYLE: .right {margin-left:auto; margin-right:0px; text-align:right;} #+STYLE: .left {margin-left:0px; margin-right:auto; text-align:left;} #+STYLE: .center {margin-left:auto; margin-right:auto; text-align:center;} * Tables #+ATTR_HTML: class="left" | a | b | c | |---+---+---| | 1 | 2 | 3 | #+ATTR_HTML: class="center" | a | b | c | |---+---+---| | 1 | 2 | 3 | #+ATTR_HTML: class="right" | a | b | c | |---+---+---| | 1 | 2 | 3 | --8<---------------cut here---------------end--------------->8--- Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-23 19:28 ` Sebastian Rose @ 2010-10-25 6:48 ` Carsten Dominik 2010-10-25 9:02 ` Giovanni Ridolfi 0 siblings, 1 reply; 38+ messages in thread From: Carsten Dominik @ 2010-10-25 6:48 UTC (permalink / raw) To: Sebastian Rose; +Cc: Org-mode ml On Oct 23, 2010, at 9:28 PM, Sebastian Rose wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: >> I have now in the default style: >> >> td, th { vertical-align: top; } >> th.right { text-align:right; } >> th.left { text-align:left; } >> th.center { text-align:center; } I am actually using right now: th.right { text-align:center; } th.left { text-align:center; } th.center { text-align:center; } because is seem right to me that a table header is centrally aligned even if the fields are lift or right aligned. Does anyone know enough rules of style to tell me if this is the right way, of if header fields are supposed to have the same alignments as the data fields? >> td.right { text-align:right; } >> td.left { text-align:left; } >> td.center { text-align:center; } >> >> Is there a way to write this more compactly? >> >> - Carsten > > > But this is, what I often use: > > /* Aligns block elements, too: */ > .right {margin-left:auto; margin-right:0px; text-align:right;} > .left {margin-left:0px; margin-right:auto; text-align:left;} > .center {margin-left:auto; margin-right:auto; text-align:center;} > > These are CSS classes I use frequently. It works for all HTML > elements > AND aligns table to the right in all important browsers. I first > thought "OK, we can do this ourselves per stylesheet", but why not > offer > this little goodie out-of-the-box? So you are suggesting I should add these to the style sheet. Sounds fine to me, with the limitation that it might interfere with commonly used classes? I prefer to have at least the th.left/right/center in addition due to the fact that I think I like centered headers. > > Try: > > > (THERE'S A BUG: #+STYLE: lines are not wrapped in <style> tags > anymore) > > > --8<---------------cut here---------------start------------->8--- > #+STYLE: .right {margin-left:auto; margin-right:0px; text- > align:right;} > #+STYLE: .left {margin-left:0px; margin-right:auto; text- > align:left;} > #+STYLE: .center {margin-left:auto; margin-right:auto; text- > align:center;} Did it ever do this? I don't think so, because the documentation of the corresponding variables is explicit about the fact that you need to put the <style> tags. The reason here is that you might want to put #+STYLE: <link rel=\"stylesheet\" type=\"text/css\" href=\"mystyles.css \"> where automatic <style> tags would be problematic. I think you can do it like this: #+STYLE: <style> #+STYLE: .right {margin-left:auto; margin-right:0px; text- align:right;} #+STYLE: .left {margin-left:0px; margin-right:auto; text- align:left;} #+STYLE: .center {margin-left:auto; margin-right:auto; text- align:center;} #+STYLE: </style> - Carsten > > * Tables > > #+ATTR_HTML: class="left" > | a | b | c | > |---+---+---| > | 1 | 2 | 3 | > > #+ATTR_HTML: class="center" > | a | b | c | > |---+---+---| > | 1 | 2 | 3 | > > #+ATTR_HTML: class="right" > | a | b | c | > |---+---+---| > | 1 | 2 | 3 | > --8<---------------cut here---------------end--------------->8--- > > > > Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 6:48 ` Carsten Dominik @ 2010-10-25 9:02 ` Giovanni Ridolfi 2010-10-25 9:09 ` Carsten Dominik 0 siblings, 1 reply; 38+ messages in thread From: Giovanni Ridolfi @ 2010-10-25 9:02 UTC (permalink / raw) To: Carsten Dominik; +Cc: Org-mode ml Carsten Dominik <carsten.dominik@gmail.com> writes: > > I am actually using right now: > > th.right { text-align:center; } > th.left { text-align:center; } > th.center { text-align:center; } > > because is seem right to me that a table header is centrally > aligned even if the fields are lift or right aligned. yes, seems to be 'common sense' :-D [at least here in Italy(Europe) ;-)] > Does anyone know enough rules of style to tell me > if this is the right way, of if header fields are supposed > to have the same alignments as the data fields? "Headers are by default center aligned within table cells." [1] [1] http://www.mcu.org.uk/articles/tables.html cheers, Giovanni ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 9:02 ` Giovanni Ridolfi @ 2010-10-25 9:09 ` Carsten Dominik 0 siblings, 0 replies; 38+ messages in thread From: Carsten Dominik @ 2010-10-25 9:09 UTC (permalink / raw) To: Giovanni Ridolfi; +Cc: Org-mode ml On Oct 25, 2010, at 11:02 AM, Giovanni Ridolfi wrote: > Carsten Dominik <carsten.dominik@gmail.com> writes: > >> >> I am actually using right now: >> >> th.right { text-align:center; } >> th.left { text-align:center; } >> th.center { text-align:center; } >> >> because is seem right to me that a table header is centrally >> aligned even if the fields are lift or right aligned. > > yes, seems to be 'common sense' :-D [at least here in > Italy(Europe) ;-)] > >> Does anyone know enough rules of style to tell me >> if this is the right way, of if header fields are supposed >> to have the same alignments as the data fields? > > "Headers are by default center aligned within table cells." [1] OK, thanks for this. - Carsten ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-22 7:32 ` Carsten Dominik 2010-10-22 11:20 ` Sebastian Rose @ 2010-10-25 4:36 ` Baoqiu Cui 2010-10-25 8:51 ` Christian Moe 1 sibling, 1 reply; 38+ messages in thread From: Baoqiu Cui @ 2010-10-25 4:36 UTC (permalink / raw) To: Carsten Dominik; +Cc: Bernt Hansen, Jeff Horn, Org-mode ml, Dan Davison Carsten Dominik <carsten.dominik@gmail.com> writes: > Baoqiu, > > (or any other users of the docbook exporter) > I am not sure if the docbook format has suffered from this change, > could you please run a few tests involving tables and report back? Thanks for supporting this new feature. DocBook exporter does not really suffer from this change, but it does not benefit from it either. After checking the documentation of DocBook and HTML table, it seems that using the "class" attribute in <td> elements for alignment is not the best solution. Attribute "align" is officially supported by DocBook and HTML based on the following two links: 1. http://docbook.org/tdg5/en/html/html.td.html 2. http://www.w3.org/TR/html401/struct/tables.html#h-11.3.2 If I change "class" to "align" in the following lines, the same table can be recognized by both Firefox and DocBook. I am wondering if there is any special reason to use "class" instead of "align". If not, can we change the elisp code to use "align"? <tbody> <tr><td class="left">A</td><td class="left">B</td><td class="right">C</td></tr> <tr><td class="left">1</td><td class="left">2</td><td class="right">3</td></tr> <tr><td class="left">12</td><td class="left">13</td><td class="right">300</td></tr> <tr><td class="left">9</td><td class="left">11</td><td class="right">4</td></tr> </tbody> Thanks! -- Baoqiu ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 4:36 ` Baoqiu Cui @ 2010-10-25 8:51 ` Christian Moe 2010-10-25 9:08 ` Carsten Dominik 0 siblings, 1 reply; 38+ messages in thread From: Christian Moe @ 2010-10-25 8:51 UTC (permalink / raw) To: Baoqiu Cui Cc: Bernt Hansen, Jeff Horn, Org-mode ml, Dan Davison, Carsten Dominik On 10/25/10 6:36 AM, Baoqiu Cui wrote: I am wondering if there > is any special reason to use "class" instead of "align". If not, can we > change the elisp code to use "align"? I believe the "align" attribute is slated for obsoletion in HTML5, on the grounds that it's better handled by CSS. http://www.w3.org/TR/html5/obsolete.html It's a reason to go with "class" instead. Not a compelling one, perhaps. My only strong opinion on this is that I absolutely agree with the choice not to set the "style" attribute locally on each table cell. But Sebastian Rose's request that prompted it, /could/ equally well be addressed with the "align" attribute: > How about this (line-wrapped for readability): > > > <tr> > <td class="right">1</td> > <td class="left">bar</td> > <td class="left">text</td> > <tr> > > instead of > > <tr> > <td style="text-align:right">1</td> > <td style="text-align:left">bar</td> > <td style="text-align:left">text</td> > <tr> > > ?? > > > Combined with the ways to add IDs and classes to tables, we could then style the > columns better. > > I would like to set this for right aligned <td> tags as default: > > td.right { font-family:monospace;text-align:right; } Using the "align" attribute as follows, <tr> <td align="right">1</td> <td align="left">bar</td> <td align="left">text</td> <tr> Sebastian could achieve the same with CSS like td[align="right"] { font-family: monospace;} In the same way one could even use CSS to override the alignment specified by the "align" attribute, if for whatever reason this seemed like a good idea... One slight advantage of the "align" attribute over "class" is that it doesn't require the default style to contain the extra verbiage Carsten mentioned: > I have now in the default style: > > td, th { vertical-align: top; } > th.right { text-align:right; } > th.left { text-align:left; } > th.center { text-align:center; } > td.right { text-align:right; } > td.left { text-align:left; } > td.center { text-align:center; } > > Is there a way to write this more compactly? Yours, Christian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 8:51 ` Christian Moe @ 2010-10-25 9:08 ` Carsten Dominik 2010-10-25 13:13 ` Christian Moe 0 siblings, 1 reply; 38+ messages in thread From: Carsten Dominik @ 2010-10-25 9:08 UTC (permalink / raw) To: mail; +Cc: Bernt Hansen, Jeff Horn, Org-mode ml, Dan Davison, Baoqiu Cui On Oct 25, 2010, at 10:51 AM, Christian Moe wrote: > On 10/25/10 6:36 AM, Baoqiu Cui wrote: > I am wondering if there >> is any special reason to use "class" instead of "align". If not, >> can we >> change the elisp code to use "align"? > > I believe the "align" attribute is slated for obsoletion in HTML5, > on the grounds that it's better handled by CSS. > > http://www.w3.org/TR/html5/obsolete.html > > It's a reason to go with "class" instead. Not a compelling one, > perhaps. > > My only strong opinion on this is that I absolutely agree with the > choice not to set the "style" attribute locally on each table cell. Hmm, butwe do now set the class in each cell. Is that any better? - Carsten > > But Sebastian Rose's request that prompted it, /could/ equally well > be addressed with the "align" attribute: > >> How about this (line-wrapped for readability): >> >> >> <tr> >> <td class="right">1</td> >> <td class="left">bar</td> >> <td class="left">text</td> >> <tr> >> >> instead of >> >> <tr> >> <td style="text-align:right">1</td> >> <td style="text-align:left">bar</td> >> <td style="text-align:left">text</td> >> <tr> >> >> ?? >> >> >> Combined with the ways to add IDs and classes to tables, we could >> then style the >> columns better. >> >> I would like to set this for right aligned <td> tags as default: >> >> td.right { font-family:monospace;text-align:right; } > > Using the "align" attribute as follows, > > <tr> > <td align="right">1</td> > <td align="left">bar</td> > <td align="left">text</td> > <tr> > > Sebastian could achieve the same with CSS like > > td[align="right"] { font-family: monospace;} > > In the same way one could even use CSS to override the alignment > specified by the "align" attribute, if for whatever reason this > seemed like a good idea... > > One slight advantage of the "align" attribute over "class" is that > it doesn't require the default style to contain the extra verbiage > Carsten mentioned: > >> I have now in the default style: >> >> td, th { vertical-align: top; } >> th.right { text-align:right; } >> th.left { text-align:left; } >> th.center { text-align:center; } >> td.right { text-align:right; } >> td.left { text-align:left; } >> td.center { text-align:center; } >> >> Is there a way to write this more compactly? > > Yours, > Christian - Carsten ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 9:08 ` Carsten Dominik @ 2010-10-25 13:13 ` Christian Moe 2010-10-25 13:22 ` Carsten Dominik 2010-10-25 13:43 ` Carsten Dominik 0 siblings, 2 replies; 38+ messages in thread From: Christian Moe @ 2010-10-25 13:13 UTC (permalink / raw) To: Carsten Dominik Cc: Bernt Hansen, Jeff Horn, Org-mode ml, Dan Davison, Baoqiu Cui On 10/25/10 11:08 AM, Carsten Dominik wrote: > > On Oct 25, 2010, at 10:51 AM, Christian Moe wrote: > >> On 10/25/10 6:36 AM, Baoqiu Cui wrote: >> I am wondering if there >>> is any special reason to use "class" instead of "align". If not, >>> can we >>> change the elisp code to use "align"? >> >> I believe the "align" attribute is slated for obsoletion in HTML5, >> on the grounds that it's better handled by CSS. >> >> http://www.w3.org/TR/html5/obsolete.html >> >> It's a reason to go with "class" instead. Not a compelling one, >> perhaps. >> >> My only strong opinion on this is that I absolutely agree with the >> choice not to set the "style" attribute locally on each table cell. > > Hmm, butwe do now set the class in each cell. Is that any better? > > - Carsten It's a subtle difference, and every way works, so I don't want to waste more of your time. #+begin_rant But yes, I think it /is/ better, for the same reason Sebastian requested it: Setting class is the preferred way to make all cells of that class custom-styleable by changing a single line in the stylesheet. As I pointed out below, though, it's not the only way. CSS lets you do the same, nearly as easily, if "align" is used instead of "class" as Baoqiu Cui suggested; "class" is more future-proof (HTML5), "align" more compact (the default is already defined). (Heck, come to think of it, Sebastian could have monospaced the left-aligned column in his example even when Org set "style" on each cell, using a selector like: : td[style="text-align: left;"] { font-family: monospace; } -- but that, I think, would be perverse.) Over-use of the style attribute to set styles locally works against the purpose of CSS. The local style attribute should be used for exceptions; general rules should be handled at a higher level of the cascade. Having to set /anything/ on each cell just to align a column is not optimal either, but since some browsers don't honor colgroups, it's the most robust way. #+end_rant Christian >> >> But Sebastian Rose's request that prompted it, /could/ equally well >> be addressed with the "align" attribute: >> >>> How about this (line-wrapped for readability): >>> >>> >>> <tr> >>> <td class="right">1</td> >>> <td class="left">bar</td> >>> <td class="left">text</td> >>> <tr> >>> >>> instead of >>> >>> <tr> >>> <td style="text-align:right">1</td> >>> <td style="text-align:left">bar</td> >>> <td style="text-align:left">text</td> >>> <tr> >>> >>> ?? >>> >>> >>> Combined with the ways to add IDs and classes to tables, we could >>> then style the >>> columns better. >>> >>> I would like to set this for right aligned <td> tags as default: >>> >>> td.right { font-family:monospace;text-align:right; } >> >> Using the "align" attribute as follows, >> >> <tr> >> <td align="right">1</td> >> <td align="left">bar</td> >> <td align="left">text</td> >> <tr> >> >> Sebastian could achieve the same with CSS like >> >> td[align="right"] { font-family: monospace;} >> >> In the same way one could even use CSS to override the alignment >> specified by the "align" attribute, if for whatever reason this >> seemed like a good idea... >> >> One slight advantage of the "align" attribute over "class" is that >> it doesn't require the default style to contain the extra verbiage >> Carsten mentioned: >> >>> I have now in the default style: >>> >>> td, th { vertical-align: top; } >>> th.right { text-align:right; } >>> th.left { text-align:left; } >>> th.center { text-align:center; } >>> td.right { text-align:right; } >>> td.left { text-align:left; } >>> td.center { text-align:center; } >>> >>> Is there a way to write this more compactly? >> >> Yours, >> Christian > > - Carsten > > ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 13:13 ` Christian Moe @ 2010-10-25 13:22 ` Carsten Dominik 2010-10-25 14:55 ` Sebastian Rose 2010-10-25 13:43 ` Carsten Dominik 1 sibling, 1 reply; 38+ messages in thread From: Carsten Dominik @ 2010-10-25 13:22 UTC (permalink / raw) To: mail; +Cc: Bernt Hansen, Jeff Horn, Org-mode ml, Dan Davison, Baoqiu Cui On Oct 25, 2010, at 3:13 PM, Christian Moe wrote: > On 10/25/10 11:08 AM, Carsten Dominik wrote: >> >> On Oct 25, 2010, at 10:51 AM, Christian Moe wrote: >> >>> On 10/25/10 6:36 AM, Baoqiu Cui wrote: >>> I am wondering if there >>>> is any special reason to use "class" instead of "align". If not, >>>> can we >>>> change the elisp code to use "align"? >>> >>> I believe the "align" attribute is slated for obsoletion in HTML5, >>> on the grounds that it's better handled by CSS. >>> >>> http://www.w3.org/TR/html5/obsolete.html >>> >>> It's a reason to go with "class" instead. Not a compelling one, >>> perhaps. >>> >>> My only strong opinion on this is that I absolutely agree with the >>> choice not to set the "style" attribute locally on each table cell. >> >> Hmm, butwe do now set the class in each cell. Is that any better? >> >> - Carsten > > It's a subtle difference, and every way works, so I don't want to > waste more of your time. > > #+begin_rant > But yes, I think it /is/ better, for the same reason Sebastian > requested it: Setting class is the preferred way to make all cells > of that class custom-styleable by changing a single line in the > stylesheet. > > As I pointed out below, though, it's not the only way. CSS lets you > do the same, nearly as easily, if "align" is used instead of "class" > as Baoqiu Cui suggested; "class" is more future-proof (HTML5), > "align" more compact (the default is already defined). > > (Heck, come to think of it, Sebastian could have monospaced the left- > aligned column in his example even when Org set "style" on each > cell, using a selector like: > : td[style="text-align: left;"] { font-family: monospace; } > -- but that, I think, would be perverse.) > > Over-use of the style attribute to set styles locally works against > the purpose of CSS. The local style attribute should be used for > exceptions; general rules should be handled at a higher level of the > cascade. I agree. But in the context of text alignment in tables, not all browsers support styles specified for entire columns. I think it is ridiculous to have to specify the alignment (or a class) for each field, but the browser realities force me. OK, I will use class. I could make a special case for the docbook exporter...... > > Having to set /anything/ on each cell just to align a column is not > optimal either, but since some browsers don't honor colgroups, it's > the most robust way. :-) Just what I think. OK, a class it is. - Carsten >>>> >>>> td.right { font-family:monospace;text-align:right; } >>> >>> Using the "align" attribute as follows, >>> >>> <tr> >>> <td align="right">1</td> >>> <td align="left">bar</td> >>> <td align="left">text</td> >>> <tr> >>> >>> Sebastian could achieve the same with CSS like >>> >>> td[align="right"] { font-family: monospace;} >>> >>> In the same way one could even use CSS to override the alignment >>> specified by the "align" attribute, if for whatever reason this >>> seemed like a good idea... >>> >>> One slight advantage of the "align" attribute over "class" is that >>> it doesn't require the default style to contain the extra verbiage >>> Carsten mentioned: >>> >>>> I have now in the default style: >>>> >>>> td, th { vertical-align: top; } >>>> th.right { text-align:right; } >>>> th.left { text-align:left; } >>>> th.center { text-align:center; } >>>> td.right { text-align:right; } >>>> td.left { text-align:left; } >>>> td.center { text-align:center; } >>>> >>>> Is there a way to write this more compactly? >>> >>> Yours, >>> Christian >> >> - Carsten >> >> > > - Carsten ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 13:22 ` Carsten Dominik @ 2010-10-25 14:55 ` Sebastian Rose 2010-10-25 20:41 ` Christian Moe 2010-10-25 21:52 ` Baoqiu Cui 0 siblings, 2 replies; 38+ messages in thread From: Sebastian Rose @ 2010-10-25 14:55 UTC (permalink / raw) To: Carsten Dominik Cc: Jeff Horn, mail, Dan Davison, Bernt Hansen, Org-mode ml, Baoqiu Cui Carsten Dominik <carsten.dominik@gmail.com> writes: > OK, I will use class. I could make a special case for the docbook > exporter...... +1 >> Having to set /anything/ on each cell just to align a column is not optimal >> either, but since some browsers don't honor colgroups, it's the most robust >> way. How refer to all right-aligned `td' elements in a certain tables without some special attribute anyway. `class' preferred since this is CSS2 and will work in commen browsers. I'm not sure how which browsers will understand the selector `table#special td[align="right"] {...}'. BTW: Org mode's exports to XHTML, not HTML 4.01 or HTML 5 (which is a proposal, not a "standard" or recommendation yet). Still, '<td align="right">' is valid XHTML, too. ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 14:55 ` Sebastian Rose @ 2010-10-25 20:41 ` Christian Moe 2010-10-25 21:52 ` Baoqiu Cui 1 sibling, 0 replies; 38+ messages in thread From: Christian Moe @ 2010-10-25 20:41 UTC (permalink / raw) To: Sebastian Rose; +Cc: Org-mode ml [Veering off-topic, just to round off a discussion] On 10/25/10 4:55 PM, Sebastian Rose wrote: > > How refer to all right-aligned `td' elements in a certain tables without > some special attribute anyway. Fair point. (In an ideal world, as long as the whole column is right-aligned it should be enough to refer to all right-aligned `col' elements, but this clearly is not the case today.) > `class' preferred since this is CSS2 and > will work in commen browsers. I'm not sure how which browsers will > understand the selector `table#special td[align="right"] {...}'. Firefox, Safari, ... The attribute selector is CSS2, too. But I agree `class' is preferred. > > BTW: Org mode's exports to XHTML, not HTML 4.01 or HTML 5 (which is a > proposal, not a "standard" or recommendation yet). Still, > '<td align="right">' is valid XHTML, too. Absolutely, I didn't mean to imply otherwise. But I think in this regard, at least, the thinking behind the HTML 5 proposal makes sense. (As for the relationship between HTML 5 and XHTML, let's not go there...) Christian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 14:55 ` Sebastian Rose 2010-10-25 20:41 ` Christian Moe @ 2010-10-25 21:52 ` Baoqiu Cui 2010-10-26 5:11 ` Carsten Dominik 1 sibling, 1 reply; 38+ messages in thread From: Baoqiu Cui @ 2010-10-25 21:52 UTC (permalink / raw) To: Sebastian Rose Cc: Jeff Horn, mail, Dan Davison, Bernt Hansen, Org-mode ml, Carsten Dominik Sebastian Rose <sebastian_rose@gmx.de> writes: > Carsten Dominik <carsten.dominik@gmail.com> writes: >> OK, I will use class. I could make a special case for the docbook >> exporter...... > > +1 +1 for making a "special case for the docbook exporter". :-) (DocBook documents can be rendered in different formats, some of which (like PDF) may know nothing about CSS.) > BTW: Org mode's exports to XHTML, not HTML 4.01 or HTML 5 (which is a > proposal, not a "standard" or recommendation yet). Still, > '<td align="right">' is valid XHTML, too. Maybe we should add a parameter to function org-format-org-table-html to indicate whether we want to format pure standard XHTML tables that do not use "class" or CSS related stuff. Thanks, -- Baoqiu ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 21:52 ` Baoqiu Cui @ 2010-10-26 5:11 ` Carsten Dominik 2010-10-26 16:03 ` Baoqiu Cui 0 siblings, 1 reply; 38+ messages in thread From: Carsten Dominik @ 2010-10-26 5:11 UTC (permalink / raw) To: Baoqiu Cui; +Cc: Jeff Horn, mail, Dan Davison, Bernt Hansen, Org-mode ml On Oct 25, 2010, at 11:52 PM, Baoqiu Cui wrote: > Sebastian Rose <sebastian_rose@gmx.de> writes: > >> Carsten Dominik <carsten.dominik@gmail.com> writes: >>> OK, I will use class. I could make a special case for the docbook >>> exporter...... >> >> +1 > > +1 for making a "special case for the docbook exporter". :-) (DocBook > documents can be rendered in different formats, some of which (like > PDF) > may know nothing about CSS.) > >> BTW: Org mode's exports to XHTML, not HTML 4.01 or HTML 5 (which is a >> proposal, not a "standard" or recommendation yet). Still, >> '<td align="right">' is valid XHTML, too. > > Maybe we should add a parameter to function org-format-org-table- > html to > indicate whether we want to format pure standard XHTML tables that do > not use "class" or CSS related stuff. This is exactly how I have done it now. - Carsten > > Thanks, > > -- > Baoqiu ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-26 5:11 ` Carsten Dominik @ 2010-10-26 16:03 ` Baoqiu Cui 0 siblings, 0 replies; 38+ messages in thread From: Baoqiu Cui @ 2010-10-26 16:03 UTC (permalink / raw) To: Carsten Dominik; +Cc: Jeff Horn, mail, Dan Davison, Bernt Hansen, Org-mode ml Carsten Dominik <carsten.dominik@gmail.com> writes: > On Oct 25, 2010, at 11:52 PM, Baoqiu Cui wrote: > >> Sebastian Rose <sebastian_rose@gmx.de> writes: >> >>> Carsten Dominik <carsten.dominik@gmail.com> writes: >>>> OK, I will use class. I could make a special case for the docbook >>>> exporter...... >>> >>> +1 >> >> +1 for making a "special case for the docbook exporter". :-) (DocBook >> documents can be rendered in different formats, some of which (like >> PDF) >> may know nothing about CSS.) >> >>> BTW: Org mode's exports to XHTML, not HTML 4.01 or HTML 5 (which is a >>> proposal, not a "standard" or recommendation yet). Still, >>> '<td align="right">' is valid XHTML, too. >> >> Maybe we should add a parameter to function org-format-org-table- >> html to >> indicate whether we want to format pure standard XHTML tables that do >> not use "class" or CSS related stuff. > > This is exactly how I have done it now. Thanks for the quick change, Carsten! I just tested the latest code and everything looks good. -- Baoqiu ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 13:13 ` Christian Moe 2010-10-25 13:22 ` Carsten Dominik @ 2010-10-25 13:43 ` Carsten Dominik 2010-10-25 20:04 ` Christian Moe 1 sibling, 1 reply; 38+ messages in thread From: Carsten Dominik @ 2010-10-25 13:43 UTC (permalink / raw) To: mail; +Cc: Bernt Hansen, Jeff Horn, Org-mode ml, Dan Davison, Baoqiu Cui On Oct 25, 2010, at 3:13 PM, Christian Moe wrote: > On 10/25/10 11:08 AM, Carsten Dominik wrote: >> >> On Oct 25, 2010, at 10:51 AM, Christian Moe wrote: >> >>> On 10/25/10 6:36 AM, Baoqiu Cui wrote: >>> I am wondering if there >>>> is any special reason to use "class" instead of "align". If not, >>>> can we >>>> change the elisp code to use "align"? >>> >>> I believe the "align" attribute is slated for obsoletion in HTML5, >>> on the grounds that it's better handled by CSS. >>> >>> http://www.w3.org/TR/html5/obsolete.html >>> >>> It's a reason to go with "class" instead. Not a compelling one, >>> perhaps. >>> >>> My only strong opinion on this is that I absolutely agree with the >>> choice not to set the "style" attribute locally on each table cell. >> >> Hmm, butwe do now set the class in each cell. Is that any better? >> >> - Carsten > > It's a subtle difference, and every way works, so I don't want to > waste more of your time. > > #+begin_rant > But yes, I think it /is/ better, for the same reason Sebastian > requested it: Setting class is the preferred way to make all cells > of that class custom-styleable by changing a single line in the > stylesheet. > > As I pointed out below, though, it's not the only way. CSS lets you > do the same, nearly as easily, if "align" is used instead of "class" > as Baoqiu Cui suggested; "class" is more future-proof (HTML5), > "align" more compact (the default is already defined). > > (Heck, come to think of it, Sebastian could have monospaced the left- > aligned column in his example even when Org set "style" on each > cell, using a selector like: > : td[style="text-align: left;"] { font-family: monospace; } > -- but that, I think, would be perverse.) > > Over-use of the style attribute to set styles locally works against > the purpose of CSS. The local style attribute should be used for > exceptions; general rules should be handled at a higher level of the > cascade. > > Having to set /anything/ on each cell just to align a column is not > optimal either, but since some browsers don't honor colgroups, it's > the most robust way. > #+end_rant > > Christian > >>> >>> But Sebastian Rose's request that prompted it, /could/ equally well >>> be addressed with the "align" attribute: >>> >>>> How about this (line-wrapped for readability): >>>> >>>> >>>> <tr> >>>> <td class="right">1</td> >>>> <td class="left">bar</td> >>>> <td class="left">text</td> >>>> <tr> >>>> >>>> instead of >>>> >>>> <tr> >>>> <td style="text-align:right">1</td> >>>> <td style="text-align:left">bar</td> >>>> <td style="text-align:left">text</td> >>>> <tr> >>>> >>>> ?? >>>> >>>> >>>> Combined with the ways to add IDs and classes to tables, we could >>>> then style the >>>> columns better. >>>> >>>> I would like to set this for right aligned <td> tags as default: >>>> >>>> td.right { font-family:monospace;text-align:right; } >>> >>> Using the "align" attribute as follows, >>> >>> <tr> >>> <td align="right">1</td> >>> <td align="left">bar</td> >>> <td align="left">text</td> >>> <tr> >>> >>> Sebastian could achieve the same with CSS like >>> >>> td[align="right"] { font-family: monospace;} >>> >>> In the same way one could even use CSS to override the alignment >>> specified by the "align" attribute, if for whatever reason this >>> seemed like a good idea... >>> >>> One slight advantage of the "align" attribute over "class" is that >>> it doesn't require the default style to contain the extra verbiage >>> Carsten mentioned: >>> >>>> I have now in the default style: >>>> >>>> td, th { vertical-align: top; } >>>> th.right { text-align:right; } >>>> th.left { text-align:left; } >>>> th.center { text-align:center; } >>>> td.right { text-align:right; } >>>> td.left { text-align:left; } >>>> td.center { text-align:center; } >>>> >>>> Is there a way to write this more compactly? >>> >>> Yours, >>> Christian >> >> - Carsten >> >> > > Actually, I have one more question: The exporter does now (in addition to setting classes for individual fields) <colgroup><col align="left" /><col align="right" /><col align="center" /> Should this be classes instead of align attributes as well? Thanks! - Carsten - Carsten ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 13:43 ` Carsten Dominik @ 2010-10-25 20:04 ` Christian Moe 2010-10-25 21:39 ` Sebastian Rose 0 siblings, 1 reply; 38+ messages in thread From: Christian Moe @ 2010-10-25 20:04 UTC (permalink / raw) To: Carsten Dominik Cc: Bernt Hansen, Jeff Horn, Org-mode ml, Dan Davison, Baoqiu Cui > Actually, I have one more question: > > The exporter does now (in addition to setting classes for individual > fields) > > <colgroup><col align="left" /><col align="right" /><col align="center" /> > > Should this be classes instead of align attributes as well? > > Thanks! > > - Carsten Maybe someone with a browser where colgroups actually do work (Opera!) can check 1. if they only work with the align attribute, and not with CSS, and 2. whether they still work (take precedence) now that the individual cells are aligned with CSS for their class. Unless the answer to both is "yes", I'd say classes there too, to be consistent with what you're doing on cells (and where HTML5 seems to be heading). Christian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 20:04 ` Christian Moe @ 2010-10-25 21:39 ` Sebastian Rose 2010-10-26 5:12 ` Carsten Dominik 0 siblings, 1 reply; 38+ messages in thread From: Sebastian Rose @ 2010-10-25 21:39 UTC (permalink / raw) To: mail Cc: Jeff Horn, Dan Davison, Bernt Hansen, Org-mode ml, Carsten Dominik, Baoqiu Cui Christian Moe <mail@christianmoe.com> writes: > Maybe someone with a browser where colgroups actually do work (Opera!) can check > > 1. if they only work with the align attribute, and not with CSS, and > > 2. whether they still work (take precedence) now that the individual cells are > aligned with CSS for their class. They _never_ took precedence, as soon as I used a style like this: /* My default for all td elements */ td { text-align:left; } The `td' style will alway be a "better" CSS-match than the col's style or class attribute, even then the col's align attribute. It's even the expected behaviour according to CSS standards since that what's the `C' in CSS means. I have to remove my favourite default style for td elements from my stylesheet to make that work in Opera, too. In current FF it does not work at all. Here's another test: CSS: --8<---------------cut here---------------start------------->8--- col.right { text-align:right;vertical-align:top;background-color:red; } col.left { text-align:left;vertical-align:top;background-color:green; } col.center { text-align:center;vertical-align:top;background-color:blue; } --8<---------------cut here---------------end--------------->8--- A table: --8<---------------cut here---------------start------------->8--- <table border="0" summary=""> <caption></caption> <colgroup><col class="left" /><col class="center" /><col class="right" /> </colgroup> <thead> <tr><th>A</th><th>B</th><th>C</th></tr> </thead> <tbody> <tr><td>1</td><td >bar</td><td>text</td></tr> <tr><td>12</td><td >test</td><td>300</td></tr> <tr><td>9</td><td >foo</td><td>4</td></tr> </tbody> </table> --8<---------------cut here---------------end--------------->8--- The only `style' that works that way is the `background-color'. In Opera and FF at least. Means, the `class' attribute in <col> elements doesn't work very well (but '<col class="odd" /><col class="even" />' might make sense with alternating colors).. Both, 'align' and the 'style' attribute will be overwritten by a default style for a <td> element in the users stylesheet (some prefere center, some left alignment as the default). It's common practice to have `style' or `class' attribute in td elements. That's what classes are for in the end. Make HTML elements members of a group with certain properties. Why not jut go with it? Look at `magento's code, Drupal, whatever. They even use more those usefull classes, e.g. `first' and `last' for the first and last elements of lists. HTML elements without classes are hard to find. The reason is, that HTML is just a document structure. Classes (and IDs) make those elements live. "first" "last" "right" "left" "content" "footnote" "menu" "comment" "big" "small" "light" "dark" "pro" "contra" - classes make the difference. Plus 'class="right"' is easy to change in central place left entrirely to the user: the stylesheet. XML is not meant to avoid clutter. And if it was, something went terribly wrong, I guess :) Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
* Re: Re: Aligning Columns in HTML Export Tables 2010-10-25 21:39 ` Sebastian Rose @ 2010-10-26 5:12 ` Carsten Dominik 0 siblings, 0 replies; 38+ messages in thread From: Carsten Dominik @ 2010-10-26 5:12 UTC (permalink / raw) To: Sebastian Rose Cc: Jeff Horn, mail, Dan Davison, Bernt Hansen, Org-mode ml, Baoqiu Cui OK, I think this change is now done. Thank you all for sharing your expertise! - Carsten On Oct 25, 2010, at 11:39 PM, Sebastian Rose wrote: > Christian Moe <mail@christianmoe.com> writes: >> Maybe someone with a browser where colgroups actually do work >> (Opera!) can check >> >> 1. if they only work with the align attribute, and not with CSS, and >> >> 2. whether they still work (take precedence) now that the >> individual cells are >> aligned with CSS for their class. > > They _never_ took precedence, as soon as I used a style like this: > > /* My default for all td elements */ > td { text-align:left; } > > The `td' style will alway be a "better" CSS-match than the col's style > or class attribute, even then the col's align attribute. It's even > the > expected behaviour according to CSS standards since that what's the > `C' > in CSS means. I have to remove my favourite default style for td > elements from my stylesheet to make that work in Opera, too. In > current > FF it does not work at all. > > Here's another test: > > CSS: > --8<---------------cut here---------------start------------->8--- > col.right { text-align:right;vertical-align:top;background- > color:red; } > col.left { text-align:left;vertical-align:top;background- > color:green; } > col.center { text-align:center;vertical-align:top;background- > color:blue; } > --8<---------------cut here---------------end--------------->8--- > > > > A table: > > --8<---------------cut here---------------start------------->8--- > <table border="0" summary=""> > <caption></caption> > <colgroup><col class="left" /><col class="center" /><col > class="right" /> > </colgroup> > <thead> > <tr><th>A</th><th>B</th><th>C</th></tr> > </thead> > <tbody> > <tr><td>1</td><td >bar</td><td>text</td></tr> > <tr><td>12</td><td >test</td><td>300</td></tr> > <tr><td>9</td><td >foo</td><td>4</td></tr> > </tbody> > </table> > --8<---------------cut here---------------end--------------->8--- > > > The only `style' that works that way is the `background-color'. In > Opera and FF at least. > > Means, the `class' attribute in <col> elements doesn't work very well > (but '<col class="odd" /><col class="even" />' might make sense with > alternating colors).. > > Both, 'align' and the 'style' attribute will be overwritten by a > default > style for a <td> element in the users stylesheet (some prefere center, > some left alignment as the default). > > > > It's common practice to have `style' or `class' attribute in td > elements. That's what classes are for in the end. Make HTML elements > members of a group with certain properties. > > Why not jut go with it? > > > Look at `magento's code, Drupal, whatever. They even use more those > usefull classes, e.g. `first' and `last' for the first and last > elements > of lists. HTML elements without classes are hard to find. The reason > is, that HTML is just a document structure. Classes (and IDs) make > those elements live. > > "first" "last" "right" "left" "content" "footnote" "menu" "comment" > "big" "small" "light" "dark" "pro" "contra" - classes make the > difference. > > Plus 'class="right"' is easy to change in central place left > entrirely to the user: the stylesheet. > > XML is not meant to avoid clutter. And if it was, something went > terribly wrong, I guess :) > > > > Sebastian ^ permalink raw reply [flat|nested] 38+ messages in thread
end of thread, other threads:[~2010-10-26 16:04 UTC | newest] Thread overview: 38+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-10-20 16:42 Aligning Columns in HTML Export Tables Jeff Horn 2010-10-20 17:16 ` Bernt Hansen 2010-10-20 19:04 ` Christian Moe 2010-10-20 20:11 ` Jeff Horn 2010-10-21 0:25 ` Sebastian Rose 2010-10-21 7:36 ` Christian Moe 2010-10-21 7:46 ` Carsten Dominik 2010-10-21 13:04 ` Sebastian Rose 2010-10-21 13:25 ` Sebastian Rose 2010-10-22 7:32 ` Carsten Dominik 2010-10-22 11:20 ` Sebastian Rose 2010-10-22 11:27 ` Carsten Dominik 2010-10-22 13:59 ` Sebastian Rose 2010-10-22 15:41 ` Carsten Dominik 2010-10-22 19:30 ` Sebastian Rose 2010-10-23 5:42 ` Carsten Dominik 2010-10-23 19:03 ` Sebastian Rose 2010-10-22 19:37 ` Sebastian Rose 2010-10-23 5:53 ` Carsten Dominik 2010-10-23 19:20 ` Sebastian Rose 2010-10-23 19:28 ` Sebastian Rose 2010-10-25 6:48 ` Carsten Dominik 2010-10-25 9:02 ` Giovanni Ridolfi 2010-10-25 9:09 ` Carsten Dominik 2010-10-25 4:36 ` Baoqiu Cui 2010-10-25 8:51 ` Christian Moe 2010-10-25 9:08 ` Carsten Dominik 2010-10-25 13:13 ` Christian Moe 2010-10-25 13:22 ` Carsten Dominik 2010-10-25 14:55 ` Sebastian Rose 2010-10-25 20:41 ` Christian Moe 2010-10-25 21:52 ` Baoqiu Cui 2010-10-26 5:11 ` Carsten Dominik 2010-10-26 16:03 ` Baoqiu Cui 2010-10-25 13:43 ` Carsten Dominik 2010-10-25 20:04 ` Christian Moe 2010-10-25 21:39 ` Sebastian Rose 2010-10-26 5:12 ` Carsten Dominik
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).