- From: Christoph Pδper <christoph.paeper@crissov.de>
- Date: Fri, 29 Apr 2011 11:53:38 +0200
- To: "www-style@w3.org list" <www-style@w3.org>
fantasai: > On 04/20/2011 01:00 PM, Rudolph Gottesheim wrote: >> input[value=''] { background-color:#f00; } >> <input value="" /> >> >> Why doesn't the second input turn red when you enter something? > > the [value] selector selects on the DOM. > I'll add it to the list of things to consider for Selectors 4. <http://wiki.csswg.org/spec/selectors4> <http://dev.w3.org/csswg/selectors4/> I would group it with (proposed) pseudo-attribute selectors input[:value=''] {foo: bar} input[#value=''] {foo: bar} input[@value=''] {foo: bar} since it should neither be a pseudo-class selector input:value('') {foo: bar} input:empty-value {foo: bar} nor a pseudo-element selector input::value('') {foo: bar} input::empty-value {foo: bar} and would be more flexible this way. By the way, for matching of attribute values we currently have: = (exact) ~= (in list) |= (exact or starts with followed by dash anything) ^= (starts with) $= (ends with) *= (contains) Although there is :not(), I think it would be nice to have negated comparisons, i.e. at least != but possibly also the rest !~= !|= !^= !$= !*= On the list of ideas we already find numeric attribute selectors <= = !> < = !>= >= = !< > = !<= but only for lager and smaller comparisons. We additionally may want numeric equality comparison where 0 = 0.0 = .0 = 00 = : #= A binary logic attribute selector could handle yes = true = 1 = on = attribute-name, possibly depending on the markup language: ?= !?= An assertion attribute selector could be used to test whether a value would be legal (without applying it): := !:= The colon, though, might be more appropriate for attribute sub-values, e.g. [color:red>50%] or [href:protocol!=http]. We may also want more intelligent, typed numeric attribute selectors that take (CSS) (length) units into account, e.g. 25.4mm = 1in = 72pt or #FF0000 = red. _= _<=, _< _>=, _> They could also apply numeric values to a percentage scale, i.e .5 = 0.50 = 50%: %= %<=, %< %>=, %> Someone else may also find uses for += -= &= @= `= /= ,= ;= .= for example for case (in)sensitive string comparison. Im not sure whether == could be used for that, i.e. whether today [foo==] should match <bar foo="="/>.
Received on Friday, 29 April 2011 09:54:08 UTC