Tengo un problema al mostrar un iframe en una página.El menú no se muestra correctamente una vez llamado desde iframe
Tengo un marco superior que muestra un logotipo en la parte superior (lo cual está bien) Tengo un menú en el lado izquierdo de la página. (con el que estoy teniendo un problema) Tengo un marco a la derecha del menú que mostrará mi página.
Mi página index.htm es cargar todos los marcos y se ve así:
<script language="javascript">
function win_resize()
{
var _docHeight = (document.height !== undefined) ? document.height : document.body.offsetHeight;
document.getElementById('leftMenu').height = _docHeight - 90;
}
</script>
<body onresize="win_resize()">
<!-- Header -->
<div id="header">
<div>
<img src="logo.png">
</div>
</div>
<!-- Left Menu -->
<div id="left-sidebar" >
<iframe id="leftMenu" src="menu.htm" STYLE="top:72px; left:0px; position:absolute;" NAME="menu" width="270px" frameborder="0"></iframe>
</div>
<!-- Main Page -->
<div id="content">
<iframe src="users1.htm" STYLE="top:72px" NAME="AccessPage" width="100%" height="100%" frameborder="0"></iframe>
</div>
</body>
Mi página menu.htm tiene el siguiente código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en-GB">
<head>
<link rel="stylesheet" type="text/css" href="_styles.css" media="screen">
</head>
<body>
<ol class="tree">
<li>
<li class="file"><a href="file1.htm">File 1</a></li>
<li class="file"><a href="file2.htm">File 2</a></li>
<li class="file"><a href="file3.htm">File 3</a></li>
<li class="file"><a href="file4.htm">File 4</a></li>
<li class="file"><a href="file5.htm">File 5</a></li>
</li>
<li>
<label for="folder2">My Test 1</label> <input type="checkbox" id="folder2" />
<ol>
<li class="file"><a href="status.htm">Settings</a></li>
<li>
<label for="subfolder2">test1</label> <input type="checkbox" id="subfolder2" />
<ol>
<li class="file"><a href="">file1</a></li>
<li class="file"><a href="">file2</a></li>
<li class="file"><a href="">file3</a></li>
<li class="file"><a href="">file4</a></li>
<li class="file"><a href="">file5</a></li>
<li class="file"><a href="">file6</a></li>
</ol>
</li>
<li>
<label for="subfolder2">test2</label> <input type="checkbox" id="subfolder2" />
<ol>
<li class="file"><a href="">file1</a></li>
<li class="file"><a href="">file2</a></li>
<li class="file"><a href="">file3</a></li>
<li class="file"><a href="">file4</a></li>
<li class="file"><a href="">file5</a></li>
<li class="file"><a href="">file6</a></li>
</ol>
</li>
<li>
<label for="subfolder2">test3</label> <input type="checkbox" id="subfolder2" />
<ol>
<li class="file"><a href="">file1</a></li>
<li class="file"><a href="">file2</a></li>
<li class="file"><a href="">file3</a></li>
<li class="file"><a href="">file4</a></li>
<li class="file"><a href="">file5</a></li>
<li class="file"><a href="">file6</a></li>
</ol>
</li>
</li>
<li>
<label for="folder2">My Test 2</label> <input type="checkbox" id="folder2" />
<ol>
<li class="file"><a href="status.htm">Settings</a></li>
<li>
<label for="subfolder2">test1</label> <input type="checkbox" id="subfolder2" />
<ol>
<li class="file"><a href="">file1</a></li>
<li class="file"><a href="">file2</a></li>
<li class="file"><a href="">file3</a></li>
<li class="file"><a href="">file4</a></li>
<li class="file"><a href="">file5</a></li>
<li class="file"><a href="">file6</a></li>
</ol>
</li>
<li>
<label for="subfolder2">test2</label> <input type="checkbox" id="subfolder2" />
<ol>
<li class="file"><a href="">file1</a></li>
<li class="file"><a href="">file2</a></li>
<li class="file"><a href="">file3</a></li>
<li class="file"><a href="">file4</a></li>
<li class="file"><a href="">file5</a></li>
<li class="file"><a href="">file6</a></li>
</ol>
</li>
<li>
<label for="subfolder2">test3</label> <input type="checkbox" id="subfolder2" />
<ol>
<li class="file"><a href="">file1</a></li>
<li class="file"><a href="">file2</a></li>
<li class="file"><a href="">file3</a></li>
<li class="file"><a href="">file4</a></li>
<li class="file"><a href="">file5</a></li>
<li class="file"><a href="">file6</a></li>
</ol>
</li>
</li>
</body>
</html>
Mi archivo tiene el _styles.css siguiente:
/* Just some base styles not needed for example to function */
*, html { font-family: Verdana, Arial, Helvetica, sans-serif; }
body, form, ul, li, p, h1, h2, h3, h4, h5
{
margin: 0;
padding: 0;
}
body { background-color: #606061; color: #ffffff; margin: 0; }
img { border: none; }
p
{
font-size: 1em;
margin: 0 0 1em 0;
}
html { font-size: 100%; /* IE hack */ }
body { font-size: 1em; /* Sets base font size to 16px */ }
table { font-size: 100%; /* IE hack */ }
input, select, textarea, th, td { font-size: 1em; }
/* CSS Tree menu styles */
ol.tree
{
padding: 0 0 0 30px;
width: 300px;
}
li
{
position: relative;
margin-left: -15px;
list-style: none;
}
li.file
{
margin-left: -1px !important;
}
li.file a
{
background: url(document.png) 0 0 no-repeat;
color: #fff;
padding-left: 21px;
text-decoration: none;
display: block;
}
li.file a[href *= '.pdf'] { background: url(document.png) 0 0 no-repeat; }
li.file a[href *= '.html'] { background: url(document.png) 0 0 no-repeat; }
li.file a[href $= '.css'] { background: url(document.png) 0 0 no-repeat; }
li.file a[href $= '.js'] { background: url(document.png) 0 0 no-repeat; }
li input
{
position: absolute;
left: 0;
margin-left: 0;
opacity: 0;
z-index: 2;
cursor: pointer;
height: 1em;
width: 1em;
top: 0;
}
li input + ol
{
background: url(toggle-small-expand.png) 40px 0 no-repeat;
margin: -0.938em 0 0 -44px; /* 15px */
height: 1em;
}
li input + ol > li { display: none; margin-left: -14px !important; padding-left: 1px; }
li label
{
background: url(folder-horizontal.png) 15px 1px no-repeat;
cursor: pointer;
display: block;
padding-left: 37px;
}
li input:checked + ol
{
background: url(toggle-small.png) 40px 5px no-repeat;
margin: -1.25em 0 0 -44px; /* 20px */
padding: 1.563em 0 0 80px;
height: auto;
}
li input:checked + ol > li { display: block; margin: 0 0 0.125em; /* 2px */}
li input:checked + ol > li:last-child { margin: 0 0 0.063em; /* 1px */ }
La página parece mostrar correctamente, excepto que el menú de la izquierda muestra una verificación el buey donde no debería y se debe volver a sombrear con los íconos + o -.
Si abro mi menu.htm por él es uno mismo se muestra correctamente
sin embargo, cuando veo mi página index.htm (que carga el menú en el marco flotante) que no muestra la menú correctamente como se muestra a continuación:
sin embargo, tan pronto como agregue el código siguiente se muestra el menú correctamente:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Sin embargo, no muestra la altura de mi documento correctamente utilizando mi función win_resize.
Supongo que el último fragmento de código impide que el código de altura de mi documento muestre la altura correcta.
Necesito esa función para que pueda mostrar mi marco de menú correctamente en la página.
¿Alguien sabe dónde me he equivocado, ya que funciona bien por sí mismo, pero pronto como lo llamo desde un iframe, no se muestra correctamente?
¿Utilizo el código correcto en mi función para obtener la altura completa de los documentos o hay un CSS que puedo usar para obtener la altura de los documentos?
El 'iframe del menú izquierdo' en su 'index.htm' no tiene una propiedad' height'.(Puede ser irrelevante) – Souta
No es necesario volver a usar los ids I'd = checkbox2 Los identificadores de mala práctica deben ser únicos, para eso sirven las clases y también puede ser uno de sus problemas – Dnaso