in reply to HTML change for Other Users

Is there any reason why it isn't in the following syntax?

<span class='even-row item-022 user-243505'> <a title="im2's home node" href="?node_id=243505">im2</a> <br /> </span>

ie. specify multiple classes at once

Replies are listed 'Best First'.
Re^2: HTML change for Other Users
by kelan (Deacon) on Nov 22, 2004 at 13:28 UTC

    IANAPmdev, but I would guess that it's simpler for the HTML generation to separate them. Then you can do a simple loop like:

    1. foreach property
    2. add span with correct class for the property

    Otherwise you have to do something like:
    1. foreach property
    2. add it to a list
    3. foreach property in the list
    4. add it to the classes for The One Span

Re^2: HTML change for Other Users
by ww (Archbishop) on Nov 22, 2004 at 18:28 UTC
    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

    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.

      That was the case in CSS 1.0, in 2.0 and later you can group classes in a single tag.
      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.
      Only a single class is allowed within the tag it "modifies."


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

Re^2: HTML change for Other Users (compat)
by tye (Sage) on Nov 23, 2004 at 03:45 UTC

    Because the way it is works in more browsers.

    - tye