以下是我根据您正在寻找的内容制作的示例:
(jsFiddled 在这里:http://jsfiddle.net/yohphomu/)
警告:
我是一个 CSS 狂热者!!!
如果我正确理解您的问题,则无需设置高度或宽度,因为它们的默认设置是自动(也就是说您可以使用自动),但唯一的问题是,如果您想更改背景或放置边框将使其超出所需字段。为什么会这样以及我们如何解决它,请继续阅读。
或者只是复制并研究示例。
任何有这个问题的人都没有意识到(假设你有这个问题并且正在使用 div) div 标签之间的任何东西都被认为是一个完整的集合(为了理解目的),这意味着在那个 div 中是你的所有东西希望它代表(计算机执行他们被告知的操作,而不是您希望他们执行的操作)所以(例如)为了将 text-align 设置为居中,它需要整个行空间,并且(最终)如果它有一个边框,它将与它使用的所有空间相接。如果您理解这一点,请继续阅读,如果不是很好,将无法帮助您。
既然我们了解了会发生什么,我们该如何解决呢?好吧,我们需要一个部分来居中,另一个来着色。在我的示例中,我使用 div 将其居中并跨越到颜色。我需要 div 吗?我很肯定我没有。我可以通过使用 p 居中来实现同样的效果(或者我可以摆脱 p 并只使用 div)。我这样做的原因是为了保持井井有条。
其实只是因为我想了之后才意识到,但又不想修复它。
希望这回答了您的问题。你花了 4 年才得到答案,但我却花了 30 分钟才弄明白(而且我已经研究 CSS 几天了)。
例子:
<div class='container'>
<div class="text">
text text text text text text text text text text text
text text text text text text text text text text text text text text text text text
</div>
<div class="holder">
<p><span>text here</span></p>
</div>
<div>
text text text text text text text text text text text
text text text text text text text text text text text text text text text text text
</div>
</div>
然后 css 看起来像:
.container {
width: 500px;
height: 500px;
}
.text {
font-size: 20px;
}
.holder {
text-align: center;
}
span {
background-color: blue;
border: 1px solid black;
}
注意:我设置了容器的宽度和高度,因为我同时在做一个项目,并用文本模拟全屏。
另外请注意,我已经使文本具有单独的背景颜色和边框。我这样做是为了表明它的测量是独立的,并在需要时重新调整。
不客气,我认为人们不理解你的问题。希望我做到了。