lojjic / PIE

A behavior for Internet Explorer allowing it to recognize and render various CSS3 box decoration properties
http://css3pie.com
Other
2.79k stars 234 forks source link

The ie6-mask wrapper must die! #6

Open lojjic opened 14 years ago

lojjic commented 14 years ago

As a workaround for IE6's lack of support for transparent borders, the target element's children are wrapped within a custom "ie6-mask" element in order to hide the element's native border. This works ok for the most part, but has some serious drawbacks:

1) The DOM is invasively modified. We're mucking with the parent-child relationship, which could cause other scripts relying on that relationship to fail.

2) Pulling elements out of the DOM and inserting them elsewhere has been known to cause problems in IE6, such as form elements losing their state.

3) Elements which do not and can not have children, such as form controls, images, etc. will fail.

A better solution must be found. It's possible that this could be done with a filter, like a chromakey or something fancy with compositor.

It's also possible to do this by reducing the border width to zero and increasing the padding by the same amount, however this causes other problems: it could cause other scripts which rely on the element dimensions (e.g. animations) to fail, and it would fire an onresize event which could cause an infinite loop.

Other ideas would be greatly appreciated.

subtleGradient commented 14 years ago

Chromakey with a specific weird color might be the only real choice afaik

jrt324 commented 11 years ago

@lojjic the ie6-mask wrapper make some trouble for my project, do you have any plan to improve this feature?

lojjic commented 11 years ago

@jrt324 I don't know of a better solution.