[CSS2.1] Visual formatting model: Floats and Positioning

S9.4.3 Relative positioning
http://www.w3.org/TR/2003/WD-CSS21-20030915/visuren.html#relative-positioning

# Relative positioning may also be used as a general form of superscripting
# and subscripting except that line height is not automatically adjusted to
# take the positioning into consideration.

change to
   Although relative positioning may be used as a form of superscripting and
   subscripting, the line height is not automatically adjusted to take the
   positioning into consideration.

S9.5 Floats
http://www.w3.org/TR/2003/WD-CSS21-20030915/visuren.html#floats

# The top of the floated box is aligned with the top of the current line
# box (or bottom of the preceding block box if no line box exists).

Are you saying that a float floats over it's parent's top margin+border+padding?

# The margin box of an element in the normal flow that establishes a new
# block formatting context (such as a table, or element with 'overflow'
# other than 'visible') must not overlap any floats in the same block
# formatting context as the element itself. If necessary, implementations
# should clear the said element by placing it below any preceding floats,
# but may place it adjacent to such floats if there is sufficient space.

The margin box of an element in normal flow is always as wide as the
containing block. What is this rule *supposed* to say?

# Example. In the following document fragment, the containing block is
# too short to contain the content

Too narrow, not too short. The /line boxes/ are too short next to the
float; the containing block is wide (and long) enough.

# Formatting would have been exactly the same if the document had been:
...
# because the content to the left of the float is displaced by the float
# and reflowed down its right side.

Poor explanation, imo. Try:
   because the float is taken out of the flow from the same line as in
   the previous example.

S9.5.1 Positioning the float: the 'float' property
http://www.w3.org/TR/2003/WD-CSS21-20030915/visuren.html#float-position

# It may be set for elements that generate boxes that are not absolutely
# positioned.

It can be set for any element. It just doesn't _apply_ to some of them.

# Same as 'left', but content flows on the left side of the box, starting
# at the top.

No, it's not the same as 'left' because it's floated to the _right_, not
the left.

# References to other elements in these rules refer only to other elements
# in the same block formatting context as the float..

But weren't you just talking about inline elements? (Like in rule 5.)
Inlines don't participate in the block formatting context.

S9.5.2 Controlling flow next to floats: the 'clear' property
http://www.w3.org/TR/2003/WD-CSS21-20030915/visuren.html#flow-control

# The clearance dimension is introduced as a dimension above the
# margin-top of an element that is used to push the element
# vertically (typically downward).

Calling it a dimension doesn't seem quite right. How about
   Clearance is introduced as spacing above the margin-top of an
   element. It is used to push the element vertically downward,
   past the float.

I can't think of any cases where clearance would cause the element
to go up, so "typically" should not be there to imply that there
are some.

# Values have the following meanings when applied to non-floating
# block boxes:

What about floating boxes?

# Example:
#
#  span { clear: left }

This example is useless. Take it out.

9.8.3 Floating a box
http://www.w3.org/TR/2003/WD-CSS21-20030915/visuren.html#q27

The image for these examples imply that all the leading is added
on top of the line. They should depict a 50/50 split in the leading.

# #sibling { clear: right; color: red }

I thought we just established that 'float' does not apply to inline
elements?

S9.8.4 Absolute positioning
http://www.w3.org/TR/2003/WD-CSS21-20030915/visuren.html#q28

# Relative and absolute positioning may be used to implement change
# bars, as shown in the following example.
# ... the change bars seem to "float" to the left of the current line.

Wouldn't it make more sense to use a float?
(And wouldn't it be better to use a proper em-dash?)

S9.9.1 Specifying the stack level: the 'z-index' property
http://www.w3.org/TR/2003/WD-CSS21-20030915/visuren.html#z-index

# In this section, the expression "in front of" means closer to the
# user as the user faces the screen.

screen -> canvas

# Stacking contexts are not necessarily related to containing blocks.
# In future levels of CSS, other properties may introduce stacking
# contexts, for example 'opacity'.

The first sentence needs an example.
The second sentence should not have one.

# The default behavior of a box is to allow boxes behind it to be
# visible through transparent areas in its content.

The default behavior of the background is...

~fantasai

Received on Tuesday, 21 October 2003 04:23:27 UTC