使用JS的100%页面高度在某些页面上不起作用
100% page height using JS not working on certain pages
我遇到了一个奇怪的问题,某些页面的中间部分没有拉伸到 100% 的页面高度,这导致没有完整的左手边框。
例如(请单击"布伦特伍德"链接并转到顶部菜单上的"登录"(https://www.inside-guides.co.uk/advertiseradmin/default.asp?。
而"联系"页面很好(再次通过"布伦特伍德"网站(:https://www.inside-guides.co.uk/feedback.asp。
它们都使用javascript和CSS使用相同的模板,但是当我查看代码检查器时,它会为 #left 导航和"联系人"页面上的 #middle 提供整页高度值。
javascript是使每列的高度=相同,即到页脚的顶部,但它在登录页面上不起作用。
我真的不明白为什么,所以使用代码检查器的任何帮助将不胜感激。
JS代码放置在每页的头部.css
:<script type="text/javascript">
matchColumns=function(){
var divs,contDivs,maxHeight,divHeight,d;
divs=document.getElementsByTagName('div');
contDivs=[];
maxHeight=0;
for(var i=0;i<divs.length;i++){
// make collection with <div> elements with class attribute "equal"
if(/'bequal'b/.test(divs[i].className)){
d=divs[i];
contDivs[contDivs.length]=d;
if(d.offsetHeight){
divHeight=d.offsetHeight;
}
else if(d.style.pixelHeight){
divHeight=d.style.pixelHeight;
}
maxHeight=Math.max(maxHeight,divHeight);
}
}
for(var i=0;i<contDivs.length;i++){
contDivs[i].style.height=maxHeight + "px";
}
}
window.onload=function(){
if(document.getElementsByTagName){
matchColumns();
}
}
</script>
100% JS 页面高度不起作用的登录页面代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--#include virtual="/System/Startup_FranchiseClient.asp"-->
<html xmlns="http://www.w3.org/1999/xhtml">
<%
EnsurePageIsHTTPS
If IsFranchiseClientLoggedIn = True then
Response.Redirect GetAdvertiserAdminHomePage
End if
%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Inside-Guides.co.uk - Advertiser Login</title>
<!--#include virtual="/Assets/Templates/Public/Franchise/HeadCSS.asp"-->
<script type="text/javascript" src="/js/common.js"></script>
<script type="text/javascript" src="/js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="/js/jquery.cycle.min.js"></script>
</head>
<body class="login" onload="javascript:document.getElementById('strUsername').focus();">
<!--#include virtual="/Assets/Templates/Public/Franchise/TemplateStart_https.asp"-->
<div class="content clearfix">
<div id="form" class="form">
<h1>Advertiser Login</h1>
<p>Welcome to the advertiser area. Please enter your login details below:</p>
<span class="ErrorText"><% = strSecurity_LoginError %></span>
<form id="form" name="LoginForm" method="post" action="Default.asp">
<input type="hidden" name="ValidateLogin" value="1" />
<label>Email
<span class="small">Email used to register</span>
</label>
<input type="text" id="strUsername" name="strUsername" value="" />
<br />
<label>Password
<span class="small">Password used to register</span>
</label>
<input type="password" name="strPassword" value="" />
<button type="submit">Log-in</button>
<div class="spacer"></div>
</form>
</div>
<p> * If you have forgotten your password, please <a href="ForgotPassword.asp">click here</a></p>
</div>
<!--#include virtual="/Assets/Templates/Public/Franchise/TemplateEnd.asp"-->
</body>
</html>
<!--#include virtual="/System/Shutdown.asp"-->
.CSS:
#middle {padding-top:7px;float:left;width:60%;border-right:1px solid #edeaec;border-left:1px solid #ede9e8;}
#middle.dir {width:78.5%;border-right:0;}
非常感谢。
JS代码放置在头部.css每页上
不确定这是否是拼写错误,但如果不是,则无法将js放在css文件中。此外,html文档的头部似乎也没有链接css文件。但是,在进一步检查时,您似乎指的是 headCSS.asp模板包含,在这种情况下,上述要点无关紧要。
对于高度100%
或任何基于百分比的高度,父级必须具有定义的高度,这使得它基本上不是很有用,因为无论如何您都需要知道高度值。因此,如果您可以将其设置为固定高度,那将是我的建议。
答但是,我建议<table>
使用单行和多列来执行您正在寻找的操作,使用一个将避免很多笨拙的 css 和/或 js。
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- css转换高度不起作用
- 更改第二次推送时不起作用的元素高度
- internetexplorerjavascript样式.高度不起作用
- iframe高度100%不起作用
- jquery .height() 在媒体查询中使用百分比高度时不起作用
- CSS 切换过渡动画,自动高度不起作用
- jScrollPane高度刷新基于我的内容(不起作用)
- 最小高度:不起作用
- 引导滚动间谍偏移高度在火狐中不起作用
- 高度在自调用函数中不起作用
- iframe 自动调整高度大小不起作用
- CSS 高度在火狐中不起作用
- 溢出:即使设置高度也自动不起作用
- 最大高度不'不起作用
- 使用JS的100%页面高度在某些页面上不起作用
- jQuery高度更改在Safari中不起作用
- 为什么css高度不起作用
- Jquery.animate 100%高度不起作用
- 为什么这个Fancybox的高度和宽度不起作用