- From: Bert Bos <bert@w3.org>
- Date: Thu, 2 Nov 2006 18:58:02 +0100
- To: www-international@w3.org, www-style@w3.org
- Cc: "Paul Nelson (ATC)" <paulnel@winse.microsoft.com>, Richard Ishida <ishida@w3.org>, w3c-css-wg@w3.org, Steven Pemberton <steven.pemberton@cwi.nl>
On Wednesday 01 November 2006 22:58, Paul Nelson (ATC) wrote: > Richard, > > Your assertion that "rlo" and "lro" should not set the text direction > is flawed because you are putting two properties together. > 'direction' sets initial block level text-align. The 'unicode-bidi' > is a second property that does not set the block direction. > ****Please do not override the 'dir' property to contain two > properties**** It only causes confusion. Just another small clarification on the 'text-align' property: The CSS2 specification is rather brief on how a block's 'direction' property influences the default alignment, but the right interpretation is that the initial value of the property is neither 'left' nor 'right', but another, nameless value, which acts as 'left' or 'right' depending on the 'direction' property. The WG already decided some time ago to give this value an explicit name in CSS3, viz. 'start'[1] (borrowed from XSL-FO) and now also decided to improve the wording in CSS2 to make it unambiguous that the initial value is indeed neither 'left' nor 'right'. (The CSS3 Text Module is already clear on that point.) This 'start' value exists basically to ensure that documents in a single script automatically align to the correct side in the absence of any CSS rules. It may indeed lead to surprising results in documents with mixed scripts, because the value is inherited, and thus a nested block element may unexpectedly be aligned differently from its parent, just because it has a different 'direction' property. (Although I've also heard claims that some designers *want* to justify blockquotes differently based on their script.) It may be that having 'start' as the initial value of 'text-align' is not optimal, but, this being CSS, the designer still has the choice: 1. To make the justification of blocks of text depend on 'direction', don't set 'text-align' (or set it to 'start'). 2. To make the justification of blocks of text independent of the 'direction', set 'text-align' to either 'left' or 'right' (e.g., on the BODY element). (I believe some browsers already support the new 'start' value from CSS3, which allows you to get behavior 1 explicitly, even for parts of a document.) [1] http://www.w3.org/TR/css3-text/#justification Bert -- Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/people/bos W3C/ERCIM bert@w3.org 2004 Rt des Lucioles / BP 93 +33 (0)4 92 38 76 92 06902 Sophia Antipolis Cedex, France
Received on Thursday, 2 November 2006 17:58:28 UTC