Giter Club home page Giter Club logo

calc-polyfill's Introduction

A Polyfill for CSS3 calc()

This is a javascript poly fill for the CSS3 calc-function.

Inspired by:

Usage

Simply drop the link like this after you included your CSS:

<script type="text/javascript" src="path/to/calc.js"></script>

A test for the support if calc() is integrated based on the Modernizr test

Tested on Internet Explorer 8 and Android 4.0.3

Dependencies

  • support for document.querySelectorAll
  • for media queries window.matchMedia

Remarks

Specificity

This polyfill does not take specificity into account when applying styles for calc().

For example if you have to rules:

.element  div {
	width: calc(50% - 230px);
}

div {
	width: calc(50% - 100px);
}

The first rule would apply for the <div /> element because of higher specificity. The CSS is parsed from top to bottom and therefore the polyfill would apply the styles of the second rule. Just keep that in mind.

Resetting

This polyfill also does not detect any resetting of calc():

.element  div {
	width: calc(50% - 230px);
}

div {
	width: 50%;
}

The polyfill will apply the rules from the first as it is not detecting the resetting of the width in the second.

Media-Queries

There is currently no support for libs like respond.js and it is not planned to add support. However the polyfill uses window.matchMedia to test for media queries. If you wish to add support for media queries for IE8 include a polyfill before the calc-polyfill.

To Do

  • more Android testing
  • consider inline styles
  • consider imported CSS files wie @import

calc-polyfill's People

Contributors

rodebert avatar

Watchers

James Cloos avatar Erick Leopoldo 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.