8

这是代码:http: //jsfiddle.net/noamway/r8vMp/8/

    <div id="website" style="width:100%;">
    <div id="layoutAll" style="width:200px;margin:0 auto">
        <div id="layout" style="width:100%;position:relative;">
            <div id="full_strip" style="width:100%;background-color:black;color:white;height:100px;position:absolute;left:0;">
            Hello world
            </div>
        </div>
    </div>
</div>

而且我喜欢“full_strip”将是所有页面宽度的 100%。因为是父母的亲戚,我不能这样做。我无法从父母中删除任何设置,因此我需要对他进行表扬或其他可以告诉他忽略父母的东西。

谢谢,诺姆

4

3 回答 3

4

删除width:200px带有 id 的 div #layout。重要的是不要对两个元素使用相同的 id。重复的 ID 很危险

代码:

<div id="website" style="width:100%;">
    <div id="layout" style="margin:0 auto">
        <div id="layout" style="width:100%;position:relative;">
            <div id="full_strip" style="width:100%;background-color:black;color:white;height:100px;position:absolute;left:0;">
            Hello world
            </div>
        </div>
    </div>
</div>

DEMO FIDDLE

于 2013-09-02T04:04:27.897 回答
2

您基本上要求将在相对位置 Div 内部动态生成的绝对位置 Div 与主体而不是与其相对父级 Div 相关联。

相对位置和绝对位置始终与具有绝对或相对位置的第一个根父元素相关。这就是为什么不可能按照你的要求去做的原因。

唯一的解决方案是将“full_strip”Div 放置在其相对父元素的位置之外并放入 body 标记中。

于 2013-09-02T07:36:45.623 回答
0

为了建立 Unknown 的答案,如果您希望文本保持居中,您可以添加text-align: center;到最深的嵌套div.

编码:

<div id="website" style="width:100%;">
    <div id="layoutAll" style="margin:0 auto">
        <div id="layout" style="width:100%;position:relative;">
            <div id="full_strip" style="width:100%;background-     
            color:black;color:white;height:100px;position:absolute;left:0; text-align:    
            center;">
                  Hello world
            </div>
        </div>
    </div>
</div>

JSfiddle

于 2013-09-02T05:23:08.390 回答