【问题标题】:Matching column height in 2column layout2列布局中的匹配列高
【发布时间】:2011-02-23 21:33:55
【问题描述】:

我的网站使用 2 列,但我能够使列高度匹配的唯一方法是使用固定高度,但这会出现“滚动条中的滚动条”问题,其中内容列必须具有overflow: auto; 用于查看所有内容,但如果用户的浏览器没有立即显示整个页面,则页面和内容列都有滚动条。

我想做的是将侧边栏列的高度与内容列的高度相匹配。 我正在考虑在页面加载时设置一些 javascript 来执行此操作,但我不禁想到有更好的方法。

有问题的网站是http://www.pcbuddies.co.za(供参考)。

任何建议将不胜感激。 提前致谢!

编辑 1
应用下面的 JQuery 解决方案后,我对结果很满意(大部分)。 我确实遇到问题的地方是每个页面(导航栏)的第一部分(侧边栏)小于另一个部分see @987654322@

在这种情况下,内容会溢出网站的页脚。

【问题讨论】:

    标签: html css


    【解决方案1】:

    我写了一个解决方案,但我在此站点 here 上解释了一个更好的示例,我发现它非常有效。它使用一种技巧来创建等高的列,但效果很好 - 无需任何 javascript。

    下面是它的一个例子:example

    【讨论】:

    • 我见过这个......每当我尝试应用它时我一定做错了,因为它似乎永远不会工作
    • 我添加了一个应该有意义的示例。
    • 像大多数人一样,我建议在您不必使用 javascript 时避免使用它,所以我建议尝试这种方法 - 如果它不起作用 - 给我看代码,我可以看看你哪里出错了。我自己在网站中使用过这个解决方案。
    • 我将在接下来的 24 小时内编写一个虚拟站点,然后为它打开一个问题。我将在此处的评论中添加指向该问题的链接。
    【解决方案2】:

    其他解决方案对我来说有点太复杂了。这个怎么样:

    将两列都设置为透明背景,并为它们创建一个容器,并将所需背景设置为 alpha 透明 png。

    也许不是“最干净”的解决方案,但绝对是一个简单的解决方案。看看你链接的网站,这就是我想要的。

    【讨论】:

      【解决方案3】:

      我总是因为提出这个建议而感到悲痛,但我发现最好、最可靠的方法是利用 Javascript(在本例中为 jQuery)使所有列的高度与最高列的高度相同。请参阅我的实时示例。

      现场演示 http://jsfiddle.net/T9VUc/1/

      如果您想在页面加载时执行此操作,请尝试此操作。请记住,此过程使用jQuery,因此您需要将其包含在您的页面中

      var tallest=0;
      
      $(document).ready(function() {
          $('.col').each(function(){
              if($(this).height() > tallest)
                 tallest = $(this).height();
          });
          $('.col').css('height', tallest + 'px');
      });
      

      页面加载时的现场演示 http://jsfiddle.net/T9VUc/2/

      更新

      根据您给我的网址,我建议像这样将<div style='clear:both'></div> 添加到您的第二个 div 的末尾...

      <div id="Side" class="col">
          ...
      </div>
      <div class="content col">
          ...
          <div id="network" style="display: none;">
              ...
          </div>
      
          <div style='clear:both'></div>
      </div>
      

      【讨论】:

      • 由于很多导航都是基于 javascript 的(左侧的侧边栏),我认为添加更多内容并没有什么坏处,所以我接受了这个作为答案。
      • 只有1个小问题...如果你去http://www.pcbuddies.co.za/Services/Default.aspx并点击左边的Hardware Repair项目,你会看到它
      猜你喜欢
      • 2010-10-15
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      相关资源
      最近更新 更多