首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优化连字符

如何优化连字符
EN

Stack Overflow用户
提问于 2015-11-05 20:38:15
回答 1查看 2.6K关注 0票数 4

我在为浏览器处理对齐文本从一行到另一行的不同方式进行斗争。我的文本有以下css设置:

代码语言:javascript
复制
text-align: justify;
-webkit-hyphens: auto;
-moz-hyphens: auto;
-ms-hyphens: auto;
hyphens: auto;

我的语言设置是en。不一致处理的一个词是“表示”:

代码语言:javascript
复制
Chrome: no hyphenation
Firefox: express-ing [correct!]
IE11: express-ing [correct!]
Safari: express-ing [correct!]

令人费解的是,Safari能够将德语单词“Gesamtkunstwerk”连字符:

代码语言:javascript
复制
Chrome: no hyphenation
Firefox: no hyphenation
IE11: no hyphenation
Safari: Gesamtkunst-werk [correct!]

我不知道Safari是如何感觉到这个词是德语的,并且是用连字符来表示的。有什么想法吗?

CSS3规范指明了一个hyphenate-resource选项,但我没有找到包含和/或编辑的示例文件。理想情况下,如果该选项在主要浏览器中得到支持,我将包括它,并希望编辑它的非英语单词以及编辑它的默认值。

什么是最好的方法?

EN

回答 1

Stack Overflow用户

发布于 2015-11-14 10:33:08

我在为浏览器处理对齐文本从一行到另一行的不同方式进行斗争。

方法1. CSS

有关CSS唯一的解决方案,请参见此链接

代码语言:javascript
复制
article p{
  text-align: justify;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

您已经尝试过这一点,并且发现无论浏览器版本都完全不支持Chrome,并且发现浏览器之间的结果缺乏一致性。并且可能想知道是否有一种更一致的方式来连字符,在所有的主要浏览器上都能很好的工作?

方法2. Javascript

Hyphenator.js是一种Javascript库解决方案,适用于所有主要浏览器。还有..。目前支持的语言比大多数浏览器都要多。首先,选择一种(或多种)语言,您需要在您的网站中的炒作支持,然后按照步骤和定制您自己的脚本,最后点击“创建!”它将为您创建最小化的javascript。您可以将其复制到您的hyphenate.js文件中,最后不要忘记在您想要被连字符的段落上定义类。

代码语言:javascript
复制
<head>
  <script src="hyphenate.js" type="text/javascript"></script>
</head>

<body>
  <article lang="nl" class="hyphen">  // in this case Dutch >> NL
    <p>.......</p>
  </article>
</body>

注意:注意,我自定义了类,并将其缩短为连字符,而不是默认的连字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33554315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档