我怎样才能让这个文字一直坐到左边?

sta*_*ack 7 html css

编辑:这是一个情况的小提琴.

好的,所以我正在建立一个网页,但我遇到了一个令人恼火的字体怪癖.似乎sans-serif字体拒绝准确地坐在他们所在的盒子的左边缘.

以下是一些用于演示此问题的实验性HTML:

<html>
<head>
    <style>
        .box {
            margin: 30px 0px 0px 30px;
            border: 1px solid #f00;
        }
    </style>
</head>
<body style="font-size: 36px;">
    <!-- text beginning with 'M', which has serifs protruding from the left side in a serif font -->
    <div class="box" style="font-family: 'Segoe UI';">My text</div> <!-- sans-serif -->
    <div class="box" style="font-family: 'Times New Roman';">My text</div> <!-- serif -->
    <div class="box" style="font-family: 'Arial';">My text</div> <!-- sans-serif -->
    <div class="box" style="font-family: 'Garamond';">My text</div> <!-- serif -->

    <!-- text beginning with 'T', which has no left-protruding serifs in a serif font -->
    <div class="box" style="font-family: 'Segoe UI';">Text</div> <!-- sans-serif -->
    <div class="box" style="font-family: 'Times New Roman';">Text</div> <!-- serif -->
    <div class="box" style="font-family: 'Arial';">Text</div> <!-- sans-serif -->
    <div class="box" style="font-family: 'Garamond';">Text</div> <!-- serif -->
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我可以设置/修改CSS属性的任何想法,使文本位于其容器的左边缘?优雅地说,那就是 - 我真的不喜欢逐个字符的解决方案.

小智 2

我不确定你是否是这个意思,但它可能是从 M 到其边界的“边缘”......

好吧,让我解释一下字体......

每个字母都有固定大小的“盒子”所在。因此,如果字体的创建者不使用整个空间,则可能会发生这种效果!意味着,除了编辑字体之外,您无法对此采取任何措施!

这是我的意思的一个示例(创建字体的演练)。

示例图片,您可以看到上部 M 的距离...因此,如果您不使左侧 M 破折号弯曲,请直接做直线,就像在您的版本中一样,您的边框和 M 之间将有一个“间隙”!:)

字体字符框

如果您选择文本,您可以看到该字符是正确的。“蓝色”选择将显示它与边框笔直且没有间隙,如果出现渲染或 CSS 错误,不会发生什么!

我希望我能帮助你回答这个问题。