Markos Fragkakis
Markos Fragkakis

Reputation: 7761

Frameset in frameset border hell

I have a web page with lots of framesets and frames (don't ask), and I want to be able to show frame borders where the red borders appear in the mockup below (The vertical borders must be scrollable).

If I set frameborder="0" to the #outer frameset (i don't want any border to appear there), this prevents me from overriding it in the #middle frameset. Please not that there should not be a border in the #innerXXX framesets.

So, how can I show frame borders on the #innerXXX framesets? (only where the red lines are visible in the mockup)

Thanks.

P.S. Don't ask.

This is what I want to appear

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<title>Frame desperation</title>

</head>

<frameset id="outer" rows="23, *" frameborder="0" border="0">
  <frame noresize="noresize" scrolling="no" src="http://www.bing.com">
  <frameset id="middle" cols="20,30%,35%,35%" frameborder="5" border="5"  bordercolor="red" id="sizingControl">
      <frame name="minimizeBar" noresize="noresize" id="minimizeBar" scrolling="no" src="http://www.bing.com">
      <frameset id="inner1" rows="146,*,20" border-top="0" border-bottom="0" id="treePanel">
        <frame id="treeToolbar" name="treeToolbar" scrolling="no" src="http://www.bing.com">
        <frame id="treeContent" name="treeContent" src="http://www.bing.com">
        <frame id="treeStatus" name="treeStatus" scrolling="no" src="http://www.bing.com">
      </frameset>
      <frameset id="inner2 rows="146,*,20" frameborder="0" border="0" >
        <frame id="leftToolbar" name="leftToolbar" scrolling="no" src="http://www.bing.com">
        <frame id="leftDocumentContent" name="leftDocumentContent" src="http://www.bing.com">
        <frame id="leftStatus" name="leftStatus" scrolling="no" src="http://www.bing.com">
      </frameset>
      <frameset id="inner3 rows="146,*,20" frameborder="0" border="0" >
        <frame id="rightToolbar" name="rightToolbar" scrolling="no" src="http://www.bing.com">
        <frame id="rightDocumentContent" name="rightDocumentContent" src="http://www.bing.com">
        <frame id="rightStatus" name="rightStatus" scrolling="no" src="http://www.bing.com">
      </frameset>
  </frameset>
</frameset>
<noframes></noframes>

Upvotes: 3

Views: 1797

Answers (1)

tagawa
tagawa

Reputation: 4611

I don't think you can have frameborders on framesets, just on frames themselves, so the best way to do this would probably to have a single frameset containing five frames - one at the top, one at the far left and three in the middle. You give the ones in the middle a frameborder. Then each middle frame points to an separate file which has a single frameset containing three frames - top, middle bottom. In other words:

  • Frameset
    • Frame (top)
    • Frame (left)
    • Frame (inner1) - add frame border
      • Frameset (in separate file)
        • Frame (top)
        • Frame (middle)
        • Frame (bottom)
    • Frame (inner2) - add frame border
      • Frameset (in separate file)
        • Frame (top)
        • Frame (middle)
        • Frame (bottom)
    • Frame (inner3) - add frame border
      • Frameset (in separate file)
        • Frame (top)
        • Frame (middle)
        • Frame (bottom)

Incidentally, regarding the code itself, there are missing quotation marks after inner2 and inner3. Also, you shouldn't have two IDs in a single element as this could mess up any JavaScript or CSS you write. Good luck with all those frames - you have my sympathy!

Upvotes: 1

Related Questions