ホームページ >ウェブフロントエンド >CSSチュートリアル >CSS で長い文字列を切り詰め、ブラウザ間で省略記号を表示するにはどうすればよいですか?

CSS で長い文字列を切り詰め、ブラウザ間で省略記号を表示するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-17 12:44:26411ブラウズ

How Can I Truncate Long Strings with CSS and Display an Ellipsis Across Browsers?

CSS を使用した長い文字列の切り詰め: クロスブラウザー ソリューション

固定レイアウト内に収まるように動的テキストを切り詰めるのは難しい場合があります。ネイティブ CSS プロパティは、テキストの切り捨てと省略記号の表示に対するクロスブラウザーのサポートを提供しません。ただし、創造的な回避策でこの機能を実現できます。

Justin Maxwell の省略記号テクニック

Justin Maxwell はブラウザ間で機能する CSS ソリューションを開発しましたが、それには 1 つの制限があります。 Firefox ではテキスト選択を許可しません。

.ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    -moz-binding: url('assets/xml/ellipsis.xml#ellipsis');
}

ellipsis.xml ファイルには、省略記号機能を実装する XBL マークアップ。

ノード コンテンツの更新

Firefox では、innerHTML を使用してノードのコンテンツを更新すると、省略記号機能が壊れる可能性があります。これに対処するには、次のコードを使用します。

function replaceEllipsis(node, content) {
    node.innerHTML = content;
    // Check for the gecko browser
    if (YAHOO.env.ua.gecko) {
        var pnode = node.parentNode,
            newNode = node.cloneNode(true);

        pnode.replaceChild(newNode, node);
    }
}

注: Text-overflow: ellipsis は Firefox 7 でネイティブにサポートされるようになりました。このアップデートは歓迎すべき改善ですが、クロスブラウザーの CSS ソリューションは、古いブラウザーにとっても有益なリファレンスです。

以上がCSS で長い文字列を切り詰め、ブラウザ間で省略記号を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。