#36 bug
cwolves

setOpacity should not be changing element.style.zoom

Reported by cwolves | April 22nd, 2008 @ 03:08 AM

Prototype 1.6.0.2

Lines 2240 explicitly sets zoom to 1 of, I believe, any offsetParents that have position==static when the child also has position==static on positionedOffset & viewOffset calls.

Okay, this is causing an issue. Setting zoom:1 will sometimes change the rendered height of a container. I have no clue why, it's probably an IE bug.

I'm not sure why zoom:1 is being set here, probably to get around yet another IE bug. If it's possible, either reverting zoom or doing whatever this is doing another way would be great :)

Comments and changes to this ticket

  • Juriy Zaytsev

    Juriy Zaytsev April 22nd, 2008 @ 04:43 AM

    Could you provide us with a simple failing test case?

    Thanks.

  • John-David Dalton

    John-David Dalton April 22nd, 2008 @ 06:17 AM

    this is totally related to this bug

    "IE's positionedOffset viewportOffset TR/TD bug (content disappears)"

    http://dev.rubyonrails.org/ticke...

  • Tobie Langel

    Tobie Langel April 22nd, 2008 @ 11:43 AM

    • → State changed from “new” to “bug”
  • Andrew Dupont

    Andrew Dupont April 22nd, 2008 @ 10:59 PM

    I don't know if this has anything to do with the Trac ticket linked above, but we set "zoom: 1" in order to trigger hasLayout in IE. This often alters the dimensions/offsets of a container, but (in all cases I'm familiar with) the original dimensions/offsets were *incorrect*, and setting hasLayout fixes them.

    If that's not true, a test case would be immensely helpful.

  • John-David Dalton

    John-David Dalton May 18th, 2008 @ 11:54 PM

    I have tried testing this and could not reproduce, it turns out the content disappearing issue was related to changing an element from position "static" to "relative" inside a TD tag. This caused the image inside the div to disappear (this is unrelated to the relativize or absolutize because they assume you are wanting to change the positions accordingly.

    Read my follow up response in the mailing list:

    http://groups.google.com/group/r...

  • Thomas Fuchs

    Thomas Fuchs May 19th, 2008 @ 04:05 PM

    To clarify why zoom is set: zoom: 1 switches over the element to use IE's alternate (and more standards-compliant) rendering engine that supports setting opacity (at least on IE6). Setting opacity on elements not using the alternate rendering (for some reason or other) doesn't do anything.

Please Login or create a free account to add a new comment.

You can update this ticket by sending an email to from your email client. (help)

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

The Prototype JavaScript library.

Shared Ticket Bins