覆盖 <div> 内联宽度样式以使元素拉伸到内容?
Posted
技术标签:
【中文标题】覆盖 <div> 内联宽度样式以使元素拉伸到内容?【英文标题】:Overriding <div> inline width style to make element stretch to contents? 【发布时间】:2013-06-14 21:16:26 【问题描述】:致力于重新设计客户的 Intranet。我不能修改现有的 html,只能提供一个覆盖样式表。
在 HTML 中是一个正文内容包装器 - 每当调整窗口大小时,它都会获得一个明确的宽度和高度设置为内联到窗口的宽度和高度:
<div id="s4-workspace" style="height: 660px; width: 1331px;">
现在,一些页面在这个内容包装器中有一个大表格(至少 1600 像素宽),当窗口小于这个值时,表格会脱离容器,留下所有背景和填充。所有其他元素都遵循包装宽度,向右滚动时会产生一大堆负空间:
有没有办法覆盖内联宽度并允许容器 div #s4-workspace
延伸到其内容?我最好的猜测是设置width: auto !important;
,但 chrome 和 firefox 仍然优先考虑内联样式。任何帮助表示赞赏。
【问题讨论】:
你能放个小提琴吗?!因为 chrome/firefox 肯定会考虑 !important note!!可能是您可以检查元素,然后查看哪个超出了您所做的更改 如果这是与 SharePoint 相关的check out this link 【参考方案1】:您可以像这样覆盖元素内联样式:
div[style]
background: yellow !important;
height: auto!important
看看这个fiddle
【讨论】:
【参考方案2】:在您的特定实例中(覆盖宽度/高度以防止内容溢出),更改显示类型将满足您的需要:
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 的元素会将宽度和高度属性视为 建议 值,而不是绝对值。
【讨论】:
正是我需要的。非常感谢!以上是关于覆盖 <div> 内联宽度样式以使元素拉伸到内容?的主要内容,如果未能解决你的问题,请参考以下文章