为什么不在div中文本对齐文本?

时间:2017-01-05 14:36:32

标签: html css flexbox

div中的文字对齐是通过text-align完成的。它通常工作正常:



<div style="text-align:right;border:1px solid red">
  this goes to the right
</div>
&#13;
&#13;
&#13;

我有一段代码(在vue.js的帮助下生成的大型HTML中间),其中未应用对齐。我强制使用div的宽度,并希望其中的文本与右边对齐:

enter image description here

8:00有足够的空间向右移动,但它保持居中。 CSS堆栈没有显示此元素的任何特殊内容:

enter image description here

这种对齐(或缺少)的原因是什么?

注意:我没有包含整个HTML / SCSS代码,因为它有很多 - 希望CSS堆栈足够吗?

2 个答案:

答案 0 :(得分:5)

由于您在此处使用for elements in planets: total_grav = total_grav + gravforce(elements[1], elements[0], position_rocket) display: flex将无效。改变

text-align

div {
 justify-content: space-around;
}

编辑:正如@Jacob Gray通知,在div { justify-content: flex-end; } 元素上添加display: flex并不是一个好主意。最好从div中删除此属性,并在需要的位置使用div

答案 1 :(得分:1)

如果Flex容器的相关值未设置为Data const* find(Key const& key); 且Flex项目的stretch未设置为flex-grow,则Flex项目会缩小以适合内容宽度或高度。这意味着框的大小是内容的大小,因此1没有效果。 (当然,还有text-alignflex-basis因素,这里不再讨论。)

另请注意,直接包含在Flex容器中的文本会自动包装在匿名弹性项目中。

您可以通过在Flex容器上设置它来解决此问题:

width

或者,如果您不需要在那里弯曲,请将其重置为默认块:

div.start_display {
  display: flex;
  justify-content: flex-end;
}

或者,将其包装到另一个标签中,让我们说div.start_display { display: block; text-align: right; }

<span>

您可能需要提高选择器的特异性级别,因为屏幕截图不清楚。