【问题标题】:css inline-block with aligned center具有对齐中心的 css 内联块
【发布时间】:2013-10-16 22:52:31
【问题描述】:

我想要一个与 display: inline-block; 完成的内容宽度相同的 div
但是当我使用它时,text-align: center 不再工作了。
所以我的内容只是向左移动并应用内联块。
像这样:

#div1 {
position: relative;
bottom: 10px;
left: auto;
text-decoration: overline underline;
display: inline;
text-align: center;
}

它不再使 div 的文本居中。
我如何才能同时获得这两者的效果?

【问题讨论】:

  • 请做一个 JSfiddle 而不是发布一个简单的请求。
  • 请在此处发布完整的代码示例。
  • 能否请您发布一些代码或演示

标签: html alignment css


【解决方案1】:

将属性 text-align:center 赋予任何其他元素,并在 div 中使用该元素。

例如。

#div1 {
position: relative;
bottom: 10px;
left: auto;
text-decoration: overline underline;
display: inline;
}
#p1 {
text-align: center;
}

然后

<div id="div1">
        <p id="p1">blah blah blah</p>
</div>

应该可以的。

【讨论】:

  • 稍加修改就可以了。 onmouseover 仅触发文本而不是整个宽度。但是当您使用 text-align:centerfor p1 和 'display:inline' 为 div1 时。我交换了它们。谢谢
【解决方案2】:

尝试使用这个:

margin-left:auto;
margin-right:auto;

在您要居中的 div 的父 div 中。

【讨论】:

  • 只是做同样的事情。
  • 对不起,尝试对实际的 div 而不是父 div 执行此操作!
【解决方案3】:

获得相同的 div 是 width 而不是 display 的工作。当您使用text-align 时,此属性将应用于该元素的所有子元素。

例如,在

<div>
 <span>Text</span>
 Text
</div>

span {
  text-align: center;
}

这将应用于文本,而不是跨度。这样,您将使文本与中心对齐,但 span 仍将位于其自己的位置,left,并且默认位于前一个元素的下方。

要查看text-align是否被应用,可以尝试在开发者工具中查看child的属性。

为此的Jsfiddle:http://jsfiddle.net/afzaal_ahmad_zeeshan/eKrNt/

您可以看到,该属性应用于div,而不是其自身。是孩子,与中心对齐。

您的代码:

#div1 {
 position: relative;
 bottom: 10px;
 left: auto;
 text-decoration: overline underline;
 display: inline;
 text-align: center;
}

这是明确的答案,您正在将此 div 内的文本对齐到中心。

并且鼠标悬停事件必须在函数或脚本中的某个位置。在hover 事件或相同事件上触发。

【讨论】:

  • 那么我怎样才能在中心获得一个 div 宽度为 sme 的文本?
  • 为此,您可以使用 text-align 作为 div 的父级,比如说,body 如果它是唯一的 div。或者您可以将margin-leftmargin-right 用于某些属性。
  • 我使用#dived{ margin-left:auto; margin-right:auto; }作为父div,但它仍然粘在左边。
  • 当您应用了max-widthmin-width 时,这将起作用。否则它会一直停留在左边。
猜你喜欢
  • 2012-02-16
  • 2012-03-29
  • 2011-06-26
  • 2014-12-26
  • 1970-01-01
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多