This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 16517 - CSS variables: Need a way to define a default value
Summary: CSS variables: Need a way to define a default value
Status: NEW
Alias: None
Product: CSS
Classification: Unclassified
Component: Variables (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Tab Atkins Jr.
QA Contact: public-css-bugzilla
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-26 05:47 UTC by Roland Steiner
Modified: 2012-07-16 18:41 UTC (History)
1 user (show)

See Also:


Attachments

Description Roland Steiner 2012-03-26 05:47:02 UTC
In the current CSS variables spec, AFAICT it is not possible to specify a default value if a variable is not defined. For example, one cannot write:

p {
    background-color: black;
    background-color: var(user-bg-color);
}

to have the background color default of "black" be overwritten with the contents of "var-user-bg-color", since the latter will always be selected, and revert to invalid (i.e., transparent) rather than black if that variable is not defined.

One way to allow this (IMHO essential) use case is to add a default-value parameter to the var() function:

p {
    background-color: var(user-bg-color, black);
}

In this case, it should be allowed to nest var() functions, for multiple levels of fall-back:

.menuitem {
    background-color: var(menu-item-bg, var(menu-bg, navy));
}