UNPKG

@evidentpoint/readium-css

Version:

A set of reference stylesheets for EPUB Reading Systems

611 lines (543 loc) 16.3 kB
/* * Copyright (C) 2009 Apple Inc. All rights reserved. * Copyright (C) 2015 Google Inc. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* Chromium default media controls */ /* WARNING: This css file can only style <audio> and <video> elements */ audio:not([controls]) { display: none !important; } audio { width: 300px; height: 32px; } audio::-webkit-media-controls, video::-webkit-media-controls { width: inherit; height: inherit; position: relative; direction: ltr; display: flex; flex-direction: column; font-family: Segoe, "Helvetica Neue", Roboto, Arial, Helvetica, sans-serif; justify-content: flex-end; align-items: center; } audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure { width: 100%; height: 32px; flex-shrink: 0; bottom: 0; text-indent: 0; padding: 0; margin: 0; box-sizing: border-box; } audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel { display: flex; flex-direction: row; align-items: center; /* We use flex-start here to ensure that the play button is visible even * if we are too small to show all controls. */ justify-content: flex-start; -webkit-user-select: none; position: relative; width: 100%; z-index: 0; overflow: hidden; text-align: right; bottom: auto; height: 32px; min-width: 48px; line-height: 32px; background-color: #fafafa; /* The duration is also specified in MediaControlElements.cpp and LayoutTests/media/media-controls.js */ transition: opacity 0.3s; font-size: 12px; font-weight: normal; /* Make sure that we don't inherit non-defaults. */ font-style: normal; } audio:-webkit-full-page-media, video:-webkit-full-page-media { max-height: 100%; max-width: 100%; } audio:-webkit-full-page-media::-webkit-media-controls-panel, video:-webkit-full-page-media::-webkit-media-controls-panel { bottom: 0px; } audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button { -webkit-appearance: media-mute-button; display: flex; flex: none; box-sizing: border-box; width: 32px; height: 32px; padding: 0px; border-width: 0px; background-color: initial; color: inherit; } audio::-webkit-media-controls-overlay-enclosure { display: none; } video::-webkit-media-controls-overlay-enclosure { display: flex; position: relative; flex-direction: column; justify-content: flex-end; align-items: center; flex: 1 1; min-height: 0; width: 100%; /* Prevent disambiguation zooms with the panel. If this changes, it must * also be changed in core/html/shadow/MediaControls.cpp. */ margin-bottom: 10px; text-indent: 0; box-sizing: border-box; overflow: hidden; } video::-webkit-media-controls-overlay-play-button { -webkit-appearance: media-overlay-play-button; display: flex; position: absolute; top: 0; left: 0; margin: 0; border-width: 0px; background-color: transparent; width: 100%; height: 100%; padding: 0; } /* TODO(xjz): Move media remoting elements to a separate css file. */ video::-internal-media-remoting-interstitial { width: inherit; height: inherit; position: relative; direction: ltr; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; font-size: 16px; background-color: black; opacity: 0; transition: opacity .3s ease-in-out; } video::-internal-media-remoting-background-image { display: flex; position: absolute; margin: 0; top: 0px; left: 0px; width: 100%; height: 100%; border: none; border-width: 0px; background-color: transparent; padding: 0; filter: grayscale(100%) blur(5px) opacity(40%); } video::-internal-media-remoting-cast-icon { -webkit-appearance: -internal-media-remoting-cast-icon; display: flex; position: absolute; margin: 0px; border-width: 0px; background-color: transparent; height: 18px; width: 22px; padding: 0px; left: calc(50% - 11px); top: calc(50% - 40px); } video::-internal-media-remoting-cast-text-message { display: inline; position: absolute; top: calc(50% - 10px); border: none; color: rgba(255,255,255,.54); width: 100%; text-wrap: none; text-align: center; background-color: transparent; font-size: 81.25%; font-family: Roboto-Regular, Sans-serif, Segoe, Serif, Helvetica; padding: 0px; margin: 0px; } video::-internal-media-remoting-disable-button { display: flex; position: absolute; top: calc(50% + 60px); left: calc(50% - 74px); height: 28px; border: 1pt solid rgba(255,255,255,.54); border-radius: 2pt; background-color: transparent; color: rgba(255,255,255,.54); margin: 0px; padding: 5.5px 16px 0px 16px; text-wrap: none; font-size: 75%; font-weight: 500; font-family: Roboto-Medium, Sans-serif, Segoe, Serif, Helvetica; box-sizing: border-box; transition: border,color .5s ease-out; z-index: 1; /* Set this z-index to make the hover effect work. */ } video::-internal-media-remoting-disable-button:hover { border: 1pt solid rgba(255,255,255,.70); color: rgba(255,255,255,.70); cursor: pointer; } video::-internal-media-controls-overlay-cast-button { -webkit-appearance: -internal-media-overlay-cast-off-button; display: flex; position: absolute; top: 8px; left: 8px; margin-left: 0px; margin-top: 0px; border-width: 0px; background-color: transparent; width: 32px; height: 32px; padding: 0; transition: opacity 0.3s; } audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button { -webkit-appearance: media-play-button; display: flex; flex: none; box-sizing: border-box; width: 32px; height: 32px; padding: 0px; border-width: 0px; background-color: initial; color: inherit; } audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container { -webkit-appearance: media-controls-background; display: flex; flex-direction: row; align-items: center; justify-content: flex-end; flex: 1 1; -webkit-user-select: none; height: 48px; padding: 0; min-width: 0; } audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display { -webkit-appearance: media-current-time-display; -webkit-user-select: none; flex: none; display: flex; border: none; cursor: default; height: 32px; /* text runs right to the edge of the container */ padding: 0; color: #5a5a5a; letter-spacing: normal; word-spacing: normal; text-transform: none; text-indent: 0; text-shadow: none; text-decoration: none; } audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display { -webkit-appearance: media-current-time-display; -webkit-user-select: none; flex: none; display: flex; border: none; cursor: default; height: 32px; /* text runs right to the edge of the container, plus a little on * the left to pad the leading "/" */ padding: 0 0 0 4px; color: #5a5a5a; letter-spacing: normal; word-spacing: normal; text-transform: none; text-indent: 0; text-shadow: none; text-decoration: none; } audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline { -webkit-appearance: media-slider; display: flex; flex: 1 1 auto; height: 2px; /* Leave 6px on either side for the thumb. Use margin so that * the slider doesn't extend into it. We also add 12px border. */ padding: 0; margin: 0 18px 0 18px; background-color: transparent; min-width: 25px; border: initial; color: inherit; } audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider { -webkit-appearance: media-volume-slider; display: flex; /* The 1.9 value was empirically chosen to match old-flexbox behaviour * and be aesthetically pleasing. */ flex: 1 1.9 auto; height: 2px; max-width: 70px; /* Leave room for the thumb, which has 6px radius. Use margin rather * than padding so that the slider doesn't extend into it. We also * leave an addition 12px margin. */ padding: 0; margin: 0 18px 0 18px; background-color: transparent; min-width: 25px; border: initial; color: inherit; } /* FIXME these shouldn't use special pseudoShadowIds, but nicer rules. https://code.google.com/p/chromium/issues/detail?id=112508 https://bugs.webkit.org/show_bug.cgi?id=62218 */ input[type="range" i]::-webkit-media-slider-container { display: flex; align-items: center; flex-direction: row; /* This property is updated by C++ code. */ box-sizing: border-box; /** this positions the slider thumb for both time and volume. */ height: 2px; width: 100%; background-color: transparent; /* Background drawing is managed by C++ code to draw ranges. */ } /* The negative right margin causes the track to overflow its container. */ input[type="range" i]::-webkit-media-slider-container > div { margin-right: -18px; /* box is 36px wide, get to the middle */ margin-left: -18px; } input[type="range" i]::-webkit-media-slider-thumb { box-sizing: border-box; width: 48px; height: 48px; padding: 0px; } audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button { -webkit-appearance: media-enter-fullscreen-button; display: flex; flex: none; overflow: hidden; box-sizing: border-box; width: 32px; height: 32px; padding: 0px; border-width: 0px; background-color: initial; color: inherit; } audio::-internal-media-controls-cast-button, video::-internal-media-controls-cast-button { -webkit-appearance: -internal-media-cast-off-button; display: flex; flex: none; box-sizing: border-box; width: 32px; height: 32px; padding: 0px; border-width: 0px; margin-left: 0px; margin-right: 0px; background-color: initial; color: inherit; } audio::-webkit-media-controls-toggle-closed-captions-button { display: none; } video::-webkit-media-controls-toggle-closed-captions-button { -webkit-appearance: media-toggle-closed-captions-button; display: flex; flex: none; box-sizing: border-box; width: 32px; height: 32px; padding: 0px; border-width: 0px; margin-left: 0px; margin-right: 0px; background-color: initial; color: inherit; } video::-internal-media-controls-text-track-list, video::-internal-media-controls-overflow-menu-list, audio::-internal-media-controls-overflow-menu-list { position: absolute; bottom: 4px; right: 4px; background-color: #fafafa; max-width: 50%; max-height: 250px; min-width: 150px; overflow-x: hidden; overflow-y: auto; white-space: nowrap; font-size: 14px; border-radius: 1px; box-shadow: 0 8px 20px 1px rgba(0, 0, 0, 0.14), 0 3px 28px 2px rgba(0, 0, 0, 0.12), 0 5px 10px -3px rgba(0, 0, 0, 0.4); } video::-internal-media-controls-text-track-list-item { display: block; color: #424242; text-align: start; line-height: 40px; padding-right: 16px; text-overflow: ellipsis; } video::-internal-media-controls-text-track-list-item:hover, video::-internal-media-controls-overflow-menu-list-item:hover, audio::-internal-media-controls-overflow-menu-list-item:hover { background-color: #e0e0e0; } video::-internal-media-controls-text-track-list-item-input { -webkit-appearance: -internal-media-track-selection-checkmark; visibility: hidden; left: 0; vertical-align: middle; margin: 0 5px 0 0; width: 16px; height: 16px; margin-left: 12px; } video::-internal-media-controls-text-track-list-item-input:checked { visibility: visible; } video::-internal-media-controls-text-track-list-kind-captions { -webkit-appearance: -internal-media-closed-captions-icon; height: 20px; width: 20px; margin-left: 10px; vertical-align: middle; } video::-internal-media-controls-text-track-list-kind-subtitles { -webkit-appearance: -internal-media-subtitles-icon; height: 20px; width: 20px; margin-left: 10px; vertical-align: middle; } video::-internal-media-controls-overflow-button, audio::-internal-media-controls-overflow-button { -webkit-appearance: -internal-media-overflow-button; display: flex; flex: none; box-sizing: border-box; width: 32px; height: 32px; padding: 0px; border-width: 0px; margin-left: 0px; margin-right: 0px; background-color: initial; color: inherit; } video::-internal-media-controls-download-button, audio::-internal-media-controls-download-button { -webkit-appearance: -internal-media-download-button; display: flex; flex: none; box-sizing: border-box; width: 32px; height: 32px; padding: 0px; border-width: 0px; margin-left: 0px; margin-right: 0px; background-color: initial; color: inherit; } video::-internal-media-controls-overflow-menu-list-item, audio::-internal-media-controls-overflow-menu-list-item { display: block; color: #424242; line-height: 40px; padding-left: 28px; } video::-webkit-media-text-track-container { position: relative; width: inherit; height: inherit; overflow: hidden; font: 22px sans-serif; text-align: center; color: rgba(255, 255, 255, 1); letter-spacing: normal; word-spacing: normal; text-transform: none; text-indent: 0; text-decoration: none; pointer-events: none; -webkit-user-select: none; word-break: break-word; } video::cue { display: inline; background-color: rgba(0, 0, 0, 0.8); padding: 2px 2px; } video::-webkit-media-text-track-region { position: absolute; line-height: 5.33vh; writing-mode: horizontal-tb; background: rgba(0, 0, 0, 0.8); color: rgba(255, 255, 255, 1); word-wrap: break-word; overflow-wrap: break-word; overflow: hidden; } video::-webkit-media-text-track-region-container { position: relative; display: flex; flex-flow: column; flex-direction: column; } video::-webkit-media-text-track-region-container.scrolling { transition: top 433ms linear; } video::-webkit-media-text-track-display { position: absolute; overflow: hidden; white-space: pre-wrap; -webkit-box-sizing: border-box; flex: 0 0 auto; } video::cue(:future) { color: gray; } video::cue(b) { font-weight: bold; } video::cue(u) { text-decoration: underline; } video::cue(i) { font-style: italic; }