Heim  >  Artikel  >  Web-Frontend  >  So implementieren Sie die englische Wortsegmentierung mit Javascript+CSS

So implementieren Sie die englische Wortsegmentierung mit Javascript+CSS

PHPz
PHPzOriginal
2023-04-26 10:33:39775Durchsuche

Bei der Webentwicklung kommt es häufig vor, dass der Inhalt zu lang ist und nicht vollständig in einer Zeile angezeigt werden kann. In diesem Fall müssen wir die Silbentrennungstechnologie verwenden, um dieses Problem zu lösen. Bei der Worttrennung wird ein Wort an der richtigen Stelle geteilt, um es in die aktuelle Zeilenbreite einzupassen und so Wortüberlauf oder unschönes Textlayout zu vermeiden. Im Englischen werden Bindestriche üblicherweise zur Darstellung von Worttrennungen verwendet, die als englische Bindestriche bezeichnet werden.

In diesem Artikel werden zwei Methoden zur Verwendung von JavaScript und CSS zur Implementierung der Segmentierung englischer Wörter vorgestellt und deren Vor- und Nachteile sowie anwendbare Szenarien erläutert.

1. Verwenden Sie das Hyphens-Attribut in CSS.

In CSS3 wird ein neues Hyphens-Attribut hinzugefügt, um die Art der Wortsegmentierung zu steuern. Das Hyphens-Attribut akzeptiert drei Werte:

  • none: bedeutet keine Wortsegmentierung;
  • manual: bedeutet manuelle Angabe der Position der Wortsegmentierung;
  • auto: bedeutet automatische Erkennung und Wortsegmentierung.

Standardmäßig ist die Hyphens-Eigenschaft „none“. Die Wortsegmentierung wird nur wirksam, wenn „Auto“ oder „Manuell“ angegeben ist. Hier konzentrieren wir uns auf den Auto-Wert des Hyphens-Attributs.

Nachdem das Bindestrich-Attribut auf „Auto“ gesetzt wurde, führt der Browser automatisch eine Wortsegmentierung an der entsprechenden Stelle durch. Allerdings wird dieses Attribut derzeit nur von einigen Browsern unterstützt und von verschiedenen Browsern unterschiedlich implementiert.

Insbesondere Safari-basierte Browser (wie Safari und Chrome) unterstützen das Bindestrich-Attribut relativ umfassend, Sie müssen jedoch das entsprechende Sprachattribut (lang) in der Schriftart festlegen und das Sprachattribut des Texts in HTML angeben. Funktioniert normal. Browser wie Edge und Firefox unterstützen dieses Attribut nur schwach.

Das Folgende ist ein CSS-Codebeispiel:

p {
    font-size: 16px;
    -webkit-hyphens: auto; /* Safari内核浏览器 */
    -ms-hyphens: auto; /* Edge浏览器 */
    hyphens: auto;
}

2. Verwenden Sie Javascript, um die englische Wortsegmentierung zu implementieren.

Verwenden Sie Javascript, um die englische Wortsegmentierung zu implementieren, hauptsächlich mithilfe der Hyphenator.js-Bibliothek. Hyphenator.js implementiert die Wortsegmentierung englischer Wörter basierend auf dem Liang-Algorithmus. Dieser Algorithmus kann nicht nur die Kontinuität von Wörtern sicherstellen, sondern auch Bindestriche am Ende vermeiden. Er kann auch die Position von Bindestrichen automatisch an das Format der Schriftart anpassen.

Die Bibliothek Hyphenator.js ist sehr einfach zu verwenden. Sie müssen lediglich die entsprechenden JS- und CSS-Dateien in HTML einführen und den zu segmentierenden Tags das Klassenattribut hinzufügen.

Das Folgende ist ein Javascript-Codebeispiel:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Hyphenator.js示例</title>
        <!-- 引入Hyphenator.js的js和css文件 -->
        <script src="Hyphenator.js"></script>
        <link rel="stylesheet" href="Hyphenator.css">
        <style>
            .content {
                font-size:16px;
                width:200px; /* 宽度为200px */
                border: 1px solid #ccc;
                padding: 10px;
            }
        </style>
    </head>
    <body>
        <!-- 带有断词效果的文字 -->
        <div class="content hyphenate">This is an example of using Hyphenator.js to hyphenate words properly.</div>

        <!-- 初始化 -->
        <script>
            Hyphenator.config({
                displaytogglebox:true, /* 显示开关按钮 */
                classname: 'hyphenate', /* 断词class名称 */
                hyphenchar: '-', /* 连字符为- */
                language: 'en-us', /* 使用英文断词 */
                minwordlength : 4 /* 最小断词长度为4 */
            });
            Hyphenator.run();
        </script>
    </body>
</html>

Im Vergleich zum Hyphens-Attribut in CSS bietet Hyphenator.js eine breitere Browserunterstützung und kann die Position von Bindestrichen basierend auf der Schriftart automatisch anpassen, wodurch der Wortsegmentierungseffekt natürlicher wird. Die Verwendung von Hyphenator.js hat jedoch auch einige Nachteile. Es erfordert die Verwendung zusätzlicher js-Dateien, was die Downloadzeit der Seite erhöht erneut aufgerufen, um ein Unterbrechungswort zu erreichen.

Fazit

In diesem Artikel werden zwei Methoden zur Verwendung von Javascript und CSS zur Erzielung einer Segmentierung englischer Wörter vorgestellt. Jede davon hat einige Vor- und Nachteile, und Sie müssen sie entsprechend der tatsächlichen Situation auswählen.

Bei der Verwendung des Hyphens-Attributs müssen Sie auf Browserkompatibilitätsprobleme achten und auch auf die Angabe der entsprechenden Sprachattribute achten. Bei der Verwendung von Hyphenator.js müssen Sie zusätzliche js-Dateien einführen, was die Downloadzeit verlängert Seite.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die englische Wortsegmentierung mit Javascript+CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn