Chromium Code Reviews| Index: chrome/browser/resources/touch_ntp/newtab.css |
| diff --git a/chrome/browser/resources/touch_ntp/newtab.css b/chrome/browser/resources/touch_ntp/newtab.css |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..9a120088e757ba06a4bac8f88327f9c346059816 |
| --- /dev/null |
| +++ b/chrome/browser/resources/touch_ntp/newtab.css |
| @@ -0,0 +1,206 @@ |
| +/** Copyright (c) 2011 The Chromium Authors. All rights reserved. |
|
arv (Not doing code reviews)
2011/03/10 19:25:59
Not JSDoc/JavaDoc
Rick Byers
2011/03/11 02:44:33
Done.
|
| + * Use of this source code is governed by a BSD-style license that can be |
| + * found in the LICENSE file. |
| + * |
| + * This is the stylesheet used by the touch-enabled new tab page |
| + */ |
| + |
| +html { |
| + /* It's necessary to put this here instead of in body in order to get the |
| + backgrounds-size of 100% to work properly */ |
| + height: 100%; |
| +} |
| + |
| +body { |
| + /* This newer linear-gradient form works on Chrome but not Safari */ |
| + /*background: -webkit-linear-gradient(top,#252c39,#3e485b,#252c39); */ |
| + background: -webkit-gradient(linear, left top, left bottom, from(#252c39), |
|
arv (Not doing code reviews)
2011/03/10 19:25:59
-webkit-linear-gradient FTW
Rick Byers
2011/03/11 02:44:33
I was happy for a second thinking that the just-re
arv (Not doing code reviews)
2011/03/11 20:08:46
I'm fine leaving the more verbose syntax in here.
Rick Byers
2011/03/15 21:47:54
Thanks.
|
| + color-stop(0.5,#3e485b), to(#252c39)); |
| + background-size: auto 100%; |
| + font-family: segoe ui, arial, helvetica, sans-serif; |
| + font-size: 14px; |
| + color: white; |
| + margin: 0px; |
|
arv (Not doing code reviews)
2011/03/10 19:25:59
s/0px/0/
Rick Byers
2011/03/11 02:44:33
Done.
|
| + /* Don't highlight links when they're tapped. Safari has bugs here that |
| + show up as flicker when dragging in some situations */ |
| + -webkit-tap-highlight-color: transparent; |
| + /* Don't allow selecting text - can occur when dragging */ |
| + -webkit-user-select: none; |
| +} |
| + |
| +/* The frame is what the slider fits into |
| + */ |
| +#apps-frame { |
| + /* We want this to fill the window except for the region used |
| + by footer |
| + */ |
| + position: fixed; |
| + width: 100%; |
| + top: 0; |
| + bottom: 60px; /* must match #footer height */ |
| + overflow: hidden; |
| +} |
| + |
| +/* The list holds all the pages and is what the touch events are attached to |
| +*/ |
| +#apps-page-list { |
| + /* fill the apps-frame */ |
| + height: 100%; |
| + display: -webkit-box; |
| +} |
| + |
| +/* The apps-page is the slider card that is moved. |
| + */ |
| +.apps-page { |
| + -webkit-box-sizing: border-box; |
| + padding: 29px; |
| + /* TODO(rbyers): Don't want the final row centered, but would like all rows |
| + * centered. Really I want the page-content width determined by the boxes |
| + * inside of it, but perhaps webkit-box doesn't support that. |
| + * Note that instead of display:inline-block for the apps, I could use |
| + * float:left and have a .app-container:first-child { clear:both; } rule, |
| + * but I'd have to figure out some way to get the vertical position reset. |
| + text-align:center; */ |
| +} |
| + |
| +.app-container { |
| + width: 128px; |
| + height: 128px; |
| + padding: 16px; |
| + display: inline-block; |
| + vertical-align: top; |
| +} |
|
arv (Not doing code reviews)
2011/03/10 19:25:59
empty line between each rule
Rick Byers
2011/03/11 02:44:33
Done.
|
| +.app { |
| + text-align: center; |
| + width: 128px; |
| + height: 128px; |
| + /* Animate effects to/from the grabbed state, and the position when drop |
| + is cancelled. I'd like to also animate movement when an app is |
| + re-positioned, but since chrome is doing the layout there is no property |
| + to animate. |
| + TODO(rbyers): Should we take over responsibility for app layout ourself |
| + like the classic NTP's most-visited icons? Or should we extend webkit |
| + somehow to support animation of the position of browser laid-out |
| + elements. */ |
| + -webkit-transition-property: -webkit-transform, opacity, zIndex; |
| + -webkit-transition-duration: 200ms; |
| + /* Don't offer the context menu on long-press. */ |
| + -webkit-touch-callout: none; |
| + /* Work-around regression bug 74802 */ |
| + -webkit-transform: scale3d(1, 1, 1); |
| +} |
| +.app span { |
| + text-decoration: none; |
| + /* TODO(rbyers): why isn't ellipsis working? */ |
| + text-overflow: ellipsis; |
| + white-space: nowrap; |
| + overflow: hidden; |
| + color: white; |
| +} |
| +.app img { |
| + display: block; |
| + width: 96px; |
| + height: 96px; |
| + margin-left: auto; |
| + margin-right: auto; |
| + /* -webkit-mask-image set by JavaScript to the image source */ |
| + -webkit-mask-size: 100% 100%; |
| +} |
| +/* Pressed is set when an app is first touched. |
| + By using the mask, pressing causes a darkening effect of just the image */ |
| +.app.grabber-pressed img { |
| + opacity: 0.8; |
| +} |
| +/* Grabbed is set (and pressed is cleared) when the app has been held. */ |
| +.grabber-grabbed { |
| + opacity: 0.8; |
| + -webkit-transform: scale3d(1.4, 1.4, 1); |
| +} |
| +/* Dragging is set (without grabbed being cleared) when a grabbed app is |
| + moved */ |
| +.grabber-dragging { |
| + /* We need to ensure there is no animation applied to its position |
| + (or the drag touch may stop being over top of it */ |
| + -webkit-transition: none !important; |
| + |
| + /* Ensure the element has a large z-index so that we can get events |
| + for it as it moves over other elements. This is animated as the |
| + element flys back, so we want a large value that will stay large until |
| + its almost home. */ |
| + z-index: 100; |
| +} |
| + |
| +#footer { |
| + width: 100%; |
| + position: absolute; |
| + bottom: 0; |
| + height: 60px; /* must match #apps-frame bottom */ |
| + overflow: hidden; |
| +} |
| +#dot-list |
| +{ |
|
arv (Not doing code reviews)
2011/03/10 19:25:59
{ before newline
Rick Byers
2011/03/11 02:44:33
Done.
|
| + text-align: center; |
| + margin: 0; |
| + padding: 0; |
| + bottom: 0; |
| + list-style-type: none; |
| + margin-top: 20px; |
| +} |
| +.dot { |
| + display: inline-block; |
| + margin: 10px; |
| + width: 10px; |
| + height: 10px; |
| + background-color: #3d465f; |
| + -webkit-box-sizing: border-box; |
| + border: 1px solid black; |
| + -webkit-border-radius: 2px; |
| + -webkit-transition-property: width, height, margin, -webkit-transform; |
| + -webkit-transition-duration: 500ms; |
| + /* Work-around regression bug 74802 */ |
| + -webkit-transform: translate3d(0, 0, 0); |
| +} |
| +#footer.rearrange-mode .dot { |
| + margin: 0px 20px; |
| + width: 30px; |
| + height: 30px; |
| +} |
| +.dot.selected { |
| + background-color: #b3bbd3; |
| +} |
| +.dot.new { |
| + -webkit-transform: translate3d(0, 40px, 0); |
| +} |
| + |
| +#trash { |
| + position: absolute; |
| + width: 110px; |
| + height: 100%; |
| + right: 0px; |
| + bottom: 0px; |
| + background-image: url('trash.png'); |
| + background-size: 40px 40px; |
| + background-repeat: no-repeat; |
| + background-position: 40px 12px; |
| + /* Work-around chromium bug 74730 by using translate instead of the |
| + GPU-accelerated translate3d */ |
| + -webkit-transform: translate(80px, 0); |
| + -webkit-transition-property: -webkit-transform; |
| + -webkit-transition-duration: 500ms; |
| +} |
| +#trash.hover { |
| + background-image: url('trash-open.png'); |
| +} |
| + |
| +.app.trashing img { |
| + opacity: 0.3; |
| +} |
| + |
| +#footer.rearrange-mode #trash { |
| + -webkit-transform: translate(0, 0); |
| +} |
| + |
| +/* Ensure template items are never drawn when the page initially loads */ |
| +#app-template { |
| + display: none; |
| +} |