看起来保持对齐对于浏览器来说更重要,所以文本的正确边缘保持在右边,无论如何.
该文档设置为ltr方向,因此缩进应用于该行的左侧,但由于您已经表示要将其与右对齐,所以浏览器完全忽略该缩进.我没有解释为什么会发生这种情况,而不是早期浏览器设定了对齐重要性的优先级.只要text-align显式忽略text-indent,CSS规范就没有任何内容.
The Box is indented with respect to the left (or right,for
right-to-left layout) edge of the line Box. User agents must render
this indentation as blank space.
如果我们更新小提琴以获得rtl方向,则缩进确实影响文本的右侧.我添加了一个边框来显示溢出正在发生.
.rtl{direction:rtl;}
.parent { text-align: right; border:1px solid blue}
.indented { text-indent: -9999px; }
Lorem ipsum ipsum!
Cupcake ipsum!
简单的解决方案似乎将嵌套缩进对齐为text-align:left.
.parent { text-align: right; border:1px solid blue}
.indented { text-indent: -9999px; }
.parent .indented{ text-align:left; }
Lorem ipsum ipsum!
Cupcake ipsum!