【问题标题】:Some CSS problems to vertically extend the content of a div until the end of its container in a layout垂直扩展 div 的内容直到布局中其容器末尾的一些 CSS 问题
【发布时间】:2013-07-07 04:44:19
【问题描述】:

我正在从 psd 文件开始创建 HTML\CSS 表格布局,但我遇到了一个小问题。

这是我将获得的最终结果:

这是我的 HTML\CSS 结果:http://onofri.org/example/WebTemplate/

如您所见,我的左侧边栏有一些问题,因为最后一个蓝色框(#c div)没有垂直延伸到 #container div 的末尾strong> 与页脚背景图片不匹配。

我找到的pnly“解决方案”(但这不是正确的解决方案)是增加我的侧边栏**#c div的min-height*属性的值.例如,如果我将这个值从原来的 234px 增加到 334px,它似乎工作得很好。

但这不是一个真正的解决方案,因为如果页面的内容变化量发生变化,这个问题会再次出现。

我该如何解决?我该怎么做才能将#c div 的高度延长到其容器的末尾

Tnx

安德烈亚

【问题讨论】:

  • 首先,你有两个不同的height属性,去掉其中一个。
  • 你有很多看起来拼凑在一起的代码。例如,在#sidebar 下,您有三个不同的box-shadow 属性,当它更容易向右浮动时,它也会向左浮动。与您的原始帖子无关,但认为我应该让您知道。
  • @BeatAlex 我认为使用 float: right 代替 float: left 是无关紧要的。而且,对于#sidebar div,我只有一个 box-shadow(其他的都被评论了......)
  • 高度受左侧内容影响。即使没有内容,<hr> 也需要删除才能到达页脚。
  • @BeatAlex 我已经从 index.html 文件中删除了
    标记,但我没有得到任何结果,我是否需要在我的代码中做一些其他更改? Tnx

标签: html css layout xhtml


【解决方案1】:

这是我有时会使用的一个小技巧:

您需要做的是在容器 div 中同时包含 #content 和 #sidebar div。你告诉容器 div 有一个“clearfix”类,它会拉伸到最高列的高度。然后,如果您想让每列的背景看起来像延伸了整个长度,您可以为容器 div 提供背景图像。

例如,像这样的 1 像素高的重复背景可能会起作用:http://i.stack.imgur.com/W84Xa.jpg

CSS:

.clearfix:after{
content:”.”;
display:block;
clear:both;
visibility:hidden;
line-height:0;
height:0;}

.clearfix{
display:inline-block;
}

html[xmls].clearfix{
display:block;
}

*html.clearfix{
height:1%;
}

#container{
width:770px;
}

#content{
width:542px;
float:left;
}

#sidebar{
width:228px;
float:left;
}

HTML:

<div id="container" class="clearfix" >

<div id="content">
Content Div Text
</div>

<div id="sidebar">
Sidebar Div Text
</div>

</div>

【讨论】:

  • mmm 我不知道这对我来说是否是一个好的解决方案,因为对于阴影我不使用背景图像而是 CSS3 box-shadow 标签
猜你喜欢
  • 2023-03-09
  • 2015-02-26
  • 1970-01-01
  • 2017-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-16
  • 1970-01-01
相关资源
最近更新 更多