Skip to content

ddouble/bsie

Repository files navigation

Welcome, This is bsie project Home.

Introduce

bsie is a patch library for Bootstrap IE6 support, bootstrap is a good web UI library from twitter.com

At present, bsie support the most common feature of bootstrap on IE6, but not all ...

Following table is currently supported component & feature:

Component Feature ----------------------------------------------------------- grid fixed, fluid navbar top, fixed nav list, tabs, pills dropdown dropdown (two level) buttons button, group color, size, dropdown-button, (disable state is not dynamic) form default, horizontal, inline, all controls, validation state tables hover breadcrumbs all pagination all labels all badges all code all modal most tooltip all popover all alert all typeahead all progressbar most media all wells all hero unit all icons all 

File summary

bootstrap/css/bootstrap.css :

This is original bootstrap css.

bootstrap/css/bootstrap.min.css :

This is compressed original bootstrap css.

bootstrap/css/bootstrap-ie6.css :

This is bsie main css.

bootstrap/css/bootstrap-ie6.min.css :

This is compressed bsie main css.

bootstrap/css/ie.css :

This is bsie additional css patch, its most content can not be writen in .less file, it must follow bootstrap-ie6.css in <head> block.

js/bootstrap-ie.js :

This javascript file patch some problem which can not be done by pure CSS approach.

bootstrap/img/glyphicons-halflings.png-8.png :

This image file is transparent icons for IE6, it's a 8 bit png image, not very perfect, but I think it can be accepted.

bootstrap/less-ie6 :

There are all patched .less files, you can compile bootstrap-ie6.less with lessc to get your patch css file -- bootstrap-ie6.css

Demo

In bsie root directory, these file is demo:

test-XXX.html, for example test-buttons.html test-form.html

p-1.html...p-N.html, these file is a copy of bootstrap example pages

Manual

Step 1, In <head> block, add following stylesheet:

 <!-- Bootstrap css file v2.2.1 --> <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap.min.css"> <!--[if lte IE 6]> <!-- bsie css patch --> <link rel="stylesheet" type="text/css" href="bootstrap/css/bootstrap-ie6.css"> <!-- bsie additional css patch --> <link rel="stylesheet" type="text/css" href="bootstrap/css/ie.css"> <![endif]--> 

Step 2, In end of the document, add following javascript:

 <!-- jQuery 1.7.2 or higher --> <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> <!-- Optional, bootstrap javascript library --> <script type="text/javascript" src="bootstrap/js/bootstrap.js"></script> <!--[if lte IE 6]> <!-- bsie js patch, it will only execute in IE6 --> <script type="text/javascript" src="js/bootstrap-ie.js"></script> <![endif]--> 

Step 3, Optional accoding to your situation:

IE6 Notice: : call $.bootstrapIE6(el) for every new html snippet (for ajax html content)

/** * make elements in container el to be compatible with IE6 */ if ($.isFunction($.bootstrapIE6)) $.bootstrapIE6(el); 

IE6 currently not support nested tabs control, because IE6 don't support child css selector

IE6-7 hack

IE6 hack

 _zoom:1; 

IE6-7 hack

 *zoom:1; 

IE6 bug fix tip

hasLayout (clear float):

 .container { zoom:1; } 

other css property which will trigger hasLayout:

 position: absolute float: left | right display: inline-block width: except 'auto' height: except 'auto' zoom: except 'normal' overflow: hidden | scroll | auto overflow-x/-y: hidden | scroll | auto position: fixed min-width: any value max-width: except 'none' min-height: any value max-height: except 'none' writing-mode: tb-rl /* only for MS */ 

following css property will clear hasLayout:

 width: auto; height: auto; max-width: none; /* IE7 */ max-height: none; /* IE7 */ position: static; float: none; overflow: visible; zoom: normal; writing-mode: lr-t; 

In one selector, following css will not set hasLayout=false:

 .element { display:inline-block; display:inline; } 

inline-block:

 `.container { zoom:1; display:inline; } 

transparent color:

 .element { border-color:pink/* rarely used color */; filter:chroma(color:pink); } * notice: the filter will cause disappeared of absolute element which in relative container 

body background color:

 body { /* Faild: Sometime, it will not render whole page by gray color */ background-color: gray; } * html { /* Success! */ background-color: gray; } 

IE6-7 ul.dropdown-menu must add this style: *width:explicit-width;

 /* for example */ *width:180px; 

Support & Contact

If you have some patch for these library, Please send to: ddouble.cn@gmail.com

Thanks.

About

Bootstrap IE6 Compatible Library

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors