X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/6f762ae184385413e142e5b2b1e4399007dc8a67..d711d5af735abc83c36c8e6d1a91b21bdaa7f987:/app/assets/stylesheets/common.scss?ds=inline diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index c807cd311..40c5eaa2a 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -1,4 +1,4 @@ ->@import "parameters"; +@import "parameters"; /* Styles common to large and small screens */ @@ -15,9 +15,15 @@ fieldset,img { border: 0; } legend { color: #000; } -sup { vertical-align: text-top; } +sup { + vertical-align: super; + font-size: smaller; +} -sub { vertical-align: text-bottom; } +sub { + vertical-align: sub; + font-size: smaller; +} table { border-collapse: collapse; @@ -32,7 +38,7 @@ textarea, body { font: #{$typeheight}/#{$lineheight} "Helvetica Neue",Arial,sans-serif; } abbr, acronym { - border-bottom: .1em dotted; + text-decoration: underline dotted; cursor: help; } @@ -142,34 +148,43 @@ small, aside { .red { color: $red; } +.piwik { border: 0; } + +[dir=rtl] { /* no-r2 */ text-align: right; } + +[dir=ltr] { /* no-r2 */ text-align: left; } + /* Rules for icons */ .icon { - display:inline-block; - vertical-align:top; - width:20px; - height:20px; - background:transparent image-url("sprite.png") no-repeat 0 0; - text-indent:-9999px; - overflow:hidden; -} - -.icon.search { background-position: 0 0; } -.icon.donate { background-position: -20px 0; } -.icon.zoomin { background-position: -40px 0; } -.icon.zoomout { background-position: -60px 0; } -.icon.geolocate { background-position: -80px 0; } -.active .icon.geolocate { background-position: -80px -20px; } -.icon.layers { background-position: -100px 0; } -.icon.key { background-position: -120px 0; } -.icon.share { background-position: -140px 0; } -.icon.clipboard { background-position: -160px 0; } -.icon.link { background-position: -180px 0; } -.icon.close { background-position: -200px 0; } -.icon.close:hover { background-position: -200px -20px; } -.icon.check { background-position: -220px 0; } -.icon.note { background-position: -240px 0; } -.icon.query { background-position: -260px 0; } + display: inline-block; + vertical-align: top; + width: 20px; + height: 20px; + background: transparent image-url("sprite.png") no-repeat 0 0; + background-image: image-url("sprite.svg"); + text-indent: -9999px; + overflow: hidden; +} + +.icon.search { /* no-r2 */ background-position: 0 0; } +.icon.donate { /* no-r2 */ background-position: -20px 0; } +.icon.zoomin { /* no-r2 */ background-position: -40px 0; } +.icon.zoomout { /* no-r2 */ background-position: -60px 0; } +.icon.geolocate { /* no-r2 */ background-position: -80px 0; } +.active .icon.geolocate { /* no-r2 */ background-position: -80px -20px; } +.icon.layers { /* no-r2 */ background-position: -100px 0; } +.icon.key { /* no-r2 */ background-position: -120px 0; } +.icon.share { /* no-r2 */ background-position: -140px 0; } +.icon.clipboard { /* no-r2 */ background-position: -160px 0; } +.icon.link { /* no-r2 */ background-position: -180px 0; } +.icon.close { /* no-r2 */ background-position: -200px 0; } +.close-wrap:hover .icon.close, +.icon.close:hover { /* no-r2 */ background-position: -200px -20px; } +.icon.check { /* no-r2 */ background-position: -220px 0; } +.icon.note { /* no-r2 */ background-position: -240px 0; } +.icon.note.grey { /* no-r2 */ background-position: -240px -20px; } +.icon.query { /* no-r2 */ background-position: -260px 0; } /* Rules for links */ @@ -222,7 +237,7 @@ table { /* Rules for the header */ -#menu-icon { +#menu-icon { display: none !important; float: right; background: image-url("menu-icon.png") no-repeat; @@ -284,7 +299,7 @@ nav.primary { > li { border-right: $border; float: left; - &:last-child { + &:last-child { border-right: 0; } > a:hover { background: lighten($green, 30%); } @@ -365,12 +380,12 @@ nav.secondary { > li { border-right: $border; float: left; - &:last-child { + &:last-child { border-right: 0; > a { border-radius: 0 $border-radius $border-radius 0; - } + } } &:first-child > a { border-radius: $border-radius 0 0 $border-radius; } &:hover a { background: lighten($darkgrey, 30%); } @@ -438,7 +453,7 @@ nav.secondary { } } -@media only screen and (max-width:960px) { +body.compact { #compact-secondary-nav { display: inline-block; } @@ -466,90 +481,6 @@ nav.secondary { margin-top: 50px; } -/* Rules for bootstrap tooltips */ - -.tooltip { - position: absolute; - display: none; - color: #333; - text-align: left; - font-size: 12px; - max-width: 250px; -} - -.tooltip.in { - opacity: 0.8; - z-index: 1030; - height: auto; - display: block; -} - -.tooltip.top { - margin-top: -10px; - text-align: center; -} - -.tooltip.right { - margin-left: 10px; -} - -.tooltip.bottom { - margin-top: 10px; - text-align: center; -} - -.tooltip.left { - margin-left: -10px; - text-align: right; -} - -.tooltip-inner { - display: inline-block; - padding: 10px; - font-weight: normal; - background-color: white; -} - -.tooltip-arrow { - position: absolute; - width: 0; - height: 0; - border-color: transparent; - border-style: solid; -} - -.tooltip.top .tooltip-arrow { - bottom: -5px; - left: 50%; - margin-left: -5px; - border-top-color: white; - border-width: 5px 5px 0; -} - -.tooltip.right .tooltip-arrow { - top: 50%; - left: -5px; - margin-top: -5px; - border-right-color: white; - border-width: 5px 5px 5px 0; -} - -.tooltip.left .tooltip-arrow { - top: 50%; - right: -5px; - margin-top: -5px; - border-left-color: white; - border-width: 5px 0 5px 5px; -} - -.tooltip.bottom .tooltip-arrow { - top: -5px; - left: 50%; - margin-left: -5px; - border-bottom-color: white; - border-width: 0 5px 5px; -} - /* Rules for Leaflet maps */ .leaflet-control .control-button { @@ -566,7 +497,8 @@ nav.secondary { background-color: black; } - &.disabled { + &.disabled, + &.leaflet-disabled { background-color: #333; background-color: rgba(0,0,0,.5); cursor: default; @@ -622,6 +554,17 @@ nav.secondary { background: #fff; font-size: 12px; + #sidebar_loader { + display: none; + } + + > div { + position: relative; + float: left; + clear: both; + width: 100%; + } + h2 { padding: $lineheight $lineheight $lineheight/2; } @@ -632,31 +575,67 @@ nav.secondary { font-size: 13px; } + .close-wrap { + cursor: pointer; + position: absolute; + top: 0; + right: 0; + width: 60px; + height: 60px; + + .icon.close { + pointer-events: none; + position: absolute; + right: 20px; + top: 20px; + } + } + .icon.close { float: right; cursor: pointer; } - } - .welcome { - display: none; + .flash { + padding: 15px; + + picture { + margin-right: -25px; + } + + div.message { + margin-left: 30px; + } + } } .overlay-sidebar #sidebar { position: absolute; z-index: 1000; height: auto; - border-bottom-right-radius: 5px; overflow: hidden; - .welcome { + + #banner { display: block; } + + .welcome { + display: none; + + &.visible { + display: block; + } + } + #sidebar_content { display: none; } } .welcome { + display: none; + padding-bottom: 5px; + p { padding: $lineheight/2 $lineheight $lineheight; font-size: 110%; @@ -677,6 +656,15 @@ nav.secondary { } } + #banner { + display: none; + + img { + display: block; + width: $sidebarWidth; + } + } + #map { height: 100%; overflow: hidden; @@ -688,6 +676,10 @@ nav.secondary { &.query-disabled { cursor: not-allowed; } + + .leaflet-marker-draggable { + cursor: move; + } } #map-ui { @@ -745,7 +737,7 @@ nav.secondary { margin-bottom: 8px; position: relative; transition: border-color 0.08s ease-in; - + label { position: absolute; top: 0; @@ -757,7 +749,7 @@ nav.secondary { font-size: 16px; text-stroke: 2px #fff; background: rgba(255,255,255,.9); - z-index: 2; // For IE9 + z-index: 1000; input[type="radio"] { display: none; } @@ -789,6 +781,7 @@ nav.secondary { text-decoration: none; background-color: $lightblue; padding: 5px 10px; + border-right: 1px solid #fff; } a:first-child { @@ -797,7 +790,6 @@ nav.secondary { } a:last-child { - border-left: 1px solid #fff; border-radius: 0 4px 4px 0; } @@ -857,6 +849,10 @@ nav.secondary { #attribution { display: none; + + table { + width: 100% + } } .attribution_license, @@ -877,10 +873,10 @@ nav.secondary { padding: $lineheight/2 $lineheight; // background: $offwhite; // border-bottom: 1px solid #ccc; - > .close { + > .close { float: right; margin-top: 2px; - cursor: pointer; + cursor: pointer; } } @@ -898,22 +894,29 @@ nav.secondary { #sidebar { #sidebar_loader, + .search_more { + width: 100%; + margin: $lineheight auto; + } + .loader, .load_more { text-align: center; - margin: $lineheight auto; + margin: auto; width: 40px; display: block; } } -/* Rules for the search box */ +/* Rules for the search and direction forms */ -header .search_form { +header .search_forms, +.directions_form { display: none; } -.search_form { +.search_form, +.directions_form { position: relative; padding: $lineheight/2; background-color: $lightgrey; @@ -927,23 +930,41 @@ header .search_form { input[type=text] { width: 100%; height: 30px; - border-right: none; - transition: 300ms linear; } + input[type=text].overflow { + border-right: none; + } + input:focus { outline: none; box-shadow: 0px 0px 7px #9ED485; } - input[type=submit] { + input[type=submit].float { float: right; width: auto; min-width: 0; border-radius: 0 2px 2px 0; } + input.error { + background-color: rgba($red, 0.4); + } + + select { + /* this next line is to polyfill the vertical alignment of text within a select element, + * which is different between firefox and chrome. */ + padding: 0.3em 0; + } + + .query_options { + text-align: right; + font-size: 10px; + color: $blue; + } + .describe_location { position: absolute; top: 6px; @@ -951,6 +972,58 @@ header .search_form { font-size: 10px; color: $blue; } + + .switch_link { + float: right; + width: auto; + min-width: 0; + margin-left: 6px; + } + + img.button { + display: block; + width: 20px; + height: 20px; + } + + span.force_width { + width: 100%; + padding-right: 25px; + display: block; + } + + select.routing_engines { + min-height: 30px; + margin: 0px 0px 5px 25px; + } + + input.routing_go { + min-width: 100px; + float: right; + } + + div.header { + width: 100%; + height: 30px; + } + + div.line { + width: 100%; + margin: 0px 0px 5px 0px; + } + + div.loader_copy { + display: none; + + img { + vertical-align: middle; + } + } + + a.reverse_directions { + cursor: pointer; + margin: 0px 0px 5px 25px; + } } /* Rules for the map key which appears in the popout sidebar */ @@ -968,27 +1041,66 @@ header .search_form { /* Rules for search sidebar */ -.search_results_entry { +#sidebar .search_results_entry { ul li { border-bottom: $keyline; cursor: pointer; &:first-child { border-top: $keyline; } - &.selected { background: #FFFFE6; } + &.selected { background: $list-highlight; } } - .search_details { - display: block; - float: right; - text-align: right; - margin-top: 0.2em; - margin-left: 0.5em; + .search_more .loader { + display: none; + width: 100%; } } .search_results_error { color: #f00; + padding: 10px 20px; +} + +/* Rules for routing */ + +#sidebar_content>table { + padding: 5px 20px 10px 15px; + width: 100%; + border-collapse: separate; } +div.direction { + background-image: image-url('routing-sprite.png'); + width: 20px; + height: 20px; + background-repeat: no-repeat; +} +@for $i from 0 through 25 { +div.direction.i#{$i} { background-position: #{($i)*-20}px 0px; } +} + +p#routing_summary { + padding: 0 $lineheight $lineheight/4; +} + +td.instruction, td.distance { + padding-top: $lineheight/5; + padding-bottom: $lineheight/5; + border-bottom: 1px solid #DDD; +} +td.distance { + color: #BBB; + text-align: right; + font-size: x-small; +} +tr.turn { + cursor: pointer; +} +tr.turn:hover { + background: $list-highlight; +} +.routing_engines, #route_from, #route_to { margin-left: 25px; } +.routing_marker { width: 15px; position: absolute; cursor: move; } + /* Rules for entity history */ #sidebar_content { @@ -1010,7 +1122,7 @@ header .search_form { border-bottom: 1px solid #ddd; cursor: pointer; - &.selected { background: #FFFFE6; } + &.selected { background: $list-highlight; } /* color is derived from changeset bbox fillColor in history.js */ } @@ -1020,6 +1132,20 @@ header .search_form { color: #000; } } + + .comments { + float: right; + color: #999; + } + + .comments-0 { + opacity: 0.5; + } + + .changeset_more .loader { + display: none; + width: 100%; + } } /* Rules for the browse sidebar */ @@ -1092,6 +1218,7 @@ header .search_form { width: 50%; padding: 6px 10px; word-wrap: break-word; + white-space: pre-wrap; } .browse-tag-k { @@ -1103,19 +1230,28 @@ header .search_form { border-left: 1px solid #ddd; background-color: #fff; } + + .colour-preview-box { + float: right; + width: 12px; + height: 12px; + margin: 4px 0px; + border: 1px solid rgba(0, 0, 0, .1); + // add color via inline css on element: background-color: ; + } } .warning { - margin: $lineheight/2 0; - padding: $lineheight/2; - font-size: 90%; + margin: 0 0 $lineheight/2 0; + padding: 0 $lineheight/2; } .note-comments li, .changeset-comments li { margin: $lineheight/2 0; p { - margin-left: 10px; + margin: 10px 6px 0 6px; + line-height: 1.5; } } @@ -1167,7 +1303,7 @@ header .search_form { } &.selected { - background: #FFFFE6; + background: $list-highlight; } } } @@ -1201,11 +1337,11 @@ header .search_form { #maxlat { margin-top: -1px; } #minlon { float: left; - margin-left: -1px; + /* no-r2 */ margin-left: -1px; } #maxlon { float: right; - margin-right: -1px; + /* no-r2 */ margin-right: -1px; } #minlat { margin-bottom: 0; } } @@ -1228,6 +1364,15 @@ header .search_form { } } +/* Rules for the routing sidebar */ + +#sidebar_content { + #routing_credit { + text-align: center; + padding: 0.5em; + } +} + /* Rules for edit pages */ .site-edit { @@ -1248,7 +1393,7 @@ header .search_form { .content-heading { background: $lightgrey; - + h1 { font-size: 22px; } } @@ -1271,18 +1416,23 @@ header .search_form { /* Overrides for pages that use new layout conventions */ -.user-new, -.user-create, -.user-terms { +.users-new, +.users-create, +.users-terms { .content-body .content-inner { padding: 0; + + .message { + margin-top: 80px; + padding: 20px; + } } } -.user-new, -.user-create, -.user-terms, -.user-confirm { +.users-new, +.users-create, +.users-terms, +.users-confirm { .content-heading .content-inner { height: 200px; } @@ -1319,6 +1469,10 @@ header .search_form { } } +[dir=rtl] .header-illustration { + transform: scaleX(-1); +} + #content.maximised { top: 0; left: 0; @@ -1372,6 +1526,18 @@ header .search_form { } } +/* Rules for the trace view */ + +.trace-show { + .trace_pending { + color: red; + } + + .geo { + display: inline; + } +} + /* Rules for the new trace form */ #new_trace { @@ -1446,7 +1612,7 @@ header .search_form { margin-left: 70px; } -.user-view { +.users-show { // Silly exception; remove when user page is redesigned. .content-inner { max-width: none; @@ -1507,10 +1673,18 @@ header .search_form { .diary_post { position: relative; - margin-top: $lineheight/2; padding-top: $lineheight; + padding-bottom: $lineheight/2; border-top: 1px solid #ccc; + &:first-of-type { + margin-top: $lineheight/2; + } + + &.deemphasize { + background-color: #fee; + } + .post_heading { margin-bottom: $lineheight; @@ -1529,19 +1703,15 @@ header .search_form { float: left; display: block; } - - ul.secondary-actions { - display: inline-block; - } } -.content-heading .hide_unless_logged_in { // hacky selector, better to just add a new class to this div - display: inline; +.pagination { + padding-top: $lineheight; } /* Rules for the diary entry page */ -.diary_entry { +.diary_entries { #map { position: relative; width: 90%; @@ -1559,14 +1729,17 @@ header .search_form { max-width: 740px; } .diary-comment { - margin-top: $lineheight/2; border-top: 1px dashed #ccc; padding-top: $lineheight/2; + padding-bottom: $lineheight/2; &:first-child { - margin-top: $lineheight; + margin-top: $lineheight/2; padding-top: $lineheight; border-top: 1px solid #ccc; } + &.deemphasize { + background-color: #fee; + } p { margin-bottom: $lineheight/2; } @@ -1577,30 +1750,45 @@ header .search_form { } } -.diary_entry-view img.user_thumbnail { +.diary_entries-show img.user_thumbnail { float: left; } + +.diary-subscribe-buttons { + position:relative; + top: -30px; + left: 130px; +} + /* Rules for the log in page */ -#login_openid_buttons { +#login_auth_buttons { margin-bottom: 0; } -#login_openid_buttons li { +#login_auth_buttons li { float: left; padding: $lineheight/4 $lineheight/2; } /* Rules for the account confirmation page */ -.user-terms { +.users-terms { .legale { border: 1px solid #ccc; padding: $lineheight; margin-bottom: $lineheight; overflow: auto; height: 20em; + + li { + list-style: inherit; + } + + ol ol { + list-style-type: lower-alpha; + } } #decline { @@ -1659,6 +1847,12 @@ header .search_form { border-radius: 0 2px 2px 0; } +/* Rules for the oauth authorization page */ + +.oauth-authorize ul { + list-style: none; +} + /* Rules for messages pages */ .messages { @@ -1733,32 +1927,52 @@ header .search_form { display: none; } -.message-read .message-buttons { +.messages-show .message-buttons { margin-top: $lineheight; margin-bottom: $lineheight * 1.5; padding-top: $lineheight; border-top: 1px solid $lightgrey; } -.message-read .buttons .mark-unread-button { +.messages-show .buttons .mark-unread-button { border-radius: 0; } /* Rules for "flash" notice boxes shown at the top of the content area */ -.error { +.flash { padding: $lineheight; - background-color: #ff7070; -} -.warning { - padding: $lineheight; - background-color: #ffe0cc; -} + &.error { + background-color: #ff7070; + } -.notice { - padding: $lineheight; - background-color: #CBEEA7; + &.warning { + background-color: #ffe0cc; + } + + &.notice { + background-color: #CBEEA7; + } + + div.message { + display: inline-block; + margin-left: $lineheight / 2; + vertical-align: middle; + + p { + margin-top: $lineheight * 0.5; + margin-bottom: $lineheight * 0.5; + + &:first-child { + margin-top: 0px; + } + + &:last-child { + margin-bottom: 0px; + } + } + } } /* Rules for highlighting fields with rails validation errors */ @@ -1837,7 +2051,7 @@ header .search_form { padding-top: $lineheight; border-top: 1px solid $lightgrey; } - .horizontal-list .form-row { + .horizontal-list .form-row { float: left; padding-right: 10px; } @@ -2128,6 +2342,7 @@ a.button { font-size: 13px; background: #e8e8e8; padding: 2px 3px; + white-space: pre-wrap; code { padding: 0; @@ -2155,11 +2370,11 @@ a.button { margin-left: $lineheight; } - ul li { + ul > li { list-style: disc; } - ol li { + ol > li { list-style: decimal; } } @@ -2405,7 +2620,7 @@ input.richtext_title[type="text"] { .site-welcome, .site-fixthemap { .center { text-align: center; - .sprite { + .sprite { float: none; margin: auto; } @@ -2418,7 +2633,7 @@ input.richtext_title[type="text"] { float: left; } - .icon-list { + .icon-list { padding-bottom: 20px; div { margin-bottom: 10px; @@ -2433,7 +2648,7 @@ input.richtext_title[type="text"] { } .sprite.x { - background-position: -50px 0; + /* no-r2 */ background-position: -50px 0; } .sprite.term { @@ -2442,23 +2657,27 @@ input.richtext_title[type="text"] { } .sprite.node { - background-position: -100px 0; + /* no-r2 */ background-position: -100px 0; } .sprite.way { - background-position: -150px 0; + /* no-r2 */ background-position: -150px 0; } .sprite.tag { - background-position: -200px 0; + /* no-r2 */ background-position: -200px 0; } .sprite.editor { - background-position: -250px 0; + /* no-r2 */ background-position: -250px 0; } .sprite.question { - background-position: -300px 0; + /* no-r2 */ background-position: -300px 0; + } + + .sprite.rules { + /* no-r2 */ background-position: -350px 0; } .start-mapping { @@ -2606,11 +2825,30 @@ input.richtext_title[type="text"] { vertical-align: middle; background: 40px 40px image-url('about/sprite.png') no-repeat; - &.local { background-position: 0px 0px; } - &.community { background-position: 0px -40px; } - &.open { background-position: 0px -80px; } - &.partners { background-position: 0px -120px; } - &.infringement { background-position: 0px -160px; } + &.local { + /* no-r2 */ + background-position: 0px 0px; + } + &.community { + /* no-r2 */ + background-position: 0px -40px; + } + &.open { + /* no-r2 */ + background-position: 0px -80px; + } + &.partners { + /* no-r2 */ + background-position: 0px -120px; + } + &.infringement { + /* no-r2 */ + background-position: 0px -160px; + } + &.legal { + /* no-r2 */ + background-position: -45px -160px; + } } } @@ -2622,3 +2860,58 @@ input.richtext_title[type="text"] { } } +.read-reports { + background: #eee; + opacity: 0.7; +} + +.report-related-block { + display:inline-block; +} + +.report-block { + width:475px; + float:left; + margin-right:100px; +} + +.related-reports { + width: 280px; + float: right; + + ul { + padding-left: $lineheight; + margin-bottom: 0; + + li { + list-style: disc; + } + } +} + +.issue-comments { + width:475px; +} + +.issues-list { + td:nth-child(2) { + white-space: nowrap; + } +} + +.report-disclaimer { + background: #fff1f0; + color: #d85030; + border-color: rgba(216, 80, 48, 0.3); + padding: 10px 20px; + margin-bottom: $lineheight; + + ul { + padding-left: $lineheight; + margin-bottom: 0; + + li { + list-style: disc; + } + } +}