If you happen to have your web-browser maximse…maybe you want to reize it different sizes. The effect is something like the whole frame is being squeezed if the window’s width is not wide enough to show the whole frame.
Is there anyway to fix this? I tried every trick I knew of (absolute width, relative width, percentage and etc.) or is a side-effect of using frame?
I would recommend not using frames, and instead using DHTML to build the same look. Frames bring with them all kinds of usability problems.
I’m not sure I understand what you are trying to do. Do you WANT the frames to size to the maximum size of the window? Or do you not want them to shrink if the browser window size is reduced?
Essentially I think the problem you are running into is that you want the left_frame to be set in width, yet when you ‘resize’ your browser window you also want the left_frame to size relative to the size of the overall browser window.
You can’t have both. It’s either fixed or relative.
You can set your left_frame to be a relative size (I think) by setting the frame properties to be <frameset cols=“20%,*”>
This will allow the left frame to resize. However, as you have a fixed background image in your cell, you will find that when the browser resizes it may ‘hide’ some of your background image.
You may want to have your left_frame set up similar to your main_frame which has component pieces which may resize better.
You are definately going to run into problems because your left_frame contains a gackground image in the table and you will always have issues with resizing it. The image will NOT resize when the browser does.
To be honest i’d avoid using frames if at all you can/ they are bloody problematic at the best of times, and nine times out of ten you can create a better design without them.
Out of interest what is it you are trying to achieve? i.e. what are you hoping to gain as a benefit from using a frameset.
As a rule, frames suck, and you should try to avoid them. Far better to do your page design in a single window, and just repeat the navigational elements on each page.
However, if you insist, the best you can do is fix the widths - don’t use a % or a *, use an exact pixel size.
Thanks for the advices. The only reason why I am using frames is so that I could quickly add/change links on the left and top part of the page without going through numerous pages changing/add links or new content.
(And no, the server doesn’t allow any server-side processing, so ASP and PHP are out of the way).
I am thinking of using Dreamweaver 4 to ‘automatically’ updates pages (at least before I upload them).
Build your link lists and navigation elements as structures in a javascript file, and include it on each one of your pages.
Build a template of what each page will look like, and use something like Moveable Type to publish your web page when you change the template.
Build you page content in XML, and build a template of the page in XSL, then use a little XSL->HTML converter utility to generate your web pages when you make changes.
I do this on the corporate site I run, and it’s very handy. Unfortunately, it does tend to slow the page loading down as the browser parses the JavaScript.