Jak już powyżej @ScriptyChris wspomniał, może powinieneś przemyśleć sposób projektowania swojego layout-u i użyć elementów html semantycznie do tego przeznaczonych.
Próbowałeś wyciągną div poza tabele? (Kod nie jest "wysokich lotów", ale działa )
<body>
<table>
<tr>
<td id="head" colspan="2"><img id="openmenu" src="https://i.imgur.com/xiOimP1.png" onclick="openMenu()"/></td>
</tr>
<tr>
<td id="body">Body</td>
</tr>
</table>
<div id="nav" class="navopen">Navigation</div>
</body>
Pewna korekta w css-ie
:root {
--accent: #fcba03;
--bg: #272d30;
--bg2: rgba(39, 45, 48, 0.5);
--head-height: 25px;
}
* {
box-sizing: border-box;
}
i tu
#head {
padding: 8px;
height: var(--head-height);
background-color: var(--accent);
}
#nav {
position: absolute;
padding: 0px 0px 0px 0px;
max-width: 300px;
width: 300px;
background-color: var(--bg);
color: #ffffff;
top: calc(var(--head-height)*3.4); /* wiem, tu poszedłem na "łatwiznę" */
left: -300px;
z-index: 1;
white-space: nowrap;
transition-duration: 1s;
}
i js-ie
document.getElementById("nav").style = "transition-duration: 1s; left: 0px; padding: 8px 8px 8px 8px;";
toggleAnim = true;
}