Opened 4 years ago

Closed 4 years ago

#1486061 closed Bugs (fixed)

Scrollbar spawns over attachment column (IE6/7)

Reported by: Technetux Owned by:
Priority: 5 Milestone: 0.3-stable
Component: User Interface Version: 0.3-rc1
Severity: normal Keywords: scrollbar ie messagelist width
Cc: ziba, ksteinhoff, suporte@…

Description

Hello,

In IE6 and IE7 the scrollbar doesn't shift the messagelist table to the left when it appears, instead it puts itself over the attachment column.

This has to do with setting #messagelist's width to 100%, however, when it it set to auto it will correctly adjust the table width when it spawns but it doesn't reset itself back to full width when the scrollbar is hidden again.

To fix that I added a simple css expression to set the width of the messagelist table to 100% if the scrollbar doesn't appear and auto if it does.

Fix: skins/default/iehacks.css

#messagelist
{
	width: expression((document.getElementById('mailcontframe').childNodes[0].clientHeight > document.getElementById('mailcontframe').clientHeight) ? 'auto' : '100%');
}

Change History (9)

comment:1 Changed 4 years ago by alec

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in [f4360201]

comment:2 Changed 4 years ago by Technetux

  • Resolution fixed deleted
  • Status changed from closed to reopened

Thanks for the speedy update!

It seems, however, that it is still broken in IE7. Changing "document.documentElement" to "this" seems to make it work in IE6 and IE7.

width: expression((this.clientHeight > this.parentNode.clientHeight) ? 'auto' : '100%');	

Thanks!
Ryan

comment:3 Changed 4 years ago by alec

I'm testing with IE7 and when I use 'this' then it isn't working for all folders. Strange. With [f4360201] on IE7 everything is ok for me.

comment:4 Changed 4 years ago by Technetux

Hey alec, sorry I should have been more clear in my last comment, by broken I meant there is a new issue. There should now be a gap left behind in the scrollbar's place when you make the scrollbar disappear.

Also, when using 'this', are you getting a script error when trying other folders, perhaps due to a plugin?

Thanks, Ryan

comment:5 follow-up: Changed 4 years ago by netbit

  • Cc suporte@… added

This problem is associated with changeset 2838 (http://trac.roundcube.net/changeset/2838) and ticked #1486045.

Why not revert changeset 2838? Messagelist was ok here in IE6/7/8 before this change.

comment:6 in reply to: ↑ 5 Changed 4 years ago by Technetux

Replying to netbit:

This problem is associated with changeset 2838 (http://trac.roundcube.net/changeset/2838) and ticked #1486045.

Why not revert changeset 2838? Messagelist was ok here in IE6/7/8 before this change.

Try shrinking the width of the messagelist so that a subject's text will overflow in IE8 with that patch reverted. If you're seeing what I'm seeing, the entire messagelist should now be overflowing the #mailcontframe.

comment:7 Changed 4 years ago by netbit

  • Cc suporte@… removed

One possible and simple solution is to revert [dd1dee4f] and [f4360201], and change "iehacks.css" to:

#messagelist, 
#subscription-table
{
  width: inherit;
  *width: auto; /* IE6/7 conditional hack */
}

Just IE6 and IE7 understand * conditional hack.

comment:8 Changed 4 years ago by netbit

  • Cc suporte@… added

comment:9 Changed 4 years ago by alec

  • Resolution set to fixed
  • Status changed from reopened to closed

Fixed in [a5c1ecea]. I've made a change in your proposition because it breaks subscription-table on IE8. Tested with IE8 and IE7.

Note: See TracTickets for help on using tickets.