mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 09:12:52 +00:00
703 lines
13 KiB
CSS
703 lines
13 KiB
CSS
/* base styles */
|
|
path {
|
|
fill: none;
|
|
}
|
|
|
|
/* points */
|
|
|
|
g.point circle {
|
|
fill:#fff;
|
|
}
|
|
|
|
g.point .shadow {
|
|
fill: none;
|
|
pointer-events: all;
|
|
-webkit-transition: -webkit-transform 100ms linear;
|
|
transition: transform 100ms linear;
|
|
-moz-transition: fill 100ms linear;
|
|
}
|
|
g.point.hover .shadow {
|
|
fill: #E96666;
|
|
fill-opacity: 0.3;
|
|
}
|
|
g.point.selected .shadow {
|
|
fill: #E96666;
|
|
fill-opacity: 0.7;
|
|
}
|
|
|
|
/* vertices */
|
|
|
|
g.vertex .fill {
|
|
fill:white;
|
|
}
|
|
g.vertex .stroke {
|
|
stroke:#333;
|
|
stroke-width:2;
|
|
fill:white;
|
|
}
|
|
|
|
svg[data-zoom="16"] g.vertex .shadow {
|
|
-webkit-transform:scale(0.8, 0.8);
|
|
-moz-transform:scale(0.8, 0.8);
|
|
transform:scale(0.8, 0.8);
|
|
}
|
|
svg[data-zoom="16"] g.vertex .stroke,
|
|
svg[data-zoom="16"] g.vertex .fill {
|
|
-webkit-transform:scale(0.6, 0.6);
|
|
-moz-transform:scale(0.6, 0.6);
|
|
transform:scale(0.6, 0.6);
|
|
}
|
|
|
|
svg[data-zoom="17"] g.vertex .shadow {
|
|
-webkit-transform:scale(0.9, 0.9);
|
|
-moz-transform:scale(0.9, 0.9);
|
|
transform:scale(0.9, 0.9);
|
|
}
|
|
svg[data-zoom="17"] g.vertex .stroke,
|
|
svg[data-zoom="17"] g.vertex .fill {
|
|
-webkit-transform:scale(0.7, 0.7);
|
|
-moz-transform:scale(0.7, 0.7);
|
|
transform:scale(0.7, 0.7);
|
|
}
|
|
|
|
g.vertex.shared .shadow {
|
|
-webkit-transform:scale(1.2, 1.2);
|
|
-moz-transform:scale(1.2, 1.2);
|
|
transform:scale(1.2, 1.2);
|
|
}
|
|
g.vertex.shared .fill,
|
|
g.vertex.shared .stroke {
|
|
-webkit-transform:scale(1.1, 1.1);
|
|
-moz-transform:scale(1.1, 1.1);
|
|
transform:scale(1.1, 1.1);
|
|
}
|
|
svg[data-zoom="16"] g.vertex.shared .shadow {
|
|
-webkit-transform:scale(0.9, 0.9);
|
|
-moz-transform:scale(0.9, 0.9);
|
|
transform:scale(0.9, 0.9);
|
|
}
|
|
svg[data-zoom="16"] g.vertex.shared .fill,
|
|
svg[data-zoom="16"] g.vertex.shared .stroke {
|
|
-webkit-transform:scale(0.8, 0.8);
|
|
-moz-transform:scale(0.8, 0.8);
|
|
transform:scale(0.8, 0.8);
|
|
}
|
|
svg[data-zoom="17"] g.vertex.shared .shadow {
|
|
-webkit-transform:scale(1, 1);
|
|
-moz-transform:scale(1, 1);
|
|
transform:scale(1, 1);
|
|
}
|
|
svg[data-zoom="17"] g.vertex.shared .fill,
|
|
svg[data-zoom="17"] g.vertex.shared .stroke {
|
|
-webkit-transform:scale(0.9, 0.9);
|
|
-moz-transform:scale(0.9, 0.9);
|
|
transform:scale(0.9, 0.9);
|
|
}
|
|
|
|
g.vertex.shared .fill {
|
|
fill:#aaa;
|
|
}
|
|
|
|
g.vertex .shadow {
|
|
fill: none;
|
|
pointer-events: all;
|
|
stroke-width: 10;
|
|
-webkit-transition: -webkit-transform 100ms linear;
|
|
transition: transform 100ms linear;
|
|
-moz-transition: fill 100ms linear;
|
|
}
|
|
g.vertex.hover .shadow {
|
|
fill: #E96666;
|
|
fill-opacity: 0.3;
|
|
}
|
|
g.vertex.selected .shadow {
|
|
fill: #E96666;
|
|
fill-opacity: 0.7;
|
|
}
|
|
|
|
/* midpoints */
|
|
|
|
g.midpoint .fill {
|
|
fill:#aaa;
|
|
}
|
|
g.midpoint .fill.hover {
|
|
fill:#fff;
|
|
stroke:#000;
|
|
}
|
|
|
|
g.midpoint .shadow {
|
|
fill: none;
|
|
pointer-events: all;
|
|
stroke-width: 10;
|
|
-webkit-transition: -webkit-transform 100ms linear;
|
|
transition: transform 100ms linear;
|
|
-moz-transition: fill 100ms linear;
|
|
}
|
|
g.midpoint .shadow.hover {
|
|
fill:#E96666;
|
|
fill-opacity: 0.3;
|
|
}
|
|
|
|
/* lines */
|
|
|
|
path.line {
|
|
stroke-linecap: round;
|
|
stroke-linejoin: bevel;
|
|
}
|
|
|
|
path.stroke {
|
|
stroke: #222;
|
|
stroke-width: 2;
|
|
}
|
|
|
|
path.stroke,
|
|
path.casing {
|
|
shape-rendering: optimizeSpeed;
|
|
}
|
|
|
|
path.shadow {
|
|
pointer-events: stroke;
|
|
stroke-width: 10;
|
|
-webkit-transition: stroke 100ms linear;
|
|
}
|
|
|
|
path.shadow.hover {
|
|
stroke: #E96666;
|
|
stroke-opacity: 0.3;
|
|
}
|
|
|
|
path.shadow.selected {
|
|
stroke: #E96666;
|
|
stroke-opacity: 0.7;
|
|
}
|
|
|
|
path.area,
|
|
path.multipolygon {
|
|
stroke-width:2;
|
|
stroke:#fff;
|
|
fill:#fff;
|
|
fill-opacity:0.3;
|
|
}
|
|
|
|
path.multipolygon {
|
|
fill-rule: evenodd;
|
|
}
|
|
|
|
path.area.member-type-multipolygon {
|
|
fill: none;
|
|
}
|
|
|
|
path.area.selected {
|
|
stroke-width:4 !important;
|
|
}
|
|
|
|
path.area.tag-natural,
|
|
path.multipolygon.tag-natural {
|
|
stroke: #ADD6A5;
|
|
fill: #ADD6A5;
|
|
stroke-width:1;
|
|
}
|
|
|
|
path.area.tag-natural-water,
|
|
path.multipolygon.tag-natural-water {
|
|
stroke: #6382FF;
|
|
fill: #ADBEFF;
|
|
}
|
|
|
|
path.area.tag-building,
|
|
path.multipolygon.tag-building {
|
|
stroke: #9E176A;
|
|
stroke-width: 1;
|
|
fill: #ff6ec7;
|
|
}
|
|
|
|
path.area.tag-landuse,
|
|
path.area.tag-natural-wood,
|
|
path.area.tag-natural-tree,
|
|
path.area.tag-natural-grassland,
|
|
path.area.tag-leisure-park,
|
|
path.multipolygon.tag-landuse,
|
|
path.multipolygon.tag-natural-wood,
|
|
path.multipolygon.tag-natural-tree,
|
|
path.multipolygon.tag-natural-grassland,
|
|
path.multipolygon.tag-leisure-park {
|
|
stroke: #006B34;
|
|
stroke-width: 1;
|
|
fill: #189E59;
|
|
fill-opacity: 0.2;
|
|
}
|
|
|
|
path.area.tag-amenity-parking,
|
|
path.multipolygon.tag-amenity-parking {
|
|
stroke: #beb267;
|
|
stroke-width: 1;
|
|
fill: #edecc0;
|
|
}
|
|
|
|
path.multipolygon.tag-boundary {
|
|
fill: none;
|
|
}
|
|
|
|
/* highways */
|
|
|
|
path.shadow.tag-highway {
|
|
stroke-width:16;
|
|
}
|
|
path.casing.tag-highway {
|
|
stroke:#444;
|
|
stroke-width:10;
|
|
}
|
|
path.stroke.tag-highway {
|
|
stroke:#ccc;
|
|
stroke-width:8;
|
|
}
|
|
|
|
svg[data-zoom="16"] path.shadow.tag-highway {
|
|
stroke-width:12;
|
|
}
|
|
svg[data-zoom="16"] path.casing.tag-highway {
|
|
stroke-width:6;
|
|
}
|
|
svg[data-zoom="16"] path.stroke.tag-highway {
|
|
stroke-width:4;
|
|
}
|
|
|
|
path.stroke.tag-highway-motorway,
|
|
path.stroke.tag-highway-motorway_link,
|
|
path.stroke.tag-construction-motorway {
|
|
stroke:#809bc0;
|
|
}
|
|
path.casing.tag-highway-motorway,
|
|
path.casing.tag-highway-motorway_link,
|
|
path.casing.tag-construction-motorway {
|
|
stroke:#506077;
|
|
}
|
|
|
|
path.stroke.tag-highway-trunk,
|
|
path.stroke.tag-highway-trunk_link,
|
|
path.stroke.tag-construction-trunk {
|
|
stroke:#97d397;
|
|
}
|
|
path.casing.tag-highway-trunk,
|
|
path.casing.tag-highway-trunk_link,
|
|
path.casing.tag-construction-trunk {
|
|
stroke:#477147;
|
|
}
|
|
|
|
path.stroke.tag-highway-primary,
|
|
path.stroke.tag-highway-primary_link,
|
|
path.stroke.tag-construction-primary {
|
|
stroke:#ec989a;
|
|
}
|
|
path.casing.tag-highway-primary,
|
|
path.casing.tag-highway-primary_link,
|
|
path.casing.tag-construction-primary {
|
|
stroke:#8d4346;
|
|
}
|
|
|
|
path.stroke.tag-highway-secondary,
|
|
path.stroke.tag-highway-secondary_link,
|
|
path.stroke.tag-construction-secondary {
|
|
stroke:#fecc8b;
|
|
}
|
|
path.casing.tag-highway-secondary,
|
|
path.casing.tag-highway-secondary_link,
|
|
path.casing.tag-construction-secondary {
|
|
stroke:#a37b48;
|
|
}
|
|
|
|
path.stroke.tag-highway-tertiary,
|
|
path.stroke.tag-highway-tertiary_link,
|
|
path.stroke.tag-construction-tertiary {
|
|
stroke:#ffffb3;
|
|
}
|
|
path.casing.tag-highway-tertiary,
|
|
path.casing.tag-highway-tertiary_link,
|
|
path.casing.tag-construction-tertiary {
|
|
stroke:#bbb;
|
|
}
|
|
|
|
path.stroke.tag-highway-unclassified,
|
|
path.stroke.tag-construction-unclassified {
|
|
stroke:#eaeaea;
|
|
}
|
|
path.casing.tag-highway-unclassified,
|
|
path.casing.tag-construction-unclassified {
|
|
stroke:#444;
|
|
}
|
|
|
|
path.stroke.tag-highway-residential,
|
|
path.stroke.tag-construction-residential {
|
|
stroke:#fff;
|
|
}
|
|
path.casing.tag-highway-residential,
|
|
path.casing.tag-construction-residential {
|
|
stroke:#444;
|
|
}
|
|
|
|
path.stroke.tag-highway-living_street {
|
|
stroke:#ccc;
|
|
stroke-width:4;
|
|
}
|
|
path.casing.tag-highway-living_street {
|
|
stroke:#fff;
|
|
stroke-width:6;
|
|
}
|
|
|
|
path.stroke.tag-highway-pedestrian {
|
|
stroke:#fff;
|
|
stroke-dasharray: 2, 8;
|
|
stroke-width:4 !important;
|
|
shapeRendering: auto;
|
|
}
|
|
path.casing.tag-highway-pedestrian {
|
|
stroke:#84C382;
|
|
stroke-width:6 !important;
|
|
}
|
|
|
|
path.stroke.tag-highway-service {
|
|
stroke:#fff;
|
|
stroke-width:4;
|
|
}
|
|
path.casing.tag-highway-service {
|
|
stroke:#666;
|
|
stroke-width:6;
|
|
}
|
|
svg[data-zoom="16"] path.stroke.tag-highway-service {
|
|
stroke-width:2;
|
|
}
|
|
svg[data-zoom="16"] path.casing.tag-highway-service {
|
|
stroke-width:4;
|
|
}
|
|
|
|
path.stroke.tag-highway-track {
|
|
stroke: #fff;
|
|
stroke-width: 4;
|
|
}
|
|
path.casing.tag-highway-track {
|
|
stroke: #996600;
|
|
stroke-width: 6;
|
|
stroke-linecap: butt;
|
|
stroke-dasharray: 6, 6;
|
|
}
|
|
svg[data-zoom="16"] path.stroke.tag-highway-track {
|
|
stroke-width:2;
|
|
}
|
|
svg[data-zoom="16"] path.casing.tag-highway-track {
|
|
stroke-width:4;
|
|
}
|
|
|
|
path.stroke.tag-highway-path {
|
|
stroke: #000;
|
|
stroke-width: 1 !important;
|
|
stroke-linecap: butt;
|
|
stroke-dasharray: 8, 4;
|
|
}
|
|
path.casing.tag-highway-path {
|
|
stroke-width: 1 !important;
|
|
stroke: #fff;
|
|
}
|
|
|
|
path.stroke.tag-highway-footway,
|
|
path.stroke.tag-highway-cycleway,
|
|
path.stroke.tag-highway-bridleway {
|
|
stroke-width: 4;
|
|
stroke-linecap: butt;
|
|
stroke-dasharray: 6, 6;
|
|
}
|
|
path.casing.tag-highway-footway,
|
|
path.casing.tag-highway-cycleway,
|
|
path.casing.tag-highway-bridleway {
|
|
stroke-width: 6;
|
|
stroke: #fff;
|
|
}
|
|
|
|
svg[data-zoom="16"] path.stroke.tag-highway-footway,
|
|
svg[data-zoom="16"] path.stroke.tag-highway-cycleway,
|
|
svg[data-zoom="16"] path.stroke.tag-highway-bridleway {
|
|
stroke-width: 2;
|
|
}
|
|
svg[data-zoom="16"] path.casing.tag-highway-footway,
|
|
svg[data-zoom="16"] path.casing.tag-highway-cycleway,
|
|
svg[data-zoom="16"] path.casing.tag-highway-bridleway {
|
|
stroke-width: 4;
|
|
}
|
|
|
|
path.stroke.tag-highway-footway {
|
|
stroke: #996600;
|
|
}
|
|
path.stroke.tag-highway-cycleway {
|
|
stroke: #69f;
|
|
}
|
|
path.stroke.tag-highway-bridleway {
|
|
stroke: green;
|
|
}
|
|
|
|
path.stroke.tag-highway-steps {
|
|
stroke: #ff6257;
|
|
stroke-width: 4;
|
|
stroke-linecap: butt;
|
|
stroke-dasharray: 3, 3;
|
|
}
|
|
path.casing.tag-highway-steps {
|
|
stroke-width: 6;
|
|
stroke: #fff;
|
|
}
|
|
|
|
path.casing.tag-bridge-yes {
|
|
stroke-width: 14;
|
|
stroke: #000;
|
|
}
|
|
|
|
path.stroke.tag-highway-construction,
|
|
path.casing.tag-highway-construction {
|
|
stroke-linecap: butt;
|
|
stroke-dasharray: 7, 7;
|
|
}
|
|
|
|
svg[data-zoom="16"] path.stroke.tag-highway-construction,
|
|
svg[data-zoom="16"] path.casing.tag-highway-construction {
|
|
stroke-linecap: butt;
|
|
stroke-dasharray: 5, 5;
|
|
}
|
|
|
|
/* railways */
|
|
|
|
path.stroke.tag-railway {
|
|
stroke: #eee;
|
|
stroke-width: 2;
|
|
stroke-linecap: butt;
|
|
stroke-dasharray: 12,12;
|
|
}
|
|
path.casing.tag-railway {
|
|
stroke: #555;
|
|
stroke-width: 4;
|
|
}
|
|
|
|
path.stroke.tag-railway-abandoned {
|
|
stroke: #eee;
|
|
}
|
|
path.casing.tag-railway-abandoned {
|
|
stroke: #999;
|
|
}
|
|
|
|
path.stroke.tag-railway-subway {
|
|
stroke: #666;
|
|
}
|
|
path.casing.tag-railway-subway {
|
|
stroke: #222;
|
|
}
|
|
|
|
/* waterways */
|
|
|
|
path.stroke.tag-waterway {
|
|
stroke: #10539a;
|
|
stroke-width: 2;
|
|
}
|
|
path.casing.tag-waterway {
|
|
stroke: #6AA2FF;
|
|
stroke-width: 4;
|
|
}
|
|
|
|
path.stroke.tag-waterway-river {
|
|
stroke-width: 4;
|
|
}
|
|
path.casing.tag-waterway-river {
|
|
stroke-width: 6;
|
|
}
|
|
|
|
svg[data-zoom="16"] path.stroke.tag-waterway-river {
|
|
stroke-width: 4;
|
|
}
|
|
svg[data-zoom="16"] path.casing.tag-waterway-river {
|
|
stroke-width: 6;
|
|
}
|
|
|
|
path.stroke.tag-waterway-ditch {
|
|
stroke: #10539a;
|
|
stroke-width: 1;
|
|
}
|
|
path.casing.tag-waterway-ditch {
|
|
stroke: #999692;
|
|
stroke-width: 3;
|
|
}
|
|
|
|
/* power */
|
|
|
|
path.stroke.tag-power {
|
|
stroke: #939393;
|
|
stroke-width: 2;
|
|
}
|
|
path.casing.tag-power {
|
|
stroke: none;
|
|
}
|
|
|
|
/* boundary */
|
|
|
|
path.stroke.tag-boundary {
|
|
stroke: #fff;
|
|
stroke-width: 2;
|
|
stroke-linecap: butt;
|
|
stroke-dasharray: 20, 5, 5, 5;
|
|
}
|
|
path.casing.tag-boundary {
|
|
stroke: #82B5FE;
|
|
stroke-width: 6;
|
|
}
|
|
|
|
path.casing.tag-boundary-protected_area,
|
|
path.casing.tag-boundary-national_park {
|
|
stroke: #4D9849;
|
|
}
|
|
|
|
|
|
text {
|
|
font-size:10px;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.oneway .textpath {
|
|
pointer-events: none;
|
|
}
|
|
|
|
text.tag-oneway {
|
|
fill:#91CFFF;
|
|
stroke:#2C6B9B;
|
|
stroke-width:1;
|
|
pointer-events:none;
|
|
}
|
|
|
|
/*
|
|
* Labels
|
|
*/
|
|
|
|
.layer-halo path {
|
|
pointer-events: none;
|
|
stroke-linecap: round;
|
|
stroke-linejoin: bevel;
|
|
stroke-width: 20px;
|
|
opacity: 0.8;
|
|
stroke: white;
|
|
}
|
|
|
|
text.arealabel,
|
|
text.pathlabel,
|
|
text.pointlabel {
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
fill: black;
|
|
text-anchor: middle;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.pathlabel .textpath {
|
|
dominant-baseline: middle;
|
|
}
|
|
|
|
.pointlabel-halo,
|
|
.linelabel-halo,
|
|
.arealabel-halo {
|
|
opacity: 0.7;
|
|
pointer-events: none;
|
|
}
|
|
|
|
|
|
text.area.tag-leisure-park {
|
|
font-size: 16px;
|
|
}
|
|
|
|
text.point.tag-shop,
|
|
text.point.tag-amenity {
|
|
font-size: 9px;
|
|
}
|
|
|
|
/* Cursors */
|
|
|
|
#map:hover {
|
|
cursor:url(../img/cursor-grab.png) 9 9, auto;
|
|
}
|
|
|
|
#map:active {
|
|
cursor:url(../img/cursor-grabbing.png) 9 9, auto;
|
|
}
|
|
|
|
.mode-browse .point,
|
|
.mode-select .point {
|
|
cursor: url(../img/cursor-select-point.png), pointer;
|
|
}
|
|
|
|
.mode-select .vertex,
|
|
.mode-browse .vertex {
|
|
cursor: url(../img/cursor-select-vertex.png), pointer;
|
|
}
|
|
|
|
.mode-browse .line,
|
|
.mode-select .line {
|
|
cursor: url(../img/cursor-select-line.png), pointer;
|
|
}
|
|
|
|
.mode-select .area,
|
|
.mode-browse .area,
|
|
.mode-select .multipolygon,
|
|
.mode-browse .multipolygon {
|
|
cursor: url(../img/cursor-select-area.png), pointer;
|
|
}
|
|
|
|
.mode-select .midpoint,
|
|
.mode-browse .midpoint {
|
|
cursor: url(../img/cursor-select-split.png), pointer;
|
|
}
|
|
|
|
.point:active,
|
|
.vertex:active,
|
|
.line:active,
|
|
.area:active,
|
|
.multipolygon:active,
|
|
.midpoint:active,
|
|
.mode-select .selected {
|
|
cursor: url(../img/cursor-select-acting.png), pointer;
|
|
}
|
|
|
|
.mode-draw-line #map:hover,
|
|
.mode-draw-area #map:hover,
|
|
.mode-add-line #map:hover,
|
|
.mode-add-area #map:hover {
|
|
cursor:url(../img/cursor-draw.png) 9 9, auto;
|
|
}
|
|
|
|
.mode-draw-line .way,
|
|
.mode-add-line .way {
|
|
cursor:url(../img/cursor-draw-connect-line.png) 9 9, auto;
|
|
}
|
|
|
|
.mode-draw-line .vertex,
|
|
.mode-draw-area .vertex,
|
|
.mode-add-line .vertex,
|
|
.mode-add-area .vertex {
|
|
cursor:url(../img/cursor-draw-connect-vertex.png) 9 9, auto;
|
|
}
|
|
|
|
.mode-add-point #map:hover {
|
|
cursor:url(../img/cursor-draw-point.png) 18 18, auto;
|
|
}
|
|
|
|
/* Modes */
|
|
|
|
.mode-draw-line .vertex.active,
|
|
.mode-draw-area .vertex.active {
|
|
display: none;
|
|
}
|
|
|
|
.mode-draw-line .way.active,
|
|
.mode-draw-area .way.active {
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* Ensure drawing doesn't interact with area fills. */
|
|
.mode-draw-line .area,
|
|
.mode-draw.area .area,
|
|
.mode-add-line .area,
|
|
.mode-add-area .area {
|
|
pointer-events: visibleStroke;
|
|
}
|