diff options
Diffstat (limited to 'chrome/browser/resources/ntp_search/tile_page.css')
-rw-r--r-- | chrome/browser/resources/ntp_search/tile_page.css | 194 |
1 files changed, 194 insertions, 0 deletions
diff --git a/chrome/browser/resources/ntp_search/tile_page.css b/chrome/browser/resources/ntp_search/tile_page.css new file mode 100644 index 0000000..08ff22b --- /dev/null +++ b/chrome/browser/resources/ntp_search/tile_page.css @@ -0,0 +1,194 @@ +/* Copyright (c) 2012 The Chromium Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. */ + +.tile-page { + -webkit-box-orient: vertical; + display: -webkit-box; + height: 100%; + position: relative; + width: 100%; +} + +.tile-page-scrollbar { + -webkit-box-sizing: border-box; + margin: 0 4px; + pointer-events: none; + position: absolute; + right: 0; + width: 5px; + z-index: 5; +} + +.tile-page-content { + -webkit-box-flex: 1; + /* Don't apply clip mask to padding. */ + -webkit-mask-clip: content-box; + /* TODO(estade): this mask is disabled for technical reasons. It negatively + * impacts performance of page switching, also it causes problems with Mac + * text: http://crbug.com/86955 + -webkit-mask-image: -webkit-linear-gradient(bottom, transparent, black 30px); + */ + /* The following four properties are necessary so that the mask won't clip + * the scrollbar. */ + box-sizing: border-box; + overflow-y: scroll; + /* Scrollbar width(13px) + balance right padding. */ + padding-left: 93px; + padding-right: 80px; + /* This value is mirrored in TilePage.updateTopMargin_ */ + padding-top: 60px; + position: relative; + text-align: center; + width: 100%; +} + +.top-margin { + /* The only reason height is set to 1px, rather than left at 0, is that + * otherwise webkit collapses the top and bottom margins. */ + height: 1px; +} + +.tile-grid { + position: relative; + width: 100%; +} + +.tile { + -webkit-print-color-adjust: exact; + /* Don't offer the context menu on long-press. */ + -webkit-touch-callout: none; + -webkit-user-drag: element; + display: inline-block; + position: absolute; +} + +/* NOTE: Dopplegangers nest themselves inside of other tiles, so don't + * accidentally double apply font-size to them. */ +.tile:not(.doppleganger) { + font-size: 1.2em; +} + +/* Not real but not a doppleganger: show nothing. This state exists for a + * webstore tile that's on the same page as a [+]. */ +.tile:not(.real):not(.doppleganger) { + display: none; +} + +/* I don't know why this is necessary. -webkit-user-drag: element on .tile + * should be enough. If we don't do this, we get 2 drag representations for + * the image. */ +.tile img { + -webkit-user-drag: none; +} + +.doppleganger { + left: 0 !important; + right: 0 !important; + top: 0 !important; +} + +.tile.dragging { + opacity: 0; +} + +.tile.drag-representation { + -webkit-transition: opacity 200ms; + pointer-events: none; + position: fixed; + z-index: 3; +} + +.tile.drag-representation.placing > * { + -webkit-transition: -webkit-transform 200ms; +} + +/* When a drag finishes while we're not showing the page where the tile + * belongs, the tile shrinks to a dot. */ +.tile.drag-representation.dropped-on-other-page > * { + -webkit-transform: scale(0) rotate(0); +} + +.tile.drag-representation.deleting > * { + -webkit-transform: scale(0) rotate(360deg); + -webkit-transition: -webkit-transform 600ms; +} + +.animating-tile-page .tile, +.tile.drag-representation.placing { + -webkit-transition: left 200ms, right 200ms, top 200ms; +} + +.hovering-on-trash { + opacity: 0.6; +} + +.animating-tile-page .top-margin { + -webkit-transition: margin-bottom 200ms; +} + +.animating-tile-page #notification-container { + -webkit-transition: margin 200ms, opacity 200ms; +} + +@-webkit-keyframes bounce { + 0% { + -webkit-transform: scale(0, 0); + } + + 60% { + -webkit-transform: scale(1.2, 1.2); + } + + 100% { + -webkit-transform: scale(1, 1); + } +} + +.tile > .new-tile-contents { + -webkit-animation: bounce 500ms ease-in-out; +} + +@-webkit-keyframes blipout { + 0% { + -webkit-transform: scale(1, 1); + } + + 60% { + -webkit-animation-timing-function: ease-in; + -webkit-transform: scale(1.3, 0.02); + opacity: 1; + } + + 90% { + -webkit-animation-timing-function: default; + -webkit-transform: scale(0.3, 0.02); + opacity: 0.7; + } + + 100% { + -webkit-animation-timing-function: linear; + -webkit-transform: scale(0.3, 0.02); + opacity: 0; + } +} + +.tile > .removing-tile-contents { + -webkit-animation: blipout 300ms; + -webkit-animation-fill-mode: forwards; + pointer-events: none; +} + +.tile-page:not(.selected-card) * { + -webkit-transition: none !important; +} + +/** Scrollbars ****************************************************************/ + +.tile-page-content::-webkit-scrollbar { + width: 13px; +} + +.tile-page-content::-webkit-scrollbar-button { + display: none; +} |