html - 在父文本和子文本内容之间交换文本位置

标签 html css

有人可以分享一下如何解决这个问题的魔术吗?最好只使用 CSS。考虑到内容宽度可能会随着时间的推移而改变,因此绝对定位不是问题。

<span class='parent'>
  <span class='first'>First</span>
  Third
  <span class='second'>Second</span>
</span>

P.S:在 DOM 树中将 child span 移至更高位置不是一个可接受的解决方案,因为该结构是由 JS 库生成的:)

最佳答案

您可以使用order flex 盒:

.parent {
  display:inline-flex;
}
.parent > * {
  margin:0 2px; /*put back the whitespace removed by flex*/
}
.first {
  order:-2;
}
.second {
  order:-1;
}
<span class='parent'>
  <span class='first'>First</span>
  Third
  <span class='second'>Second</span>
</span>

关于html - 在父文本和子文本内容之间交换文本位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51782845/

相关文章:

javascript - 是否可以仅获取元素的隐藏文本?

html - 当我将网站上传到 IIS 时,如何找出网站看起来不同的原因?

html - 占 margin 的百分比?合计 100%

javascript - 在下拉列表中更改选择时更改文本颜色

html - 某些点击在 html 中不起作用

javascript - 使用转义键关闭 react 引导模式

html - CSS3 过渡不影响宽度

Mozilla Firefox 30.0 上的 CSS3 关键帧过渡动画 CPU 使用率高

html - BEM 方法 : Different Questions (Resetting, 混合或修饰符)

html - 自动调整具有固定高度的div的宽度到它的内容