ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS と JavaScript でテキストの特定の行をターゲットにしてスタイルを設定するにはどうすればよいですか?

CSS と JavaScript でテキストの特定の行をターゲットにしてスタイルを設定するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-27 06:38:14
オリジナル
340 人が閲覧しました

How Can I Target and Style Specific Lines of Text in CSS and JavaScript?

CSS/JS でテキストの個々の行をターゲットにしてスタイル設定する方法

テキストの特定の行を選択してスタイル設定することは、CSS の :first-line 擬似要素を使用すると簡単に見えるかもしれません。しかし、テキスト内の任意の行をターゲットにする必要がある場合はどうすればよいでしょうか?

純粋な CSS では、次の方法が提供されていません。任意の行を選択すると、JavaScript でそのギャップを埋めることができます。

JavaScript の解決策

JavaScript を使用する 1 つのアプローチは、各単語をspan要素でラップし、そのスパンの位置に基づいて一意のクラスを割り当てることです。文章。コードは次のとおりです:

$(function(){ 
  var p = $('p'); 
  var words = p.text().split(' '); 
  var text = ''; 
  $.each(words, function(i, w){
                   if($.trim(w)) text = text + '<span>' + w + '</span> ' }
        ); //each word 
  p.html(text); 
  $(window).resize(function(){ 

    var line = 0; 
    var prevTop = -15; 
    $('span', p).each(function(){ 
      var word = $(this); 
      var top = word.offset().top; 
      if(top!=prevTop){ 
        prevTop=top; 
        line++; 
      } 
      word.attr('class', 'line' + line); 
    });//each 

  });//resize 

  $(window).resize(); //first one
});
ログイン後にコピー

このコードは基本的にテキストを個々の単語に分割し、CSS クラスを使用してスパンでラップし、ブラウザ ウィンドウのサイズが変更されるときにスパンの行位置に基づいてクラス名を割り当てます。

アプリケーション

段落のすべての偶数行を強調表示するには、 code:

$('span.even, span.odd').css({
  'background-color' : '#ccc'
});
ログイン後にコピー

注意事項

単語のサイズや幅に影響を与えるクラス名の変更などの特殊なケースは、スクリプトの精度に影響を与える可能性があることに注意することが重要です。

以上がCSS と JavaScript でテキストの特定の行をターゲットにしてスタイルを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート