首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用JS的100%页面高度在某些页面上不起作用

使用JS的100%页面高度在某些页面上不起作用
EN

Stack Overflow用户
提问于 2012-03-21 21:43:37
回答 1查看 164关注 0票数 0

我遇到了一个奇怪的问题,一些页面的中间部分没有伸展到100%的页面高度,这导致没有完整的左侧边框。

例如(请单击“Brentwood”链接并转到顶部菜单上的“登录”) https://www.inside-guides.co.uk/advertiseradmin/default.asp

而“联系”页面则没问题(同样是通过“Brentwood”网站):https://www.inside-guides.co.uk/feedback.asp

它们都使用相同的模板,使用javascript和CSS,但当我查看代码检查器时,它给出了‘Contact’页面上的#left-nav和#middle的整页高度值,这是可行的。

javascript使每一列的高度都相同,即页脚的顶部,但它在Login页面上不起作用。

我真的不明白为什么,所以任何帮助,也许使用代码检查器,都会非常感谢。

放在每个页面的head.css中的JS代码:

代码语言:javascript
复制
<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页面高度不起作用的登录页面代码:

代码语言:javascript
复制
<!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:

代码语言:javascript
复制
#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;}

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2012-03-21 22:44:42

放置在每个页面上的head.css中的

JS代码

我不确定这是不是一个拼写错误,但如果不是,你就不能把js放在css文件中。此外,似乎没有css文件链接在您的html文件的头部。但是,在进一步的检查中,似乎您引用的是headCSS.asp模板,在这种情况下,上面这一点并不值得关注。

对于height 100%或任何基于百分比的高度,父级必须具有定义的高度,这使得它基本上没有多大用处,因为无论如何您都需要知道高度值。因此,如果您可以将其设置为固定的高度,这将是我的建议。

但是我建议使用<table>来实现单行多列的功能,使用它可以避免大量的css和/或js。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9805871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档