English 中文(简体)
是否有办法自动控制超文本文件中的孤儿字?
原标题:Is there a way to automatically control orphaned words in an HTML document?

我很想知道,是否在超文本档案中找到一种途径来自动控制孤儿的“

我用孤儿的话说,在一段末尾,我指的是新行的直言。 例如:

"This paragraph ends with an undesirable orphaned
word."

相反,最好将这一段细分如下:

"This paragraph no longer ends with an undesirable
orphaned word."

虽然我知道,我可以通过放置一个超文本非突破性空间来人工纠正这种情况( ) 在最后两句之间,我不禁要问,是否有办法使这一过程自动化,因为像这种手工调整一样,可能会很快地对多个档案中的大量文本产生浪费。

顺便提一下的是,CSS2.1的特性orphans (和widows)只适用于整个案文线,甚至仅适用于超文本页的印刷(更不用说这些特性基本上得不到大多数主要浏览器的支持)。

许多专业页面布局应用,如Adobe InDesign, 可在上通过自动增加出现孤儿的禁闭空间来清除孤儿; 是否还有任何形式的超文本解决办法?

问题回答

页: 1 多年来,这促使印刷设计师摇.,但超文本并未提供这种控制水平。

如果你真心想这样做,并理解速度影响,你可以在此尝试以下建议:

detecting line-breaks with j Query?

这是我可以想象的最好解决办法,但这不能使它成为一个好的解决办法。

我看到,有3个政党的花.,但更简单地说是这样。 如果你想做的是用非开拓性空间来取代最后的空间特性,那就几乎是微不足道的:

    const unorphanize = (str) => {
        let iLast = str.lastIndexOf(   );
        let stArr = str.split(  );
        stArr[iLast] =    ;
        return stArr.join(  )
}

我假定这种情况可能错失一些独特的案例,但它为我的所有使用案例做了工作。 警告说,你只能pl缩案文的输出,你必须制定<条码>内文的超文本=非正文(文本),或以其他方式使其失效。

如果你愿意做以下两点假设的话,如果你愿意做:

  1. A sentence always ends with a period.
  2. You always want to replace the whitespace before the last word with &nbsp;

假设你有这样的html(如有必要,在我的浏览器......骑手的“端”前就打碎右 style):

<div id="articleText" style="width:360px;color:black; background-color:Yellow;">
    This is some text with one word on its own line at the end.
    <p />
    This is some text with one word on its own line at the end.
</div>

You can create this javascript and put it at the end of your page:

<script type="text/javascript">
    reformatArticleText();
    function reformatArticleText()
    {
        var div = document.getElementById("articleText");
        div.innerHTML = div.innerHTML.replace(/S(s*)./g, "&nbsp;$1.");
    }
</script>

舱面仅发现所有具有白色空间特征的(g 旗帜)事例(S),然后发现任何非白色空间特性(s)。 它为你在替代案文中使用的非白色空间提供了背心。

你们也可以使用类似的校区,以包括其他最后校准标志。

如果第三方的 Java是选择,则可以使用typogr.js, 即“typogries”执行。 这一特殊过滤器被称作Widont,但并不奇怪。

<script src="https://cdnjs.cloudflare.com/ajax/libs/typogr/0.6.7/typogr.min.js"></script>
<script>
document.body.innerHTML = typogr.widont(document.body.innerHTML);
</script>
</body>




相关问题
CSS working only in Firefox

I am trying to create a search text-field like on the Apple website. The HTML looks like this: <div class="frm-search"> <div> <input class="btn" type="image" src="http://www....

image changed but appears the same in browser

I m writing a php script to crop an image. The script overwrites the old image with the new one, but when I reload the page (which is supposed to pickup the new image) I still see the old one. ...

Firefox background image horizontal centering oddity

I am building some basic HTML code for a CMS. One of the page-related options in the CMS is "background image" and "stretch page width / height to background image width / height." so that with large ...

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!