3

这将是主要标记:

<div class="mancha">
    <div class="logo"></div>    
    <div id="content-area" class="espacio">
             <div class="eltitular">HEADER</div>
             <div class="lacarta">LEFT CONTENT</div>
             <div id="sidebar">RIGHT CONTENT</div>
        </div>
</div>

在哪里(尽管在链接中可以看到更多规则,但这是宽度)

.espacio{
    margin-left: 192px;
    background: transparent;
        width:808px !important
}
.lacarta{
        width:595px;
        float:left;
}
#sidebar{
        width:210px;
        float:right
} 

问题是 .lacarta 和 #sidebar 不是一个接一个地浮动(这只发生在 IE8 或更低版本中)

可以在这里进行测试:http: //goo.gl/ksFQI(如果您与 firefox/chrome 进行比较,您会发现侧边栏不在容器的右侧......)

我检查了 IE8 开发人员工具,容器似乎对于这两个元素都足够大。

知道我错过了什么吗?

-编辑-

当前的IE: 在此处输入图像描述

通缉(如在 Firefox 中): 在此处输入图像描述

4

4 回答 4

5

实际上,IE8 中存在一个错误,其中右浮动元素似乎清除:左。

http://blogs.msdn.com/b/askie/archive/2009/03/23/right-floated-element-in-internet-explorer-8-is-positioned-differently-than-internet-explorer-7。 aspx

如果您根本不想在 HTML 中添加任何内容,您可以稍微重构它以快速修复。首先将右浮动sidebar,即:

<div id="content-area" class="espacio">
  <div class="eltitular">HEADER</div>
  <div id="sidebar">RIGHT CONTENT</div>
  <div class="lacarta">LEFT CONTENT</div>
</div>
于 2013-04-04T14:02:31.407 回答
0

添加父容器:

<div class="mancha">
    <div class="logo"></div>    
    <div id="content-area" class="espacio">
             <div class="eltitular">HEADER</div>
             <div>
                 <div class="lacarta">LEFT CONTENT</div>
                 <div id="sidebar">RIGHT CONTENT</div>
             </div>
    </div>
</div>
于 2013-04-04T12:33:11.030 回答
0

这个jsfiddle是否修复它:http: //jsfiddle.net/hgrHq/

.lacarta{
    width:590px;
    float:left;
}

只是稍微减小了 .lacarta 的宽度。

顺便说一句,您可能需要考虑一个响应式网格系统来像这样布置您的 coulmns。例如:

http://cssgrid.net/

http://semantic.gs/

这样你就不会遇到这样的排队问题......它会响应所有屏幕尺寸。

于 2013-04-04T12:39:58.307 回答
-1

Prob到底是什么……??我刚刚测试了链接,发现那些菜单没有对齐..这里的解决方案是.menu li{ float:left}..如果可能的话,只需放一个屏幕截图:)

于 2013-04-04T12:36:59.260 回答