зеркало из https://github.com/mozilla/gecko-dev.git
234 строки
4.8 KiB
CSS
234 строки
4.8 KiB
CSS
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
|
|
|
|
/* video controls */
|
|
.controlsOverlay {
|
|
-moz-box-pack: center;
|
|
-moz-box-align: end;
|
|
-moz-box-flex: 1;
|
|
-moz-box-orient: horizontal;
|
|
}
|
|
|
|
.controlsOverlay[scaled] {
|
|
/* scaled attribute in videocontrols.css causes conflict
|
|
due to different -moz-box-orient values */
|
|
-moz-box-align: end;
|
|
}
|
|
|
|
.controlBar {
|
|
-moz-box-flex: 1;
|
|
background-color: rgba(50,50,50,0.8);
|
|
width: 100%;
|
|
}
|
|
|
|
.buttonsBar {
|
|
-moz-box-flex: 1;
|
|
-moz-box-align: center;
|
|
}
|
|
|
|
.controlsSpacer {
|
|
display: none;
|
|
-moz-box-flex: 0;
|
|
}
|
|
|
|
.fullscreenButton,
|
|
.playButton,
|
|
.castingButton,
|
|
.muteButton {
|
|
-moz-appearance: none;
|
|
padding: 2px;
|
|
border: none !important;
|
|
min-height: 24px;
|
|
min-width: 24px;
|
|
}
|
|
|
|
.fullscreenButton {
|
|
background: url("chrome://b2g/content/images/fullscreen-hdpi.png") no-repeat center;
|
|
background-size: contain;
|
|
background-origin: content-box;
|
|
}
|
|
|
|
.fullscreenButton[fullscreened="true"] {
|
|
background: url("chrome://b2g/content/images/exitfullscreen-hdpi.png") no-repeat center;
|
|
background-size: contain;
|
|
background-origin: content-box;
|
|
}
|
|
|
|
.controlBar[fullscreen-unavailable] .fullscreenButton {
|
|
display: none;
|
|
}
|
|
|
|
.playButton {
|
|
background: url("chrome://b2g/content/images/pause-hdpi.png") no-repeat center;
|
|
background-size: contain;
|
|
background-origin: content-box;
|
|
}
|
|
|
|
/*
|
|
* Normally the button bar has fullscreen spacer play spacer mute, but if
|
|
* this is an audio control rather than a video control, the fullscreen button
|
|
* is hidden by videocontrols.xml, and that alters the position of the
|
|
* play button. This workaround moves it back to center.
|
|
*/
|
|
.controlBar[fullscreen-unavailable] .playButton {
|
|
transform: translateX(28px);
|
|
}
|
|
|
|
.playButton[paused="true"] {
|
|
background: url("chrome://b2g/content/images/play-hdpi.png") no-repeat center;
|
|
background-size: contain;
|
|
background-origin: content-box;
|
|
}
|
|
|
|
.castingButton {
|
|
display: none;
|
|
}
|
|
|
|
.muteButton {
|
|
background: url("chrome://b2g/content/images/mute-hdpi.png") no-repeat center;
|
|
background-size: contain;
|
|
background-origin: content-box;
|
|
}
|
|
|
|
.muteButton[muted="true"] {
|
|
background: url("chrome://b2g/content/images/unmute-hdpi.png") no-repeat center;
|
|
background-size: contain;
|
|
background-origin: content-box;
|
|
}
|
|
|
|
/* bars */
|
|
.scrubberStack {
|
|
-moz-box-flex: 1;
|
|
padding: 0px 18px;
|
|
}
|
|
|
|
.flexibleBar,
|
|
.flexibleBar .progress-bar,
|
|
.bufferBar,
|
|
.bufferBar .progress-bar,
|
|
.progressBar,
|
|
.progressBar .progress-bar,
|
|
.scrubber,
|
|
.scrubber .scale-slider,
|
|
.scrubber .scale-thumb {
|
|
-moz-appearance: none;
|
|
border: none;
|
|
padding: 0px;
|
|
margin: 0px;
|
|
background-color: transparent;
|
|
}
|
|
|
|
.flexibleBar,
|
|
.bufferBar,
|
|
.progressBar {
|
|
height: 24px;
|
|
padding: 11px 0px;
|
|
}
|
|
|
|
.flexibleBar {
|
|
padding: 12px 0px;
|
|
}
|
|
|
|
.flexibleBar .progress-bar {
|
|
border: 1px #777777 solid;
|
|
border-radius: 1px;
|
|
}
|
|
|
|
.bufferBar .progress-bar {
|
|
border: 2px #AFB1B3 solid;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
.progressBar .progress-bar {
|
|
border: 2px #FF9500 solid;
|
|
border-radius: 2px;
|
|
}
|
|
|
|
|
|
.scrubber {
|
|
margin-left: -8px;
|
|
margin-right: -8px;
|
|
}
|
|
|
|
.positionLabel, .durationLabel {
|
|
font-family: 'Roboto', Helvetica, Arial, sans-serif;
|
|
font-size: 12px;
|
|
color: white;
|
|
}
|
|
|
|
.scrubber .scale-thumb {
|
|
display: -moz-box;
|
|
margin: 0px !important;
|
|
padding: 0px !important;
|
|
background: url("chrome://b2g/content/images/scrubber-hdpi.png") no-repeat;
|
|
background-size: 12px 12px;
|
|
height: 12px;
|
|
width: 12px;
|
|
}
|
|
|
|
.statusOverlay {
|
|
-moz-box-align: center;
|
|
-moz-box-pack: center;
|
|
background-color: rgb(50,50,50);
|
|
}
|
|
|
|
.statusIcon {
|
|
margin-bottom: 28px;
|
|
width: 36px;
|
|
height: 36px;
|
|
}
|
|
|
|
.statusIcon[type="throbber"] {
|
|
background: url("chrome://b2g/content/images/throbber.png") no-repeat center;
|
|
}
|
|
|
|
.statusIcon[type="error"] {
|
|
background: url("chrome://b2g/content/images/error.png") no-repeat center;
|
|
}
|
|
|
|
/* CSS Transitions */
|
|
.controlBar:not([immediate]) {
|
|
transition-property: opacity;
|
|
transition-duration: 200ms;
|
|
}
|
|
|
|
.controlBar[fadeout] {
|
|
opacity: 0;
|
|
}
|
|
|
|
.statusOverlay:not([immediate]) {
|
|
transition-property: opacity;
|
|
transition-duration: 300ms;
|
|
transition-delay: 750ms;
|
|
}
|
|
|
|
.statusOverlay[fadeout] {
|
|
opacity: 0;
|
|
}
|
|
|
|
.volumeStack,
|
|
.controlBar[firstshow="true"] .fullscreenButton,
|
|
.controlBar[firstshow="true"] .muteButton,
|
|
.controlBar[firstshow="true"] .scrubberStack,
|
|
.controlBar[firstshow="true"] .durationBox,
|
|
.timeLabel {
|
|
display: none;
|
|
}
|
|
|
|
/* Error description formatting */
|
|
.errorLabel {
|
|
font-family: Helvetica, Arial, sans-serif;
|
|
font-size: 11px;
|
|
color: #bbb;
|
|
text-shadow:
|
|
-1px -1px 0 #000,
|
|
1px -1px 0 #000,
|
|
-1px 1px 0 #000,
|
|
1px 1px 0 #000;
|
|
padding: 0 10px;
|
|
text-align: center;
|
|
}
|