覆盖<div>内联宽度样式以使元素拉伸到内​​容?</div>

时间:2013-06-18 15:14:20

标签: html css width css-tables

致力于重新设计客户的内部网。我无法修改现有的HTML,只提供覆盖样式表。

在HTML中是一个正文内容包装器 - 无论何时调整窗口大小,它都会获得一个明确的宽度和高度设置为与窗口宽度和高度内联:

<div id="s4-workspace" style="height: 660px; width: 1331px;">

现在,有些页面在此内容包装器中有一个大表(至少1600px宽),当窗口小于此时,表突破容器,留下所有背景和填充。所有其他元素都遵循包装器宽度,在向右滚动时创建一大堆负空间:

enter image description here

有没有办法覆盖内联宽度并允许容器div #s4-workspace拉伸到其内容?我最好的猜测是设置width: auto !important;,但chrome和firefox仍然优先考虑内联样式。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:13)

在您的特定实例中(覆盖宽度/高度以防止内容溢出),更改显示类型将满足您的需求:

http://cssdeck.com/labs/kfpnpruw

<div class="foo" style="width: 400px; height: 300px;">
  Foo
  <img src="http://placekitten.com/600/300" /><!-- 600x300 image -->
</div>

.foo {
  background: yellow;
  display: table-cell;
  padding: .5em;
}

设置为table-cell的元素会将width和height属性视为建议的值,而不是绝对值。

答案 1 :(得分:1)

您可以覆盖元素内联样式,如下所示:

div[style] {
   background: yellow !important;
    height: auto!important
}

查看此fiddle