关于css:clear-fix not working(chrome)

clear-fix not working (chrome)

我正在为我的新项目开发一些网站模板,但是在让侧边栏填充容器高度时遇到了一些问题。我尝试了所有明确的修复,但似乎没有一个工作(在铬测试)。所以我想知道,我的代码有什么问题,或者有人知道什么是正确的方法来修复我的代码吗?这是主题代码:

HTML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
        <img src="images/logo.png" border="0" />
   
   
        Home
                ...
   


   
               ...
   
   
               ...
     


     ...
     
   
                ... text ...
   
   
                ...
   
   
   
        Some Title
   
   

   
   
        ...
   


    test

CSS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
div.container {
    overflow: auto;
    margin-left: auto;
    margin-right: auto;
    width: 900px;
    //height: 100%;
    border: 1px solid #E0E0E0;
    border-top: 0px;
    border-bottom: 0px;
}

.container {
    display: inline-block;
}
.container:after {
    content:"";
    display: block;
    height: 0;
    clear: both;
    overflow: hidden;
    visibility: hidden;
}
div.content {
    float: left;
    width: 635px;
    height: 100%;
}

div.sidebar {
    float: left;
    width: 262px;
    height: 100%;
    background-image: url("images/sidebar.png");
    background-repeat: repeat-y;
}

其中,div.contentdiv.sidebar是唯一需要等高的浮式潜水器。现在,侧边栏与它左边的浮动内容DIV的高度不匹配(它大于侧边栏)。尝试了所有明确的修复,但没有成功。我怎么修这个?


检查这个jsfiddele

我使用了你提供的HTML,只更改了CSS。我清楚地评论了我做出改变的地方

我用了和这里一样的技巧。在侧边栏和内容中添加了以下代码。

1
2
padding-bottom: 500em;
margin-bottom: -500em;

希望这会有所帮助。


height: 100%不是这样工作的(它只在容器有一个你不想要的设定高度时工作)。

您需要将重复的背景图像放在container上,而不是侧边栏本身。


准备下一次-在jsfiddle.net上创建一个演示,让人们很容易回答你的问题。

两个建议:

  • 不要使用像素来调整元素的大小。让你的设计与你的宽度百分比流动。

  • 避免在css中使用height:声明。让高度自然确定。

  • 以下是关于制作等高列的一些信息:http://css-tricks.com/fluid-width-equal-height-columns/