GithubHelp home page GithubHelp logo

bigdoor12 / browserhacks Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 4ae9b8/browserhacks

0.0 0.0 0.0 8.11 MB

An extensive list of CSS/JS browserhacks from all over the interwebs.

Home Page: http://browserhacks.com/

JavaScript 54.02% CSS 32.46% HTML 13.52%

browserhacks's Introduction

Browserhacks.com

What’s this?

Browserhacks is an extensive list of browser specific CSS and JavaScript hacks from all over the interwebs.

Please keep in mind using a hack is not always the perfect solution. It can be useful to fix some weird browser specific bug, but in most cases you should fix your CSS/JS.

How to?

  1. Pick the hack you want
  2. Copy it into your stylesheet
  3. Add the styles you want between the braces
  4. Enjoy the new styles for the browser you targeted!

Created by

Updates by

Thanks to

Deployment

The site is a Jekyll setup hosted on GitHub Pages. Simply update the gh-pages branch to update the site (direct edit on GitHub, manual push or pull-request merge).

Adding new hacks

Adding a new hack is as simple as adding a new entry in _data/hacks.json. Like this:

{
  "type": "selector",
  "browsers": {
    "ch": "*",
    "op": "14+"
  },
  "label": "A label for your hack if necessary.",
  "language": "css",
  "code": [
    ".selector:not(*:root) {}"
  ],
  "test": [
    ".selector:not(*:root) { background: lightgreen; }"
  ]
}

The type key defines which type of hack it is; valid types are listed in _data/hackTypes.json.

The browsers key is an object mapping a browser’s shortname to a version expression; valid browsers are listed in _data/browsers.json. Versions can be:

  • strict version (e.g. 42)
  • strict versiond (e.g. 42|43)
  • version and up (e.g. 42+)
  • version and below (e.g. 42-)
  • any version (e.g. *)

The label key can be left empty, or describe the hack if it is necessary.

The language key defines how to display the hack, and how to create the dynamic test for it. Possible languages are css, javascript and markup.

The code key is an array of expressions for the hack. Certain hacks can be written in several forms, hence the need for an array.

The test key is an array of expressions for the test. It should be a direct copy of the code array, except the braces should be filled with a background: lightgreen; in case of a selector, or .selector { background: lightgreen; } in case of a media expression. Take example on other existing hacks.

Once you’ve done that, simply run npm run build to complete the hack with a unique ID, a human-readable version, a check for whether or not it’s a legacy hack, and create dynamic tests.

browserhacks's People

Contributors

kittygiraudel avatar fweinb avatar jeffclayton avatar joshnh avatar timpietrusky avatar mobilpadde avatar edwinm avatar evanhahn avatar phistuck avatar

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.