Opened 15 years ago
Closed 15 years ago
#3414 closed Bug (fixed)
Combo boxes are incorrectly positioned in IE quirks mode.
Reported by: | Martin Kou | Owned by: | Martin Kou |
---|---|---|---|
Priority: | Normal | Milestone: | CKEditor 3.0 |
Component: | UI : Floating Panel | Version: | SVN (CKEditor) - OLD |
Keywords: | IE Review+ | Cc: |
Description
To reproduce:
- Remove the doctype line from sample.html.
- Open replacebyclass.html in IE6.
- Open any combo box - e.g. the style combo.
- The position of the combo menu is a few pixels off from where it should be.
Other browsers are not affected.
Attachments (1)
Change History (5)
comment:1 Changed 15 years ago by
Owner: | set to Martin Kou |
---|---|
Status: | new → assigned |
Changed 15 years ago by
Attachment: | 3414.patch added |
---|
comment:2 Changed 15 years ago by
Keywords: | Review? added |
---|
comment:3 Changed 15 years ago by
Keywords: | Review+ added; Review? removed |
---|
There is no need to cache CKEDITOR.env.ie and CKEDITOR.env.quirks. The first is a special case which is automatically changed to a single char by the packager, while the second is used only once. Please fix it before committing.
comment:4 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed with [3247].
Click here for more info about our SVN system.
The problem comes from how IE treats the body element in quirks mode - it treats that as the browser window view pane itself. Worse, by "view pane" it includes the IE window border as well.
We're getting this 2px error because IE quirks is reporting the 2px IE windows border as clientTop and clientLeft of the body element. They should be disregarded because we can never draw outside of the window borders anyway. Also, a bit of experiment shows that we can never have a non-zero offsetTop or offsetLeft for body in IE quirks mode because we can't move the browser window's view pane in JavaScript.
So the whole if statement at L1137 - L1141 in element.js should be ignored for IE quirks mode.