3D (animated) cube using only CSS (Less), originally used by LeanCloud (aka. AVOS Cloud)

Related tags

Effect css less
Overview

cube.less

Build Status devDependency Status

3D (animated) cube using only CSS (LESS).

Demo

See this demo page. There's also a live production site (WIP) using these cubes.

Install

$ bower install cube.less

Options

Mixins

.makecube

Main mixin, it has the following options:

@size

Default: 100px

The length of a cube side.

@depth

Default: 50px

Cube depth alone the Z-axis.

@rotate-x

Default: 0deg

Rotate the cube along the X-axis.

@rotate-y

Default: 0deg

Rotate the cube along the Y-axis.

@rotate-z

Default: 0deg

Rotate the cube along the Z-axis.

.makeperspective

@perspective

Default: 2500

Make canvas perspective to parent element.

Additional Classes

.cube-border

No cube background, like ouline vision. apply it to cube container.

.cube-borderless

No outline, apply it to cube container.

.cube-unselectable

Make all cubes unselectable, apply it to cube parent wrapper, or specific cube. Both are ok.

Setup

The following is a basic markup:

...
<div class="cube-perspective">
  <span class="cube cube-01"><i></i><i></i><i></i><i></i><i></i><i></i></span>
  <span class="cube cube-02 cube-border"><i></i><i></i><i></i><i></i><i></i><i></i></span>
  <span class="cube cube-03 cube-borderless"><i></i><i></i><i></i><i></i><i></i><i></i></span>
  <span class="cube cube-04"><i></i><i></i><i></i><i></i><i></i><i></i></span>
</div>
...

Animation

See demo.

Dev Setup

npm install && grunt server

Author

Tunghsiao Liu

Licenses

MIT

Comments
  • chore(deps): update dependency autoprefixer to v10

    chore(deps): update dependency autoprefixer to v10

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | autoprefixer | ^9.3.1 -> ^10.0.0 | age | adoption | passing | confidence |


    Release Notes

    postcss/autoprefixer

    v10.2.0

    Compare Source

    Tudor rose

    Autoprefixer 10.2 now has built-in TypeScript definitions. You do not need @types/autoprefixer anymore.

    Thanks to @​Semigradsky and DefinitelyTyped’s contributors.

    @​Sheraff also improved docs.

    v10.1.0

    Compare Source

    Coat of arms of Botswana

    Autoprefixer 10.1 improved min-resolution support.

    @​infusion added dpcm unit support and num2fraction with Fraction.js, which uses Farey Sequences as a rational approximation (more precise) and simplifies the fraction using continued fractions to ɛ <0.001 afterward.

    /* input */
    @&#8203;media (min-resolution: 113.38dpcm) {
      …
    }
    
    /* output */
    @&#8203;media (-webkit-min-device-pixel-ratio: 3),
           (min--moz-device-pixel-ratio: 3),
           (-o-min-device-pixel-ratio: 3/1),
           (min-resolution: 113.38dpcm) {
      …
    }
    

    v10.0.4

    Compare Source

    • Fixed Cannot read property 'proxyOf' of undefined error (by Igor Kamyshev).

    v10.0.3

    Compare Source

    • Fixed substract to subtract value for mask-composite (by Michelle Enos).

    v10.0.2

    Compare Source

    • Removed -ms-user-select: all because IE and old Edge don’t support it.
    • Fixed Grid Layout warning.

    v10.0.1

    Compare Source

    • Fix PostCSS 8.1 compatability.
    • Add our OpenCollective to package.json.
    • Clean up code (by Sukka).

    v10.0.0

    Compare Source

    Coat of arms of Oregon

    Autoprefixer 10 is based on top of PostCSS 8 (check Known Issues section before updating).

    Node.js 6.x, 8.x, 11.x support was removed.

    Now you need to install Autoprefixer by npm install --save-dev autoprefixer postcss. We moved postcss from dependencies to peerDependencies according to new PostCSS plugin guidelines.


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • chore(deps): update dependency grunt-concurrent to v3

    chore(deps): update dependency grunt-concurrent to v3

    WhiteSource Renovate

    This PR contains the following updates:

    | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | grunt-concurrent | ^2.3.1 -> ^3.0.0 | age | adoption | passing | confidence |


    Release Notes

    sindresorhus/grunt-concurrent

    v3.0.0

    Compare Source

    Breaking:

    • Require Node.js 8 and Grunt 1 468aec3

    Enhancements:


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by WhiteSource Renovate. View repository job log here.

    opened by renovate[bot] 1
  • chore(deps): update dependency grunt-contrib-cssmin to v3

    chore(deps): update dependency grunt-contrib-cssmin to v3

    This PR contains the following updates:

    | Package | Type | Update | Change | References | |---|---|---|---|---| | grunt-contrib-cssmin | devDependencies | major | ^1.0.1 -> ^3.0.0 | source |


    Release Notes

    gruntjs/grunt-contrib-cssmin

    v3.0.0

    Compare Source

    v2.2.1

    Compare Source

    v2.2.0

    Compare Source

    v2.1.0

    Compare Source

    v2.0.0

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 1
  • chore(deps): update dependency matchdep to v2

    chore(deps): update dependency matchdep to v2

    This PR contains the following updates:

    | Package | Type | Update | Change | References | |---|---|---|---|---| | matchdep | devDependencies | major | ^1.0.0 -> ^2.0.0 | source |


    Release Notes

    tkellen/js-matchdep

    v2.0.0

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency grunt-lesslint to v4 - autoclosed

    chore(deps): update dependency grunt-lesslint to v4 - autoclosed

    This PR contains the following updates:

    | Package | Type | Update | Change | References | |---|---|---|---|---| | grunt-lesslint | devDependencies | major | ^3.0.1 -> ^4.0.0 | homepage, source |


    Release Notes

    jgable/grunt-lesslint

    v4.0.0

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency grunt-contrib-less to v2

    chore(deps): update dependency grunt-contrib-less to v2

    This PR contains the following updates:

    | Package | Type | Update | Change | References | |---|---|---|---|---| | grunt-contrib-less | devDependencies | major | ^1.0.1 -> ^2.0.0 | source |


    Release Notes

    gruntjs/grunt-contrib-less

    v2.0.0

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency grunt-contrib-clean to v2

    chore(deps): update dependency grunt-contrib-clean to v2

    This PR contains the following updates:

    | Package | Type | Update | Change | References | |---|---|---|---|---| | grunt-contrib-clean | devDependencies | major | ^1.0.0 -> ^2.0.0 | source |


    Release Notes

    gruntjs/grunt-contrib-clean

    v2.0.0

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency coffeelint to v2

    chore(deps): update dependency coffeelint to v2

    This PR contains the following updates:

    | Package | Type | Update | Change | References | |---|---|---|---|---| | coffeelint | devDependencies | major | ^1.10.1 -> ^2.0.0 | homepage, source |


    Release Notes

    clutchski/coffeelint

    v2.1.0

    Compare Source

    v2.0.7

    Compare Source

    v2.0.6

    Compare Source

    v2.0.5

    Compare Source

    v2.0.4

    Compare Source

    v2.0.3

    Compare Source

    v2.0.0

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency autoprefixer to v9

    chore(deps): update dependency autoprefixer to v9

    This PR contains the following updates:

    | Package | Type | Update | Change | References | |---|---|---|---|---| | autoprefixer | devDependencies | major | ^6.3.3 -> ^9.0.0 | source |


    Release Notes

    postcss/autoprefixer

    v9.3.1

    Compare Source

    • Fix Grid prefixes with repeat() value (by Bogdan Dolin).

    v9.3.0

    Compare Source

    Coat of Arms of Oklahoma

    Autoprefixer 9.3 brings place-self support for Grid Layout

    place-self

    @​Dan503 and @​bogdan0083 found a way to impement support for another Grid property

    .grid > .center {
      place-self: center;
    }
    
    .grid > .center {
      -ms-grid-row-align: center;
      -ms-grid-column-align: center;
      place-self: center;
    }
    

    Other Changes

    @​Dan503 and @​bogdan0083 also detected and fixed issue with Grid row/column span inheritance.

    v9.2.1

    Compare Source

    • Fix broken AST.

    v9.2.0

    Compare Source

    Coat of Arms of Omsk

    Autoprefixer 9.2 brings many new improvements for -ms- prefixes for Grid Layout.

    New Ways to Enable/Disable Grid Layout

    In previous versions, you had needed to pass grid: true to enable prefixes for Grid Layout. But not all users have access to Autoprefixer options. CodePen, Create Reat App or Angular CLI doesn’t allow you to do it.

    In Autoprefixer 9.2 @​fanich37 added special control comments:

    /* autoprefixer grid: on */
    .grid {
        display: grid;
        grid-gap: 33px;
        grid-template:
            "head head  head" 1fr
            "nav  main  main" minmax(100px, 1fr)
            "nav  foot  foot" 2fr /
            1fr   100px 1fr;
    }
    
    .non-ie .grid {
        /* autoprefixer grid: off */
        …
    }
    

    Autoprefixer doesn’t support Grid properties and values with auto. In 9.2 it will ignore whole @supports content if it contains these Grid properties:

    @&#8203;supports (grid-auto-rows: 100px) {
        /* Autoprefixer will not show Grid warnings and will not add prefixes here */
    }
    

    Smarter grid-area

    Autoprefixer supports grid-template even if it was not in IE Grid spec.

    But in 9.2 @​bogdan0083 really improve it according to @​Dan503 idea. Now Autoprefixer supports even overriding grid-template.

    /* autoprefixer grid: on */
    .grid {
        display: grid;
        grid-template:
            "nav  main" minmax(100px, 1fr)
            "nav  foot" 2fr /
            100px 1fr;
    }
    
    .grid.no-menu {
        grid-template:
            "main" minmax(100px, 1fr)
            "foot" 2fr
    }
    

    Other Changes

    v9.1.5

    Compare Source

    • Remove @babel/register from dependencies.

    v9.1.4

    Compare Source

    • Use Babel 7.

    v9.1.3

    Compare Source

    • Sort properties in autoprefixer --info alphabetically.
    • Fix old Firefox gradient prefix.

    v9.1.2

    Compare Source

    • Fix autoprefixer --info in new Node.js.

    v9.1.1

    Compare Source

    • Retain grid-gap through @media (by Bogdan Dolin).
    • Fix grid-template and @media (by Bogdan Dolin).
    • Fix Grid areas searching error (by Bogdan Dolin).
    • Fix span X Grid prefix (by Bogdan Dolin).
    • Fix docs (by Eduard Kyvenko).

    v9.1.0

    Compare Source

    Coat of Arms of Canada

    Autoprefixer 9.1 brings background-clip: text and fix span in IE Grid.

    Background Clip

    background-clip: text become to be the standard and got Edge support. So we added it to Autoprefixer:

    .title {
      background: linear-gradient(yellow, red);
       -webkit-background-clip: text;
               background-clip: text;
    }
    

    Note, that Edge expect -webkit- prefix for this property.

    Grid Layout Fix

    @​bogdan0083 fixed an issue when media-query override some grid-template.

    v9.0.2

    Compare Source

    • Show warning on Grid area names conflict (by Bogdan Dolin).
    • Fix documentation (by Sven Wagner).

    v9.0.1

    Compare Source

    • Fix nested at-rules in Grid prefixes (by Ivan Malov).

    v9.0.0

    Compare Source

    Coat of Arms of Canada

    Autoprefixer 9.0 brings Browserslist 4.0 and drops Node.js 4 support.

    Breaking Changes

    We removed Node.js 4 and Node.js 9 support since it doesn’t have security updates anymore.

    We removed IE and “dead” browsers (without security updates) from Babel’s targets. Don't worry, Autoprefixer still generate IE-compatible code. These changes affect websites which run Autoprefixer on client-side like CodePen.

    last 2 version
    not dead
    not Explorer 11
    not ExplorerMobile 11
    node 10
    node 8
    node 6
    

    Autoprefixer Rails 9.0 dropped the RubyRacer and Sprockets 3 support.

    Browserslist 4.0

    Autoprefixer 9.0 uses Browserslist 4.0 to get your target browsers.

    Now you use Browserslist to specify Node.js versions. Babel 7 will use Browserslist config as well.

    Also, Browserslist 4.0 will warn you if you didn’t update Can I Use DB for last than 6 month.

    PostCSS 7.0

    Autoprefixer 9.0 uses PostCSS 7.0

    v8.6.5

    Compare Source

    • Do not show Grid warnings if IE was not selected.

    v8.6.4

    Compare Source

    • Fix stretch prefix in Chrome >= 46.

    v8.6.3

    Compare Source

    • Add warnings for unsupported Grid features.
    • Add warnings about wrong Grid properties.
    • Add note about grid option for grid properties in autoprefixer --info.

    v8.6.2

    Compare Source

    • Fix error during adding Grid prefixes in @media (by Evgeny Petukhov).

    v8.6.1

    Compare Source

    • Fix grid-template with media queries (by Evgeny Petukhov).

    v8.6.0

    Compare Source

    Emblem of the Grand Lodge of Massachusetts

    Autoprefixer 8.6 brings gap property support and two values support for grid-gap/gap.

    Grid Gap

    CSSWG renamed grid-gap property to gap.

    @​yepninja added gap support with 2 values support.

    Grid layout code bellow will work even in IE if you pass grid: true option to Autoprefixer:

    .main {
        gap: 10px 20px;
        grid-template-columns: 1fr 1fr 1fr;
        grid-template-areas: "head head head"
                             "nav main main"
                             "nav foot foot";
    }
    
    Other Changes

    v8.5.2

    Compare Source

    • Fix grid-template support wit auto row sizes (by Yury Timofeev).

    v8.5.1

    Compare Source

    • Remove unnecessary warning on -webkit-fill-available.

    v8.5.0

    Compare Source

    Coat of arms of Lisbon

    Autoprefixer 8.5 brings grid-gap support and fix radial-gradient.

    Grid Gap

    @​yepninja continues his amazing work of adding CSS Grid Layout support to Autoprefixer.

    Now he brought grid-gap. It is amazing work since IE 11 has gaps support in -ms- grids.

    To add grid-gap support for IE 11 Autoprefixer adds addition grid cells. Unfortunately, it will work only if you have grid-template in the same rule with grid-gap. We had big discussion with a community about these limits.

    .page {
        grid-gap: 33px;
        -ms-grid-rows: 1fr 33px minmax(100px, 1fr) 33px 2fr;
        -ms-grid-columns: 1fr 33px 100px 33px 1fr;
        grid-template:
            "head head  head" 1fr
            "nav  main  main" minmax(100px, 1fr)
            "nav  foot  foot" 2fr /
            1fr   100px 1fr;
    }
    

    Set postcss-gap-properties before Autoprefixer if you want to use new gap property.

    Radial Gradients

    Old gradients with prefixes used a different direction syntax. Autoprefixer converts direction to old syntax (or warn you to rewrite direction from old to new syntax).

    But it has an issue with extent keywords like circle closest-corner. We fixed it after @​BaliBalo report.

    .mask {
        -webkit-mask-image: -webkit-radial-gradient(100% 50%, circle closest-corner, black, white);
                mask-image: radial-gradient(circle closest-corner at 100% 50%, black, white);
    }
    

    v8.4.1

    Compare Source

    • Fix working in old PostCSS versions (by Diablohu).

    v8.4.0

    Compare Source

    Bludor family coat of arms

    Autoprefixer 8.4 brings new control comment to ignore next line.

    @​vostrik implemented the @​levin-du’s idea of having control comment to disable only next property/rule:

    .logo {
        /* autoprefixer: ignore next */
        user-select: none; /* ← ignored */
        mask: url(mask.jpg); /* ← will be prefixed */
    }
    
    /* autoprefixer: ignore next */
    ::placholder /* ← ignored */ {
        text-decoration-style: dotted; /* ← will be prefixed */
    }
    

    v8.3.0

    Compare Source

    Seal of the City of Pittsburgh

    Autoprefixer 8.3 adds @media support for grid-template and fixes gradient direction warning.

    Media and Grid Layout

    @​evgeny-petukhov continues his great work for Grid Layout support in Autoprefixer.

    Now he improved @media support. Now this CSS will work in IE:

    body {
        grid-template:
            [header-left] "head head" 30px [header-right]
            [main-left]   "nav  main" 1fr  [main-right]
            [footer-left] "nav  foot" 30px [footer-right]
            / 120px repeat(4, 250px 10px);
    }
    
    header {
        grid-area: head;
    }
    
    main {
        grid-area: main;
    }
    
    footer {
        grid-area: footer;
    }
    
    @&#8203;media (min-width: 1000px) {
        body {
            grid-template:
                [header-left] "head" 30px [header-right]
                [main-left]   "main" 1fr  [main-right]
                [footer-left] "footer" 30px [footer-right]
                / 1fr;
        }
    }
    

    Don’t forget that Autoprefixer inserts Grid Layout prefixes only if you set grid: true option.

    Gradient Warning

    @​radium-v found that Autoprefixer show warning even if cover is outside of radial-gradient.

    a {
        background: radial-gradient(#fff, transparent) 0 0 / cover no-repeat #f0f;
    }
    

    @​kotfire improve old direction detection and fix this issue.

    v8.2.0

    Compare Source

    The Great Seal of the State of Kansas

    Autoprefixer 8.2 brings color-adjust support.

    @​YozhikM, @​soul-wish, and @​yuriyalekseyev did a great work. They added new data to Can I Use and implemented a new feature to Autoprefixer.

    body {
        -webkit-print-color-adjust: exact;
                color-adjust: exact;
    }
    

    v8.1.0

    Compare Source

    Kingdom Come: Deliverance logo

    Autoprefixer 8.1 brings overscroll-behavior and better Grid support.

    Overscroll Behavior

    @​Malvoz suggested the great idea to polyfill overscroll-behavior for IE 11 and Edge by -ms-scroll-chaining.

    .none {
        -ms-scroll-chaining: none;
            overscroll-behavior: none;
    }
    .contain {
        -ms-scroll-chaining: none;
            overscroll-behavior: contain;
    }
    .auto {
        -ms-scroll-chaining: chained;
            overscroll-behavior: auto;
    }
    

    Note, that overscroll-behavior-x and overscroll-behavior-y are not supported since -ms- property doesn’t have this freedom.

    Better Grid Layout

    @​evgeny-petukhov continues his amazing work and now Autoprefixer polyfills Grid Layout for IE in more cases.

    He added grid-template shortcut support and improve support of grid-column-end and grid-row-end.

    Grid properties were fixed in @supports. We recommend:

    • To select modern Grid browsers and IE 11: @supports (display: grid).
    • To select only Grid browsers without IE 11: @supports (grid-gap: 0).

    Note, that you need grid: true option to Autoprefixer to add -ms- prefixes for Grid Layout.

    v8.0.0

    Compare Source

    Great Seal of the State of New York

    Autoprefixer 8.0 uses Browserslist 3.0, has autoprefixer CLI tool instead of autoprefixer-info.

    Browserslist 3.0

    The main feature of Autoprefixer 8.0 is Browserslist 3.0. In the new version, it brings new default browsers. It will affect you only if you don’t change browsers by .browserslistrc or browserslist key in package.json (we don’t recommend to use browsers option).

    In one hand, Browserslist 3.0 usage statistics limit for default browsers was reduced from >1% to >0.5%. In another hand, we remove dead browsers from default browsers. The dead browser is a browser with < than 1% in the global market and who don’t have security updates. Right now IE 10 and BlackBerry browser are dead browsers.

    Read other notable changes in Browserslist 3.0 changelog. We recommend subscribing for @​Browserslist twitter account.

    CLI Tool

    CLI tool to show target browsers and used prefixes was renamed to autoprefixer:

    $ npx autoprefixer --info
    Browsers:
      Edge: 16
    
    These browsers account for 0.04% of all users globally
    
    At-Rules:
      @&#8203;viewport: ms
    
    Selectors:
      ::placeholder: ms
    
    Properties:
      user-select: ms
      hyphens: ms
      appearance: webkit
      scroll-snap-type: ms
      scroll-snap-coordinate: ms
      scroll-snap-destination: ms
      scroll-snap-points-x: ms
      scroll-snap-points-y: ms
      flow-into: ms
      flow-from: ms
      region-fragment: ms
      text-spacing: ms
    

    With the new name, npx will install Autoprefixer automatically if it is missed in the current project.

    Page Breaks for Firefox

    Previous Autoprefixer versions replace break-* properties to page-break-* for Firefox.

    But this feature didn’t add any vendor prefix. Autoprefixer goal is to take care only about prefixes, not polyfills. For better consistency, we removed this feature from Autoprefixer.

    Don’t afraid, the PostCSS ecosystem has many plugins for CSS polyfills. We recommend to take look at postcss-preset-env to write future CSS today.

    v7.2.6

    Compare Source

    • Fix -ms- prefix for grid cells with same grid-area (by Evgeny Petukhov).

    v7.2.5

    Compare Source

    • Fix multiple prefixes in declaration value.

    v7.2.4

    Compare Source

    • Fix IE 10 support.

    v7.2.3

    Compare Source

    • Fix grid-template-areas in @media (by Evgeny Petukhov).

    v7.2.2

    Compare Source

    • Fix _autoprefixerDisabled is undefined issue.

    v7.2.1

    Compare Source

    • Fix IE and other old JS runtimes support.

    v7.2.0

    Compare Source

    Coat of arms of Brazil

    Autoprefixer 7.2 brings better Grid support for IE
    and autoprefixer-info CLI tool.

    Grid Layout

    With grid: true option Autoprefixer adds -ms- prefixes to Grid Layout properties. But this feature was very limited.

    In 7.0 we dramatically improved Grid support for IE. @​Alex7Kom added grid-area and improved grid-row and grid-column support. @​evgeny-petukhov added grid-template-areas and grid-template support.

    Even this complex emoji example will work with new Autoprefixer (output):

    body {
        display: grid;
        grid-template-rows: 30px auto 30px;
        grid-template-columns: 1fr 3fr;
        grid-template-areas: "🎩 🎩"
                             "🍔 📰"
                             "👞 👞";
    }
    .header {
        grid-area: 🎩;
    }
    .nav {
        grid-area: 🍔;
    }
    .main {
        grid-area: 📰;
    }
    .footer {
        grid-area: 👞;
    }
    

    Just don’t forget to set grid: true option:

    auoprefixer({ grid: true })
    
    Info CLI Tool

    Autoprefixer 7.2 ships with new CLI tool to check which browsers are selected and which properties will be prefixed.

    Just go to your project directory and run npx autoprefixer-info:

    Browsers:
      Edge: 16
    
    These browsers account for 0.04% of all users globally
    
    At-Rules:
      @&#8203;viewport: ms
    
    Selectors:
      ::placeholder: ms
    
    Properties:
      user-select: ms
      hyphens: ms
      appearance: webkit
      scroll-snap-type: ms
      scroll-snap-coordinate: ms
      scroll-snap-destination: ms
      scroll-snap-points-x: ms
      scroll-snap-points-y: ms
      flow-into: ms
      flow-from: ms
      region-fragment: ms
      text-spacing: ms
    

    Also, @​pdokas added default value (current working dir) for from option in autoprefixer.info().

    Other Changes
    • Add wrong radial-gradient properties warning.
    • Do not prefix reverse animation direction.
    • Improve test coverage (by @​Semigradsky).

    v7.1.6

    Compare Source

    • Add warning for using browserslist option instead of browsers.
    • Add warning for multiple control comments in the same scope.
    • Fix Invalid array length error during indent changes.

    v7.1.5

    Compare Source

    • Fix ::placeholder prefix for Edge.
    • Fix inherit/initial/unset values for flex-direction.
    • Fix RegExp usage in gradients (by Yet Another Minion).

    v7.1.4

    Compare Source

    • Fix radial-gradient direction conversion.
    • Fix image-set in cursor.

    v7.1.3

    Compare Source

    • Add warning for old radial-gradient direction syntax.

    v7.1.2

    Compare Source

    • Fix text-decoration shortcut support.

    v7.1.1

    Compare Source

    • Remove non--webkit- intrinsic prefixes in Grid Layout (by 一丝).

    v7.1.0

    Compare Source

    Humboldt University of Berlin coat of arms

    Autoprefixer 7.1 brings unicode-bidi support, -webkit-appearance to Edge and fix intrinsic widths prefixes in Grid Layout.

    unicode-bidi

    Autoprefixer 7.1 will add prefixes for isolate, plaintext and isolate-override values in unicode-bidi:

    .foo {
      unicode-bidi: -webkit-isolate;
      unicode-bidi: isolate;
    }
    
    Edge and -webkit-appearance

    Prefixes sometime could be very strange. Edge started to support appearance property with a prefix. But because of many only-for-Safari websites it supports -webkit-appearance instead of -ms-appearance.

    Autoprefixer 7.1 knows it and will generate -webkit-appearance even if you set only "last 1 Edge version" in browserslist config.

    Intrinsic Widths

    min-content, stretch and other Intrinsic sizes was fixed in grid-template-columns and other Grid Layout properties.

    .foo {
      grid-template-columns: minmax(100px, -webkit-min-content);
      grid-template-columns: minmax(100px, min-content);
    }
    
    Browserslist in info()

    By accident Browserslist 1 loaded config from current working dir if file path was missed. In Browserslist 2 we fixed it and now you must specify path to file in explicit way.

    It is not a problem for Autoprefixer user, because Autoprefixer takes CSS file path from PostCSS. But autoprefixer.info() stopped to load conifg in 7.0. In 7.1 we added from option to info().

    Set the path to your CSS file and info() will show what prefixes and why it will added to this CSS file:

    autoprefixer.info({ from: './scr/app.css' })
    //=> Browsers:
    //     Chrome: 58
    //
    //   These browsers account for 1.68% of all users globally
    //
    //   Selectors:
    //     :fullscreen: webkit
    //   …
    

    v7.0.1

    Compare Source

    • Fix Autoprefixer for old JS runtimes.

    v7.0.0

    Compare Source

    University of Copenhagen coat of arms

    Autoprefixer 7.0 uses PostCSS 6.0, Browserslist 2.0 and caniuse-lite.

    Browserslist 2.0

    Browserslist 2.0 and caniuse-lite by @​ben-eb are the main changes in Autoprefixer 7.0. We wrote an article about these changes:

    > Autoprefixer 7.0 and Browserslist 2.0

    Breaking Changes

    Node.js stopped 0.12 support in January 01. So PostCSS dropped Node.js 0.12 from all tests. Please update your Node.js version to 4.0 or 7.0.

    IE has very basic support of Grid Layout. So Autoprefixer added -ms- prefixes and change property syntax. Unfortunately, IE supports a really small subset of Grid Layout. So prefixes were not really useful. This is why we disabled Grid Layout prefixes by default. But you still can enable it:

    autoprefixer({ grid: true })
    
    Babel

    Autoprefixer was one of the biggest CoffeeScript projects. We thought to rewrite it, but reasons were small, and work was big. But @​Semigradsky used great decaffeinate tool for automatically CoffeeScript → ES6 converting, and now all Autoprefixer sources are written in JS.

    PostCSS 6.0

    New PostCSS uses stream parser and uses less memory. Also, it uses less space in node_modules.

    Other Changes
    • Use ^ for Browserslist dependencies, instead of ~.
    • Fix -ms-grid-column-align.
    • Move tests to Jest.

    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency grunt-postcss to ^0.9.0

    chore(deps): update dependency grunt-postcss to ^0.9.0

    This PR contains the following updates:

    | Package | Type | Update | Change | References | |---|---|---|---|---| | grunt-postcss | devDependencies | minor | ^0.8.0 -> ^0.9.0 | source |


    Release Notes

    nDmitry/grunt-postcss

    v0.9.0

    Compare Source


    Renovate configuration

    :date: Schedule: At any time (no schedule defined).

    :vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.

    :recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".

    :no_bell: Ignore: Close this PR and you won't be reminded about this update again.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 0
  • Configure Renovate

    Configure Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    :vertical_traffic_light: To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • package.json (npm)

    Configuration

    :abcd: Renovate has detected a custom config for this PR. Feel free to post it to the Config Help repository if you have any doubts and would like it reviewed.

    Important: Now that this branch is edited, Renovate can't rebase it from the base branch any more. If you make changes to the base branch that could impact this onboarding PR, please merge them manually.

    What to Expect

    With your current configuration, Renovate will create 8 Pull Requests:

    chore(deps): update dependency grunt-postcss to ^0.9.0
    • Schedule: "at any time"
    • Branch name: renovate/grunt-postcss-0.x
    • Upgrade grunt-postcss to ^0.9.0
    chore(deps): update dependency autoprefixer to v9
    • Schedule: "at any time"
    • Branch name: renovate/autoprefixer-9.x
    • Upgrade autoprefixer to ^9.0.0
    chore(deps): update dependency coffeelint to v2
    • Schedule: "at any time"
    • Branch name: renovate/coffeelint-2.x
    • Upgrade coffeelint to ^2.0.0
    chore(deps): update dependency grunt-contrib-clean to v2
    • Schedule: "at any time"
    • Branch name: renovate/grunt-contrib-clean-2.x
    • Upgrade grunt-contrib-clean to ^2.0.0
    chore(deps): update dependency grunt-contrib-cssmin to v3
    • Schedule: "at any time"
    • Branch name: renovate/grunt-contrib-cssmin-3.x
    • Upgrade grunt-contrib-cssmin to ^3.0.0
    chore(deps): update dependency grunt-contrib-less to v2
    • Schedule: "at any time"
    • Branch name: renovate/grunt-contrib-less-2.x
    • Upgrade grunt-contrib-less to ^2.0.0
    chore(deps): update dependency grunt-lesslint to v4
    • Schedule: "at any time"
    • Branch name: renovate/grunt-lesslint-4.x
    • Upgrade grunt-lesslint to ^4.0.0
    chore(deps): update dependency matchdep to v2
    • Schedule: "at any time"
    • Branch name: renovate/matchdep-2.x
    • Upgrade matchdep to ^2.0.0

    :children_crossing: Branch creation will be limited to maximum 2 per hour, so it doesn't swamp any CI resources or spam the project. See: prHourlyLimit.


    :question: If you have any questions, try reading the Docs, particularly the Getting Started section. Also, you can post questions about your config in Renovate's Config Help repository.


    This PR has been generated by Renovate Bot. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency minimatch to 3.0.5 [security]

    chore(deps): update dependency minimatch to 3.0.5 [security]

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | |---|---| | minimatch | 3.0.4 -> 3.0.5 |

    GitHub Vulnerability Alerts

    CVE-2022-3517

    A vulnerability was found in the minimatch package. This flaw allows a Regular Expression Denial of Service (ReDoS) when calling the braceExpand function with specific arguments, resulting in a Denial of Service.


    Configuration

    📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Rate-Limited

    These updates are currently rate-limited. Click on a checkbox below to force their creation now.

    • [ ] chore(deps): update dependency grunt-contrib-cssmin to v4
    • [ ] chore(deps): update dependency grunt-contrib-less to v3
    • [ ] 🔐 Create all rate-limited PRs at once 🔐

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    Ignored or Blocked

    These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

    Detected dependencies

    npm
    package.json
    • autoprefixer ^9.3.1
    • coffeelint ^2.0.0
    • grunt ^1.0.3
    • grunt-bump ^0.8.0
    • grunt-coffeelint 0.0.16
    • grunt-concurrent ^2.3.1
    • grunt-contrib-clean ^2.0.0
    • grunt-contrib-cssmin ^3.0.0
    • grunt-contrib-less ^2.0.0
    • grunt-contrib-watch ^1.1.0
    • grunt-conventional-changelog ^6.1.0
    • grunt-postcss ^0.9.0
    • matchdep ^2.0.0
    travis
    .travis.yml
    • node 10

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
    opened by renovate[bot] 0
  • chore(deps): update dependency websocket-extensions to 0.1.4 [security]

    chore(deps): update dependency websocket-extensions to 0.1.4 [security]

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | |---|---| | websocket-extensions | 0.1.3 -> 0.1.4 |

    GitHub Vulnerability Alerts

    CVE-2020-7662

    Impact

    The ReDoS flaw allows an attacker to exhaust the server's capacity to process incoming requests by sending a WebSocket handshake request containing a header of the following form:

    Sec-WebSocket-Extensions: a; b="\c\c\c\c\c\c\c\c\c\c ...
    

    That is, a header containing an unclosed string parameter value whose content is a repeating two-byte sequence of a backslash and some other character. The parser takes exponential time to reject this header as invalid, and this will block the processing of any other work on the same thread. Thus if you are running a single-threaded server, such a request can render your service completely unavailable.

    Patches

    Users should upgrade to version 0.1.4.

    Workarounds

    There are no known work-arounds other than disabling any public-facing WebSocket functionality you are operating.

    References

    • https://blog.jcoglan.com/2020/06/02/redos-vulnerability-in-websocket-extensions/

    Configuration

    📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency set-value to 2.0.1 [security]

    chore(deps): update dependency set-value to 2.0.1 [security]

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | |---|---| | set-value | 2.0.0 -> 2.0.1 |

    GitHub Vulnerability Alerts

    CVE-2019-10747

    Versions of set-value prior to 3.0.1 or 2.0.1 are vulnerable to Prototype Pollution. The set function fails to validate which Object properties it updates. This allows attackers to modify the prototype of Object, causing the addition or modification of an existing property on all objects.

    Recommendation

    If you are using set-value 3.x, upgrade to version 3.0.1 or later. If you are using set-value 2.x, upgrade to version 2.0.1 or later.


    Configuration

    📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency postcss to 7.0.36 [security]

    chore(deps): update dependency postcss to 7.0.36 [security]

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | |---|---| | postcss | 7.0.6 -> 7.0.36 |

    GitHub Vulnerability Alerts

    CVE-2021-23368

    The npm package postcss from 7.0.0 and before versions 7.0.36 and 8.2.10 is vulnerable to Regular Expression Denial of Service (ReDoS) during source map parsing.


    Configuration

    📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • chore(deps): update dependency path-parse to 1.0.7 [security]

    chore(deps): update dependency path-parse to 1.0.7 [security]

    Mend Renovate

    This PR contains the following updates:

    | Package | Change | |---|---| | path-parse | 1.0.6 -> 1.0.7 |

    GitHub Vulnerability Alerts

    CVE-2021-23343

    Affected versions of npm package path-parse are vulnerable to Regular Expression Denial of Service (ReDoS) via splitDeviceRe, splitTailRe, and splitPathRe regular expressions. ReDoS exhibits polynomial worst-case time complexity.


    Configuration

    📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
Owner
Tunghsiao Liu
This GitHub account has been banned
Tunghsiao Liu
Pure CSS animated 3D Super Mario Icon

Pure CSS Super Mario This is the transferred source of a little sideproject I did in 2010. I initially did this without any CSS preprocessor and event

Andreas Jacob 14 Apr 15, 2021
Animated haze distortion effect for images and text, with WebGL.

Animated Heat Distortion Effects with WebGL A tutorial on how to use fragment shaders in WebGL to create an animated heat haze distortion effect on im

Lucas Bebber 289 Nov 1, 2022
Loading effects for assets including some built in animated reveals

Asset loading effects This is a library to show the loading progress of given assets and reveal them using various animations. Please give feedback, r

Zach Saucier 97 Dec 8, 2022
fakeLoader.js is a lightweight jQuery plugin that helps you create an animated spinner with a fullscreen loading mask to simulate the page preloading effect.

What is fakeLoader.js fakeLoader.js is a lightweight jQuery plugin that helps you create an animated spinner with a fullscreen loading mask to simulat

João Pereira 721 Dec 6, 2022
Create cool animated SVG spinners, loaders and other looped animations in seconds

SVG Circus SVG Circus enables you to create cool animated SVG spinners, loaders and other looped animations in seconds. Developing To run a local SVG

Alex Kaul 301 Dec 24, 2022
Animated images that are superficially attractive and entertaining but intellectually undemanding. Cool as all hell though!

MMM-EyeCandy Animated images that are superficially attractive and entertaining but intellectually undemanding. Add some EyeCandy to your mirror. Some

Mykle 36 Dec 28, 2022
Only 90's kids remember... well not really, but these beloved effects that would follow your mouse around will always be classic reminders of the old, beloved internet.

90's Cursor Effects "Knowing the codes" used to be all the rage, I want to bring a few back. A repo of the old effects that inspired creativity and th

Tim Holman 2.6k Jan 9, 2023
Very simple threejs boilerplate in VanillaJS to start your projects. There is only a basic scene, a load model method and a simple webpack.

Ektogamat ThreeJS Boilerplate by Anderson Mancini Introduction This is a three.js starter project with only 120 lines. But why create another threejs

Anderson Mancini 524 Jan 3, 2023
A little library that can be used for bursting particles effects on buttons and other elements

Particle Effects for Buttons Bursting particles effects for buttons. By Luis Manuel. Article on Codrops Demo Credits anime.js Basic usage The Particle

Codrops 1.2k Jan 1, 2023
Recreation of the background scale hover effect seen on the DDD Hotel website using CSS clip paths.

Background Scale Hover Effect Recreation of the background scale hover effect seen on the DDD Hotel menu using CSS clip paths. Article on Codrops Demo

Codrops 98 Dec 6, 2022
Some ideas for modern multi-layer page transitions using CSS Animations.

Multi-Layer Page Reveal Effects Some ideas for modern multi-layer page transitions using CSS Animations. Article on Codrops Demo Sponsor Demo sponsore

Codrops 117 Nov 1, 2022
:package: Introduction to CSS 3D transforms

Intro to CSS 3D transforms By David DeSandro 3dtransforms.desandro.com Tutorial, examples, and discussion all about CSS 3D transforms. Originally writ

David DeSandro 998 Jan 2, 2023
CSS 3D Dropdown Concept

Makisu An experimental CSS 3D dropdown concept, wrapped up in a jQuery plugin. Check out the demo (you'll need a CSS 3D capable browser, such as Chrom

Justin Windle 1.5k Nov 28, 2022
CSS 3D renderer for Three.js.

CSS3D.js by Steven Wittens CSS 3D renderer for Three.js Note: this library is mostly obsolete now that Three.js has its own CSS 3D renderer which is i

null 365 Aug 27, 2022
An old-school arcade-style 3D shoot-em-up rendered entirely with CSS 3D transforms

CSS Space Shooter Play The Game This is an experiment I made to investigate the capabilities of CSS 3D transforms. Having played about with this techn

Michael Bromley 162 Oct 2, 2022
sync CSS 3D transformations to a WebGL scene

gl-css3d Synchronize CSS 3D transformations to a WebGL scene Usage: var createCSS3D = require('gl-css3d'); // pass an HTML DOM element node, such as

null 30 Oct 17, 2022
Pure CSS Image Hover Effect Library

imagehover.css A Scaleable & Light Image Hover CSS Library Imagehover.css is a lovingly crafted CSS library allowing you to easily implement scaleable

Ciaran Walsh 1.8k Dec 21, 2022
A slideshow that uses a CSS glitch effect for slide transitions.

Glitch Slideshow A slideshow that uses the CSS Glitch Effect to transition between slides. Article on Codrops Demo Credits Images by Unsplash.com imag

Codrops 111 Dec 16, 2022
Pure CSS (no JavaScript) implementation of Android Material design "ripple" animation

Pure CSS ripple effect (no JavaScript) CSS-only implementation of Android Material design "ripple" animation on click event Main advantage of this sol

Mladen Plavsic 334 Dec 11, 2022