繁体   English   中英

使用Javascript扩展侧边栏高度以等同内容高度

[英]Extend Sidebar Height to equate Content Height Using Javascript

我有一个简单的javascript函数,它意味着增加我的侧边栏div的高度,使其等于内容div的高度。 这就是我这样做的方式....

使用Javascript:

<script type="text/javascript">
function absar(){
document.getElementById("sidebar").style.height = document.getElementById("content").clientHeight;
    }</script>

HTML:

<body onLoad="absar()">
<div id="sidebar" style="border:1px solid red">Few content</div>
<div id="content" style="border:1px solid red">
some content <br>
some content <br>
some content <br>
some content <br>
some content <br>
</div>
</body>

此代码将使侧边栏的高度等于内容div的高度。 ** 好**

但是当我在wordpress中粘贴相同的代码(其中我有相同的id值contentsidebar )就在body标签之后并向body提供onload="absar()"时它什么也没做,什么也没做。

此时,当我设计几乎整个布局时,我不能使用像Faux Columns或table等新的解决方案。

最后一个愚蠢的CSS技巧工作和完美,....

为我的侧边栏我设置

padding-bottom: 5000px;
margin-bottom: -5000px;

以及包含侧栏和内容div的容器。 我设置

overflow: hidden;

它运作得很完美 - 就像我想要的那样,请告诉你如果你知道这个伎俩的任何缺点,......如果我发现了一些,我会发布在这里,

下面是示例代码

HTML

<div class="main">
<div class="sidebar">Few Sidebar Widgets</div>
<div id="content"> 
Bang Bang Content <br>
Bang Bang Content <br>
Bang Bang Content <br>
</div> <!-- End of Content -->
</div> <!-- End of Main -->

CSS

#main{
overflow:hidden;
}

#sidebar{
padding-bottom: 5000px;
margin-bottom: -5000px;
}

继@Absar的回答,我可以添加我的改编吗?

我这样做了:

.container { 
  overflow: hidden; 
  .... 
} 

#sidebar { 
  margin-bottom: -101%;
  padding-bottom: 101%; 
  .... 
} 

我做了“101%”的事情,以满足某人可能在高度超过5000px的巨大屏幕上观看网站的可能性(超罕见)!

但是,Absar很棒的答案。 它对我来说很完美。

出于多种原因,这应该通过使用适当的CSS和HTML标记来解决,而不是通过Javascript来解决。 主要原因是您的网站逻辑和表示层之间的分离。 CSS仅用于可视化布局,简单的表示问题应该在CSS域中解决。 这似乎就是你的问题。

我建议你看看这篇CSS-tricks文章 它具有启发性和彻底性。

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM