W3C home > Mailing lists > Public > www-style@w3.org > March 2018

Two proposals: 1. Implement a new pseudo-class selector ::between, 2. Allow pseudo-class selectors to be recursive

From: <zjz@zjz.name>
Date: Sat, 03 Mar 2018 10:19:15 -0700
Message-Id: <20180303101915.d283c66b19e4487af443a38249fea558.7ed358dcf8.wbe@email03.godaddy.com>
To: www-style@w3.org
Hello, CSS-WG staff:

I would like to propose two ideas on pseudo-class selectors:

Oftentimes, we encounter situations where it's not enough to just use
semantical elements to represent documents, so we have to end up hacking
ugly code like these:

Example 1
<article>
  <div> <!-- for stylistic purpose -->
    <section>
      ...
    </section>
    <section>
      ...
    </section>
    <section>
      ...
    </section>
  </div>
</article>

So I propose to introduce a new pesudo-class ::between. It generates a
node as if it was the child of an element which is between ::before and
::after, and all the actual children of the element act as if they were
"moved down" to become the children of ::between node. When it applies
to the <article> in Example 1, it serves the stylistic purpose as the
<div> does. With ::between, we can largely avoid writing
stylistic-purpose-only code.

But that's not even enough, what if we encouter a worse situation
requiring more then one stylistic-purpose-only layers?

Example 2
<article>
  <div> <!-- for stylistic purpose -->
    <div> <!-- for stylistic purpose -->
      <section>
        ...
      </section>
      <section>
        ...
      </section>
      <section>
        ...
      </section>
    </div>
  </div>
</article>

We can only reduce one such layer by using ::between, a pesudo-class
selector is not premitted to be applied to an pesudo-class-generated
element by the current standard, so I propose to allow pesudo-class
selectors to be recursive. So we can use ::between::between to reduce
these two layers, and actually, any amout of layers.
And also, we can use ::before::before, ::after::after,
::between::before, ::before::between, etc.

With ::between and recursive pesudo-classes, we are able to wipe out
almost all kinds of stylistic code in HTML code, and finally make them
history.

Thank you for your time of reading my post, and I am looking forward to
hearing your opinions on this.
Received on Monday, 5 March 2018 23:31:38 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:09:10 UTC