html - 当您事先不知道内容 block 的宽度时将其居中

标签 html css

经过多次尝试和搜索,我从未找到使用 CSS2 的令人满意的方法。

实现它的一个简单方法是将它包装成一个方便的 <table>如下例所示。您知道如何避免表格布局并避免古怪的技巧吗?

table {
  margin: 0 auto;
}
<table>
  <tr>
    <td>test<br/>test</td>
  </tr>
</table>


我想知道的是如何在没有固定宽度的情况下做一个 block 。

最佳答案

@Jason,是的,<center>作品。美好时光。不过,我会提出以下建议:

body {
  text-align: center;
}

.my-centered-content {
  margin: 0 auto; /* Centering */
  display: inline;
}
<div class="my-centered-content">
  <p>test</p>
  <p>test</p>
</div>

编辑 @Santi, block 级元素将填充父容器的宽度,因此它实际上是 width:100%并且文本将在左侧流动,留下无用的标记和未居中的元素。您可能想尝试 display: inline-block; . Firefox 可能会提示,但是 it's right .另外,尝试添加 border: solid red 1px;.my-centered-content 的 CSS DIV 以查看在您尝试这些操作时发生了什么。

关于html - 当您事先不知道内容 block 的宽度时将其居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46350/

相关文章:

html - 将导航栏左下对齐

javascript - 仅当电子邮件和密码正确时才登录用户?

html - 父 div 背景的透明度

javascript - 如何将 JSON 数据放入 html/javascript 网格表中

javascript - 在 getUserMedia 中使用 sourceId 指定网络摄像头

javascript - Vue MultiSelect改变指针类显示

html - 垂直翻译的滚动 div 中的文本输入对键盘输入 react 异常

javascript - 如何在元素上使用子选择器 > (或 + 等)和 by.css ?

html - 边距顶部 : auto not working with position absolute

javascript - Vaadin 生成具有更改的列名称的网格