[Top]
   
The colors of this site are rendered correct in MS IE 4.0+, Opera 3.6x+ and Netscape 6.0+/ corresponding Mozilla browsers. This site works overall best with the newest Opera and Mozilla browsers (details). Also Netscape 6.1+, MS IE 5.5+ for Windows, MS IE 5.0 for Mac and new NeoPlanet browsers render this site quite well. The presentation is poor with Netscape 4.x and it has some clear rendering errors. It doesn't render either advisory titles of some elements and all internal links don't work.

Look at also other topic groups, which I have done!
You can return to this topic group by using this menu and the link Table of topic groups in the top of the page.
 
 
Search:
[Help]

Frames in Opera browsers

Topics

Common

I use in these pages the same frameset system as in other pages in order to discuss with you exactly what I mean.

Resizing

HTML standards does have the value "NORESIZE" to the element FRAME in framedocuments. MS IE 4.x allows to resize some frames with value frameborder="0". Opera 3.6x+, MS IE 5.x+ and Mozilla 5.0 don't allow to resize frames, if there is no border value. Using frameborder="1" frames can resize - but this value cause often ugly result. Useful however in some cases, but using nested frameset and trying to keep relative good appearance can't use to all frames. The same problem is however with many browsers and this matter is not a bug.

Frame borders

First I mention about practically an insignificant matter, which is also in Netscape and MS browsers. The value "frameborder=0" should be according to the standards of W3C needed only in <FRAME...> but it is also needed in <FRAMESET...>. In order to get proper displaying to all browsers it is sensible to add also border=0 to both places if the intention is, that there is no visible borders and extra space between frames (without this definition NS displays white 1 pixel border between frames).

Displaying nested framesets

In all matters, which I have mentioned in previous paragraphs has nothing especially compared to other browsers. But the handling of nested framesets in Opera cause problems in certain situations.

I have no difficulties with 1024x768 and with 800x600 the situation is not very bad. But in 640x480 is terrible difference between Opera 3.6x+ and MS IE 4.x+ displaying complex framesets! Compare these images and you can get to start and you can understand my complains:

MS IE 4.x with 640x480Picture in new window Opera 3.60 with 640x480Picture in new window

You can test everything by scaling the window starting 1024x768 and trying to scale the window approximately to 800x600, 640x480 and 400x300. You can see everything just in this page! The system is exactly the same in this page except some file names and different directory references. I have also screen capture files from all resolutions.

In my mind Opera doesn't handle frames according to the standards of W3C organisation. At least it handles them quite differently way as MS IE 4.x/5.0 and Netscape 4.04 and earlier versions of Netscape (I have not tested newer Navigator versions but I suggest them to work at the same principle as earlier versions). The difference is dramatic in small screen sizes. Opera handles almost right frames in my home page in 1024x768 (that's why i put this resolution to my pages concerning Opera and how my pages are best viewed) but this resolution is the only resolution, when Opera handles them quite the way I have them designed and how MS IE 4.x, MS IE 5.0 and Netscape 4.04 displays them. I compare now Opera to Netscape 2.02 and MS IE 4.x, MS IE 5.0 (I don't have just now any Netscape 4.x installed). There is two point of view, how Opera works in my mind incorrectly.

MS IE 4.x/5.0 and Mozilla 5.0 (also earlier versions of Microsoft and Mozilla) tries to keep original width and height values, which the designer has been set and use the available screen space according this principle. This is the main principle!

I had once very many level framesets (I have taken today one level off) and I explain to you how IE and NS handled them:

1) Invisible level

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<FRAMESET border="0" frameborder="0" ROWS="*,1200,*">
<FRAME name="Creator-ylareuna" scrolling="no" border="0" SRC="./Navigoinnit/Frame_ala-creator.html" MARGINWIDTH="0" MARGINHEIGHT="0" frameborder="0">
<FRAME name="Creator" scrolling="no" border="0" SRC="index-perustaso.html" MARGINWIDTH="0" MARGINHEIGHT="0" frameborder="0">
<FRAME name="Creator-alareuna" scrolling="no" border="0" SRC="./Navigoinnit/Frame_ala-creator.html" MARGINWIDTH="0" MARGINHEIGHT="0" frameborder="0">
</FRAMESET>

First of all - what are values "9*" and "10*"? They are values for free space, which doesn't have % or pixel -values. But if there is no free space? In my mind and Microsoft and Netscape agree with me - the value must be ignored! But Opera Software does have quite different opinion about this matter!

When I have set the value 1200 and I have only about 600 pixel width, IE and NS doesn't display this, because they cannot reach the value 1200. Opera displays a little the frames Creator-ylareuna/Creator-alareuna even if it should not to do so, because Opera use another principle. Opera tries always to scale frames and threats * -value as it would somehow defined with pixel or % value - and that's in my mind incorrect!

In this case this doesn't have any matter for the whole system. I use this level to present different kinds of frameset styles and I use a pop-up window as a remote controller to show how different frame sets works (but this presentation doesn't work with Opera, because it handles pop-up windows with different principles as IE and NS). In ordinary pages there is no need to use the creator level frame set and normally framesets could be started from next level.

Mozilla 5.0 displays in all levels according to the same principles as MS IE 4.x/ 5.0 and previous versions of Mozilla.

2) Basic level:

This level all frames should be displayed with 1024x768 resolution with all browsers

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<FRAMESET border="0" frameborder="0" ROWS="9*,480,10*">
<FRAME name="ylareuna" scrolling="no" border="0" SRC="./Navigoinnit/kuukausi.html" MARGINWIDTH="2" MARGINHEIGHT="0" frameborder="0">
<FRAME name="valitaso" scrolling="no" border="0" SRC="index-valitaso.htm" MARGINWIDTH="2" MARGINHEIGHT="0" frameborder="0">
<FRAME name="alareuna" scrolling="auto" border="0" SRC="./Navigoinnit/Frame13fala.html" MARGINWIDTH="2" MARGINHEIGHT="0" frameborder="0">
</FRAMESET>

Okay - everything is okay with Opera, NS and IE if the user does have 1024x768 display and he use full window. NS and IE tries to keep values, which I have given and they display the defined height value as 480 only with 800x600 or greater values. IE and NS displays the whole available height and my pages look out like this:

IE 5.0 with 800x600Picture in new window

Opera displays them worse, but pages can be however browse quite well as you can see from this image:

Opera 3.60 with 800x600Picture in new window

But problems begins from 640x480 with Opera. In 640x480 they display the available screen area - and they work correctly. But Opera scales the area - and the result is that the center area is extremely low - this is not my intention. There is not any help of the scaling. My main intention was to hide top and bottom frames from 640x480 because there is not enough space to show them properly - but Opera reveals them. The basic principle is totally different and Opera destroys my main intention! I have already shown how my pages works with 640x480 and you can look again if you want:

Opera 3.60 with 640x480Picture in new window

In Finland many designers use this method to show the center are same to 640x480, 800x600 etc. Look at eg. CredoNet (www.credo.fi) and Sidus (www.sidus.fi). CredoNet would say, that they doesn't need Opera, because it destroys the basic idea of the designing - the center of pages look out similar to all resolutions. The intention is the same as using pop-up windows. They have always the exact height and width values! This intention might be just Finnish - but in my mind Finnish page design is the best in the world!

The pages of CredoNet are primary designed to 800x600 resolution so that on the the top and bottom there would be not seen frames or frames are quite minimal. The design principle is then quite the same, which I use in vertical level and this screen capture file can show also design principles of CredoNet and Framestory (www.framestory.com): IE 5.0 with 800x600Picture in new window

Mozilla renders my pages with 800x600, 480x640 and 400x300 quite the same way as IE 5.0 except that it renders the horizontal position of the center are a little bit differently. The difference is not however big and I doesn't cause great problems like Opera 3.60! I could not get exact test, because the new Mozilla doesn't handle javascripts properly (pop-up windows don't work at all).

It looks out for me, that for in the mind of Opera Software these kind of framesets, which I have developed, should not exist at all and the browser must exchange the values more sensible - but who has given Opera the right to do so! It is more common to make framesets like this <FRAMESET rows="90,*,90"...>. Opera seems to handle rows="*,425,*" as if would be defined <FRAMESET rows="60,*,60"...> and if you look 400x300 pixel display and compare it to Mozilla 1024x768 the bottom and top frame is almost as high in all resolutions. But Opera doesn't however handle nested framesets in any way systematic. The height of the bottom and top frames in not calculated systematically according %-values neither Opera keep them exactly the same pixel-values - it is impossible beforehand to say, how Opera handle nested frameset in different windows, because of clear system. IE and NS have clear system!

But because top and bottom frames are quite the same size in all resolution, the difference is greater and greater when you shrink my pages smaller and smaller. Opera tries keep following frames big and Opera lets them at least about 60 pixel height-value even if they have values "9*" and "10*" :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<FRAME name="ylareuna" scrolling="no" border="0" src="./Navigoinnit/kuukausi.html" marginwidth="2" marginheight="0" frameborder="0">
<FRAME name="alareuna" scrolling="auto" border="0" src="./Navigoinnit/Frame13fala.html" marginwidth="2" marginheight="0" frameborder="0">
</FRAMESET>

And the final difference between MS IE 4.x and Opera is this. This difference is primary from the basic level frameset (but partially also the next level nested frameset):
MS IE 4.x with 400x300fPicture in new window - Opera 3.60 with 400x300Picture in new window

3) Intermission level

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<FRAMESET border="0" framespacing="0" frameborder="0" COLS="97*,555,100*">
< FRAME name="reuna1" scrolling="auto" border="0" SRC="./Navigoinnit/Frame_vasen.html" MARGINWIDTH="10" MARGINHEIGHT="0" frameborder="0">
<FRAME name="keskialue" scrolling="auto" border="0" SRC="index-keski.html" MARGINWIDTH="2" MARGINHEIGHT="0" frameborder="0" >
<FRAME name="reuna2" scrolling="no" border="0" SRC="./Navigoinnit/Frame13c-yleinen.html" MARGINWIDTH="2" MARGINHEIGHT="0" frameborder="0" >
</FRAMESET>

Again IE tries to keep the value "555" and they display the center area as I have designed. because I have designer the center are to work below 640, it works also with Opera, But again, because Opera tries to count the value from the whole system, it decrease the value in the center area below 555 pixel and reveal incorrectly the frame reuna1 and display too narrow the navigation frame in frame reuna2 (the navigation frame is in another frameset and is the left frame of that frameset). I don't like this and in my mind Opera goes against HTML standards.

I designed my frame to work 400x300 future devices. because MS IE tries to keep the value 555 and cannot reach it, it use the available value of the 555 that is the whole area. Because MS IE aloud to resize the left navigation frame, there is no horizontal scroll bar in 400x300 display if the user collapse the left navigation frame like in this picture:
MS IE 4.x with 400x300Picture in new window

If you look at the same size of window with Opera without zooming you cannot see anything sensible:

Opera 3.60 with 400x300Picture in new window

The difference in horizontal level is not however so dramatic as in the vertical level, but differences in basic level + intermission level are however extremely inconvenient for me!

I give now you the whole series and if you browse with 1024x768 you don' need exchange browser even if you don't have Opera, because all common browsers display quite the same way. But you should not have hot /favorites list or channels in left or right - the whole width should be in use like in the first picture. You might use smaller screens and I have also 1:2 or 1:1 screen capture files from all resolutions. Remark that height-values to smaller screens have been calculated so, that in MS IE 4.x is used all toolbars! Removing toolbar rows or using full screen mode there can be more vertical space in the actual browser window and all browsers (including Netscape) can give more vertical space. He is the list, which does have screen capture files from different pages at different dates, but the frame system itself is always quite the same:

If I try to get with Opera the text to be displayed without horizontal scroll bar, I must scale! And if I must scale, the text looks out worse. It would be much better in this case, if opera first tries keep values like IE and allows resize frames and after this operation it could scale the screen taking account the values of the whole system.

In 400 pixel width it sensible to decrease the 555 according % values. As you see 80% of 555 is 444. Then with 80% Opera should display the same width as 100% but only the content of the frame is scaled. 70% of 555 is 388 - now the width of the center frame should be exchanged. This is in my mind of the right logic!

By the way - the right navigation frame belongs to SRC="./Navigoinnit/Frame13c-yleinen.html" (there is yet own frameset in order to display the text in the right in the designed position).

3) Center area

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
<FRAMESET border="0" frameborder="0" COLS="68,*">
<FRAME SRC="./Navigoinnit/Frame13t.html" name="vasen" marginwidth="2" scrolling="no" border="0" frameborder="0">
<FRAME name="keski" scrolling="auto" border="0" SRC="index2.html" MARGINWIDTH="10" MARGINHEIGHT="0" frameborder="0">
</FRAMESET>

This works with IE and NS well and almost well also with Opera in 640x480. because of the incorrect scaling, opera displays the right navigation (from the right of the center area and own the name="reuna2" ) frame too narrow, but however this works also with 640x480. But this doesn't work well in 400x300.

I have recommend that Opera could designing a browser to small 400x300 pixel devices. Because it is probably that MS makes also an applied version of browser to these devices, also Opera should go according to the same display principles as IE (I have not tested how the browser of Sun Microsystems works). Two different display principle is quite inconvenient especially in small devices! Opera should go according the same principles.

It is impossible to make proper framesets to Opera and IE because of the different principles. Web designers need browsers, which use as much as possible same rules. I hate this feature more than any other feature in Opera 3.6x+!

[Top]
   
Copyright Tapio Markula 1999-2003, Salo, Finland
(table of topic groups, E-mail - (add to beginning of the e-mailaddress my name, Tapio Markula, separated with a comma)
(@dnainternet.net)
Not into the public use without my permission. If you want to use my pages at some way read the copyrights.
Get Expression!

An editor for creating standard-compliant HTML and XML documents. Documents of this site have in most cases checked with HTML Tidy by Dave Ragget (W3C) and randomly with the official MarkUp Validation Service of W3C. The syntax of most pages in this site should conform with the XHTML 1.0 specification of W3C. Test this page!
Information about browsers, which render or print this site best.
[Get Opera!] [Get Mozilla!]
Mixed technical pages has been last edited 28.01.2004