Changes between Version 79 and Version 80 of Help/Styles/MapCSSImplementation


Ignore:
Timestamp:
2015-02-19T15:43:13+01:00 (9 years ago)
Author:
bastiK
Comment:

doc for @supports rule, deprecate @media query

Legend:

Unmodified
Added
Removed
Modified
  • Help/Styles/MapCSSImplementation

    v79 v80  
    678678You can also negate classes. E.g. {{{way!.path}}} for all ways, which are not part of the class ''.path''.
    679679
    680 == Media queries [''since 6970''] ==
    681 
     680== @supports rule for conditional processing [''since 8087''] ==
     681
     682@supports rules are used to skip a section of the style under certain conditions. Typically you want to use a feature which is introduced in a newer version of JOSM, but like to have a fall back style for users of older JOSM clients. Example:
     683{{{
     684#!mapcss
     685@supports (min-josm-version: 9789) {
     686    way[highway] {
     687        width: 4;
     688        color: orange;
     689    }
     690    /* fancy new stuff */
     691    /* ... */
     692}
     693
     694@supports (max-josm-version: 9788) {
     695    way[highway] {
     696        width: 4;
     697        color: blue;
     698    }
     699    /* fall back mode, using more simple features */
     700    /* ... */
     701}
     702
     703@supports (icon-offset-x) {
     704    /* only if icon-offset-x property is supported */
     705    node[amenity] {
     706        icon-offset-x: 5;
     707    }
     708}
     709}}}
     710
     711The syntax closely matches the official [http://dev.w3.org/csswg/css-conditional/ css syntax]. The following conditions are supported:
     712
     713{{{#!th
     714'''Condition'''
     715}}}
     716{{{#!th
     717'''Description'''
     718}}}
     719|-
     720{{{#!td
     721(''<mapcsskey>'')
     722}}}
     723{{{#!td
     724Check if a certain mapcss key is supported, e.g. `repeat-image` or `icon-offset-x`.
     725}}}
     726|-
     727{{{#!td
     728(min-josm-version: ''<number>'')
     729}}}
     730{{{#!td
     731Only include {{{@supports}}} section when the current version of JOSM is greater than or equal to the specified number.
     732}}}
     733|-
     734{{{#!td
     735(max-josm-version: ''<number>'')
     736}}}
     737{{{#!td
     738Only include {{{@supports}}} section when the current version of JOSM is lower than or equal to the specified number.
     739}}}
     740|-
     741{{{#!td
     742(user-agent: ''<string>'')
     743}}}
     744{{{#!td
     745Only include {{{@supports}}} section when the name of the editor / renderer matches the given string. In JOSM, the only accepted value is {{{josm}}}.
     746}}}
     747
     748Conditions can be combined with {{{and}}}:
     749
     750{{{
     751#!mapcss
     752@supports (min-josm-version: 8087) and (max-josm-version: 8200) {
     753 /* only for JOSM versions 8087 to 8200 */
     754}
     755}}}
     756
     757Other logical operators like {{{or}}} and {{{not}}} can also be used. Parentheses are needed if you want to combine different logical operators:
     758
     759{{{
     760#!mapcss
     761@supports ((min-josm-version: 8087) and (max-josm-version: 8200)) or (user-agent: myEditor) {
     762  /* for JOSM version 8087 to 8200 and for the editor called "myEditor" */
     763}
     764}}}
     765
     766Since @supports rules are only supported in JOSM 8087 and later, you should also specify this as minimum JOSM version in the meta selector:
     767
     768{{{
     769#!mapcss
     770meta {
     771    min-josm-version: "8087"; /* This style uses @supports rules */
     772    /* ... */
     773}
     774}}}
     775
     776== Media queries [''since 6970'']  (deprecated) ==
     777
     778{{{#!td style="background-color: #faa"
     779Note: media queries are deprecated. You should use @supports rules instead (see above).
     780}}}
    682781Media queries are used to skip a section of the style under certain conditions. Typically you want to use a feature which is introduced in a newer version of JOSM, but like to have a fall back style for users of older JOSM clients. Example:
    683782{{{