我需要一些 div 来同时适应它们的内容宽度。
我现在这样做:
.mydiv {
background: none no-repeat scroll 0 0 rgba(1, 56, 110, 0.7);
border-radius: 10px 10px 10px 10px;
box-shadow: 0 0 5px #0099FF;
color: white;
margin: 10px auto;
padding: 10px;
text-align: justify;
width: -moz-fit-content;
}
最后一个命令“宽度:-moz-fit-content;”正是我所需要的!唯一的问题是......它只能在 Firefox 上运行。 我也尝试过使用 "display:inline-block;"
,但我需要这些 div 表现得像 div。也就是说,下一个 div 应该位于under,而不是前一个 div inline。 你知道任何可能的跨浏览器解决方案吗?
最后我简单地使用以下方法修复了它:
display: table;
Mozilla 的 MDN 建议类似于以下内容 [
是否有一个声明可以针对 Webkit、Gecko 和 Blink 修复此问题?不可以。但是,有一个跨浏览器解决方案,可以指定与每个布局引擎的约定相对应的多个宽度属性值。
.right {display:table; margin:-18px 0 0 auto;}
.center {display:table; margin:-18px auto 0 auto;}
我正在寻找一种方法来防止长行文本超出其容器,并且
我找到了一个解决方法:如果该元素是最后一个显示的子元素,则设置
display: table-caption;
和 caption-side: bottom;
以及父对象上的
display: table;
确实具有相同的效果。为什么不使用一些
<div class="mydiv-centerer">
<div class="mydiv">Some content</div><br />
<div class="mydiv">More content than before</div><br />
<div class="mydiv">Here is a lot of content that
I was not anticipating</div>
</div>
CSS
.mydiv-centerer{
text-align: center;
}
.mydiv{
background: none no-repeat scroll 0 0 rgba(1, 56, 110, 0.7);
border-radius: 10px 10px 10px 10px;
box-shadow: 0 0 5px #0099FF;
color: white;
margin: 10px auto;
padding: 10px;
text-align: justify;
display:inline-block;
}
示例: