http://qs321.pair.com?node_id=409676


in reply to Re: HTML change for Other Users
in thread HTML change for Other Users

UPDATE: Don't know if it applies to PM's home-grown tags, styles, etc, but that would not be legal in w3c .css.

Only a single class is allowed within the tag it "modifies."

See Ven'Tatsu's below. He is correct and my statement was wrong. (Next para is still true, but less relevant to css vers > 2.0

<sometag class="1" style="2; 3; 4;">

is allowed, but 2, 3 and 4 must be defined css elements. I'n not aware of any good way to make them refer to "roll-your-owns."

UPDATE: However, read also the note at the end of §5.8.3 at http://www.w3.org/TR/CSS21/selector.html

Typical (and ugly) workarounds involve creating compound styles

.c { text-align: center; } .cb { text-align: center; font-weight: bold; } .cbr { text-align: center; font-weight: bold; color: red; background-color: transparent; } .cbri (or whatever, ad nauseum)...

or the even-uglier use of multiple <span> tags; eg

<p class="c"><span class="b"><span class="r">fubar whatever.... </span +></span></p>

UPDATE: To my mind the "compound" style declaration above is on the same order of ugliness as the multi-classing in w3c's pages cited in this node and in Ven'Tatsu's. It may, however, be more readable.

Replies are listed 'Best First'.
Re^3: HTML change for Other Users
by Ven'Tatsu (Deacon) on Nov 22, 2004 at 19:35 UTC
    That was the case in CSS 1.0, in 2.0 and later you can group classes in a single tag.
    From http://www.w3.org/TR/CSS21/selector.html:
    [att~=val]
    Match when the element's "att" attribute value is a space-separated list of "words", one of which is exactly "val". If this selector is used, the words in the value must not contain spaces (since they are separated by spaces).
    And later
    Working with HTML, authors may use the period (.) notation as an alternative to the ~= notation when representing the class attribute. Thus, for HTML, div.value and div[class~=value] have the same meaning.
    This means that some browsers that don't understand newer CSS may have trouble with multiple classes in a single tag, but I don't know of any off the top of my head.
Re^3: HTML change for Other Users
by hossman (Prior) on Nov 22, 2004 at 19:02 UTC
    Only a single class is allowed within the tag it "modifies."

    Really?

    Can you cite your source on that? I don't remember seeing it in any of the XHTML/CSS specs.