CSS:尽管旁边有浮动元素,我怎样才能将文本居中?

Chr*_*urm 28 css centering

基本上,我想要居中文本,忽略任何浮动的兄弟元素.

起初,我认为这不会是一个问题,因为我认为浮动元素没有从任何兄弟元素的宽度中获取.

示例(我希望红色文本位于蓝色框的中心,尽管绿色文本)

如何最好地实现这一目标?

Eri*_*ric 20

你不能.如果它在父框内居中,则浮动将在某个点重叠内容,这将破坏浮点.您可以在这里使用两种方法.如果您知道浮动的宽度,则可以应用相等的负右边距.否则,你可以绝对位置的元素是这样.

  • 我能想到的唯一另一个选择是制作一个大小相同的对象(例如,不可见的`div`)并将其浮动到父容器的另一侧(包含其他恼人的浮点数).这比使用边距来平衡居中更好,因为即使不与文本在同一个容器中,浮动对象也会影响文本居中.思考?对我来说很棒. (2认同)

Dav*_*ave 8

这是一个工作小提琴的链接:http: //jsfiddle.net/cD657/3/

(在你的例子中,你打开了一个<span>,并关闭它</div>)

我做了一个div并给了它margin: 0px auto;一个宽度. - 看起来做的伎俩

  • 但是当你没有固定的宽度?当你不知道任何一个元素的宽度时,基本上你不能这样做:浮动的元素或你想要居中的文本.我现在遇到了这个问题,并寻找解决方案,没有运气.我有一个按钮和一个文本,都在同一个DIV中.我希望按钮与左侧对齐,文本与父级中心(DIV)对齐.我尝试使用按钮上的绝对定位和text-align:在父div上的中心并且它工作但是当文本更大时,它将在按钮后面:( (2认同)