【问题标题】:How can I force vertical text to be horizontal?如何强制垂直文本是水平的?
【发布时间】:2011-09-23 18:04:52
【问题描述】:

我正在开发一个需要国际化的 ASP.NET 网站。我正在使用 .resx 文件(基本上是文件中的键值对)根据所选的文化/区域设置以不同的语言填充页面上的静态字符串字段。我正在实现日语并得到一些顽固的垂直字符串。

将它们复制并粘贴到 .resx 文件中时,它们是水平的(字符串来源是 Google 翻译,用于测试目的)。所有字符串都正常显示,但始终垂直显示。行为不端的字符串只有几个 div 的深度(就像所有这些一样),并且只应用了字体大小、字体系列、颜色和大写转换。

删除任何或所有上述规则不会改变文本的方向。我已经用记事本清除了有问题的文本的格式并缩短了它(以确保它不是长度问题)。我很困惑为什么这个特殊的字符串是垂直的。

这里是有问题的文字:ログアウト (翻译:注销)

编辑

澄清问题。

它应该是什么样子:


有问题的垂直文本:

【问题讨论】:

    标签: asp.net html css internationalization


    【解决方案1】:

    如何强制垂直文本 水平的?

    除了标题,我不太明白你的问题。反正我会猜的。

    尝试将 white-space: nowrap 添加到行为不端的 div

    【讨论】:

      【解决方案2】:

      最近我在网上学习了一些关于从右到左的知识,并了解到Unicode characters have a directional property associated with them at the character level。所以这可能与此有关,尽管我肯定不知道如何确定或修复它,特别是考虑到谷歌翻译是字符串的来源。

      【讨论】:

      • 非常有趣,我不知道 Unicode,但我尝试了他们建议的解决方案,但没有运气。
      • 当您在 Firebug 或 WebInspector 中检查文本的父元素时,其呈现的宽度是多少?
      • 空白解决方案是正确的,但仅供参考:渲染宽度为9x73。
      • 有趣。如果没有 white-space:nowrap 声明,我想知道如果您将文本的宽度强制为 100% 或其他一些固定像素值,文本是否仍会垂直呈现。
      • 我尝试将宽度设置为 100% 和固定像素值。将其设置为固定像素值是可行的,但不是最佳选择,因为不同的语言需要不同的宽度,如果它太宽,它会给文本一个奇怪的偏移量。
      【解决方案3】:

      对于亚洲文字(不仅是日文,还包括韩文和中文),文本呈现错误的情况经常发生。通常你只需要调整元素宽度,尤其是当它是 HTML 表格的一部分时。

      【讨论】:

        猜你喜欢
        • 2012-10-25
        • 1970-01-01
        • 2016-11-21
        • 2012-01-01
        • 1970-01-01
        • 2015-09-25
        • 2017-06-21
        • 2017-11-30
        • 2013-02-17
        相关资源
        最近更新 更多