可以从低阶元素中删除高阶元素的填充吗?

时间:2014-08-06 18:30:46

标签: javascript html css

有点奇怪的问题而且非常黑客,但我很难过。我正在使用内部工具来创建网页。因此,由于这些工具的性质,我只能访问一些生成的HTML和CSS。

所以,强迫我是HTML

<div class="example">
    <div class="whatICanAccess">
    </div>
</div>

我的CSS:

.example {
padding : 1.6em;
}

我可以编辑CSS的唯一地方是使用style =“foo”在“WhatICanAccess”HTML标记内。

我是否有可能以任何方式从外部元素(“示例”)中删除填充?

我是否可以从外部元素中删除填充,并且仅使其影响“WhatICanAccess”的直接父级?

示例是在整个代码中使用的类,我只想在一个特定的地方删除它 - 但正如我所说,我无法添加更多特定的标识符/标记 - 我只能在这一个地方编辑。

有人可以帮忙吗?谢谢:))

更新:

我现在有了这个HTML:

<div class="example">
   <div class="moreSpecific" style=" padding: -1.8em;>
</div>
</div>

但是.example的1.6em仍然是最重要的。我在这做错了什么?

2 个答案:

答案 0 :(得分:2)

将1个位置设为单独的类,并为其提供负边距以平衡填充。

或者,使用position: absolute&amp;使用宽度和高度值。 您要么不必担心无法访问父元素。

试图制作一个JSFiddle,但显然他们已经删除了&#34; save&#34;目前的选择......

<div class="example">
    <div class="whatICanAccess">
        <div class="noPadding">This div has negative margins and absolute positioning</div>
        <div>This div inherits its padding from 'example'</div>
    </div>
</div>

.example {
    padding : 1.6em;
    height: 400px;
    width 100%;
    background-color: #ccc;
}
.whatICanAccess {
    height: 300px;
    background-color: #fff;
}
.noPadding {
    position: absolute;
    margin: -1.6em 0 0 0;
    background-color: #eee;
}

如果必须使用内联CSS ...

<div style="margin: -1.6em 0 0 0; position: absolute;">This div has negative margins and absolute positioning</div>

答案 1 :(得分:0)

如果您知道示例的id,则可以使用document.getElementById('example').style.padding='0px';

给你的html带来负余量或填充也可能有用。