gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 14:07:20 25 4
gpt4 key购买 nike

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

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

虽然“联系”页面很好(同样通过“布伦特伍德”网站):https://www.inside-guides.co.uk/feedback.asp .

它们都使用使用 javascript 和 CSS 的相同模板,但是当我查看代码检查器时,它会为有效的“联系”页面上的#left-nav 和#middle 提供完整的页面高度值。

javascript 是为了使每一列的高度相同 = 即到页脚的顶部,但它在登录页面上不起作用。

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

JS代码放在每个页面的head.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 code placed in the head.css on each page

不确定这是否是拼写错误,但如果不是,则不能将 js 放入 css 文件中。在您的 html 文档的头部似乎也没有链接 css 文件。然而,在进一步检查中,您似乎指的是 headCSS.asp 模板包含,在这种情况下,上述几点无关紧要。

适合高度 100%或任何基于百分比的高度, parent 必须有一个定义的高度,这使得它基本上不是很有用,因为无论如何你都需要知道高度值。因此,如果您可以将其设置为固定高度,那将是我的建议。

回答不过我建议 <table>用单行和多列做你正在看的事情,使用一个会避免很多 hacky css 和/或 js。

关于javascript - 使用 JS 的 100% 页面高度在某些页面上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9805871/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com