Giter VIP home page Giter VIP logo

chromekit's Introduction

ChromeKit

ChromeKit is a toolkit engineered to deliver a desktop-like experience in a web browser, with CSS3 and HTML5, and some healthy bits of JavaScript.

Check out the demo here.

Screenshot

Project Goals

  • Deliver a rich, desktop-like experience without a performance overhead

  • Take advantage of the most modern technologies available today (HTML5, CSS3), specially those seen in the Webkit engine.

  • Null (or next to null) image usage

  • JavaScript framework agnosticism

  • Incorporate behaviors and utilities observed in other desktop environments.

  • Optimize for the most common functions:

    • Dragging

    • Minimize and maximize

  • Deliver additional components that alter the behavior of windows or presentation of the content

    • Stylized buttons, inputs.

    • Tabs

    • Status bars

  • Flexibility in design

    • Windows support scrolling or can grow to accommodate the content size. The chroming strategy adapts to the content and is selected by the developer, instead of the developer having to work around the chrome limitations by altering the content user experience and interaction.

    • No inherited styling for the content. This allows for fast iteration and the possibility of different people working on different widgets that then become windows, but could be available otherwise. For example, it wouldn't make sense to deliver desktop chrome in a mobile device, but the content style can remain consistent.

  • Intelligent degradation strategy for cross-browser, cross-platform compatibility:

    • Deliver the content to all browsers and platforms. Out-of-the-box, effortless mobile support.

    • Only replicate visual effects or eye candy when the performance is not compromised. Tradeoffs are evaluated based on the impact on usability.

How it's done

  • Graceful degradation / Optimization mode:

    Standard, solid borders and backgrounds are used in the CSS files, and chrome.css applies advanced CSS techniques.

  • Window close / minimize / maximize buttons:

    border-radius + background with radial gradient() function + text-shadow (for labels)

  • Tabs

    border-radius + background with radial gradient() function

  • Resize gripper

    delivered through data: uri, or degrades to an image for IE6/7 with CSS that validates

  • Window shadow

    box-shadow

  • Expose (experimental)

    Based on the work by Jens England (C++ Windows Expose implementation) and the paper Guided Local Search for the Three-Dimensional Bin-Packing Problem

  • Vista-like 3D flip (using CSS3 3d transforms)

    Screenshot

  • Toolbar

    border-radius + opacity (hover effect)

Credits

Guillermo Rauch (http://devthought.com [email protected])

Nathan White (http://nwhite.net [email protected])

chromekit's People

Contributors

rauchg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

chromekit's Issues

Always use overflow: hidden with large negative text-indent

When using the text-indent: -5000px image replacement hack, you should always combine it with overflow:hidden.

This will fix some flashing issues when in 3D mode.
Specifically, add this:

.window .titlebar .controls li a {
overflow: hidden;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.