[OBS] キャスコメ欄用カスタムCSS: 改行

AAコメント例 (ショボーン)

ツイキャスの「ツール・ゲームズ配信ページ」から入手出来るコメント欄表示用のURLですが、OBSで表示する場合は、URL表示に使うブラウザブラウザーソースのプロパティに適切なカスタムCSSを追加する事で、コメント欄の表示スタイルを好みの設定に変更する事が出来ます。

このカスタムCSSで使える改行に関係したCSSコードを2つここにメモしておきます。



ユーザー情報の折り返し

コメ欄表示用URLのページでは「tw-comment-item-info」クラスのDIVタグ内にユーザー名、ユーザーIDとサポートランキングの星 (Star 1Star 2Star 3)といったユーザー情報が表示されるというHTMLタグ構成になっています。

例:
ユーザー名 c:user_ID
Star 2
ユーザーのコメント

※: 標準設定では、ユーザーIDとサポートランキングの星は非表示になっているので適切なCSS設定をカスタムCSSに追加する必要があります (👉『OBSキャスコメ CSSカスタマイザ ー』参照)。


標準設定の場合、ランキングの星を表示するIMGタグには「float: right;」というCSSが設定されているので常にユーザー情報の右端に表示されます。 又、ユーザー情報を表示する「tw-comment-item-info」クラスのDIVタグは標準設定のCSSによって行の折り返しが無効になっているので、ユーザー名とユーザーの表示幅が長過ぎる場合は末尾が「...」で省略されます。

例: ながーーーいユーザー名の場合 (折り返し無し)

普段はあまり気にしなくても良い事かもしれませんが、折り返しが有効になっていないと全部表示出来ないほど長いユーザー名を設定しているユーザーさんもいない訳ではありません。 そういう場合でもユーザー情報をもれなく表示したい場合は、次のCSSをカスタムCSSに追加するとユーザー情報の行で折り返しが有効になります。

.tw-comment-item-info{
white-space: normal;
}

例: ながーーーいユーザー名の場合 (折り返し有)

コメント内の改行の有効化

コメ欄表示用URLのページではコメントは「tw-comment-item-comment」クラスのDIVタグ内に表示されますが、標準設定のCSSでは改行タグ<br />が非表示となっています。 なので次の様な複数行からなるアスキーアート(AA)のコメントがされた場合:

例: AAコメント (ショボーン)
〃∩ ∧_∧
⊂⌒(  ・ω・)
  `ヽ_っ⌒/⌒c
     ⌒ ⌒

コメ欄表示用URLのページではコメントの改行がされないので、次の様に一行に繋がって表示されます。

例: 改行タグ<br />が無効の場合
〃∩ ∧_∧
⊂⌒(  ・ω・)
  `ヽ_っ⌒/⌒c
     ⌒ ⌒

この「1行表示」は、「複数行弾幕」とも言われる、複数行のAAをコメントとして沢山送ってコメント欄を読めなくする行為を防止する場合に使われる設定でもあるみたいですが、そういった事を想定した設定なのでしょうか?

コメントに含まれる改行を有効にしたい場合は、次のCSSをカスタムCSSに追加します。

.tw-comment-item-comment br {
display: block !important;
}


() 追記: 「コメ欄の幅を狭くすると行が途切れてしまう。。」

先日、某SNSで『ツイキャスのコメント欄の表示幅を狭くすると長文のコメントが折り返し表示されずに切れてしまう』といった内容の投稿を見かけたのですが、コメ欄表示用URLのページは標準設定だとコメントが折り返しされるので、どういう事なのか不思議に思い、少し検索してみた処、他にも同様の問題を嘆く投稿がいくつか検索結果に出て来ました。。

でも、これらの投稿をしたアカウントのその後の投稿をサラッと読んでみましたが、特に解決策を見つけたといった内容の投稿は確認できず、ツイキャス以外のサイトで配信しているといった内容の投稿を上げているアカウントがほとんどだったので、行が折り返されない問題は未解決のまま、お蔵入りになってしまったのでは? という印象を受けました。


勝手に考察

上記のSNSの投稿にはどういったカスタムCSSを使っているといった説明が無かったので詳しい設定は不明ですが、ツイキャスのコメ欄表示用URLのページの場合、標準でコメントが折り返される設定になっているので、各個人が追加したカスタムCSSの中に折り返しを無効にしてはみ出した部分を非表示にするCSSルールが含まれている可能性が高いと思います。

思い当たるのは、カスタムCSS内で、コメントを表示するタグの「tw-comment-item-comment」クラスか、そのタグを囲っている親のタグのクラスに、幅が広い要素のはみ出る部分を非表示にする

oveflow: hidden;

というルールが設定されている可能性です。

追加したカスタムCSS内に「oveflow: hidden;」が全く無い場合は別の設定が原因になりますが、 いくつかある場合は、対処方として、コメントの表示に関連する部分の「oveflow: hidden;」を削除するか、「oveflow: visible;」に変更すると改善される可能性が高いと思います。

又、CSSを最近いじり始めたばかりで、CSSはあまり良く分からないという方の場合でも、まず、カスタムCSSのコピーを作って、元のカスタムCSSを安全な場所に保存した後、コピーのCSS内にある「oveflow: hidden;」に少しずつ編集を加えて行くと最終的には結果が出るかもしれません。

「overflow: hidden」以外で「overflow-x: hidden」(横方向限定のルール)と設定されている可能性も考えられます。


ツイキャスのコメント欄の構造

ツイキャスのコメ欄表示用URLのページだと各コメントは (最終確認):

.tw-comment-item

img.tw-comment-item-icon
IMG
[ユーザーアイコン]
.tw-comment-item-body

.tw-comment-item-info

.tw-comment-item-name-wrapper

.tw-comment-item-name-body
.tw-comment-item-name
ユーザー名;
.tw-comment-item-screen-id
ユーザーID;
.tw-comment-item-star

.tw-comment-item-attachment
 

.tw-comment-item-comment
コメント 👈
.tw-comment-item-date
タイムスタンプ

というHTML構造になっていて、コメントが表示される「tw-comment-item-comment」は 「tw-comment-item」と「tw-comment-item-body」クラスのタグに囲われています。

また、このコメントは次の様なHTMLレイアウトでページ内に表示されています。

body
  : :
.tw-page tw-comment-window-page
.tw-player-page__component ...
.tw-comment-list-view ...
.tw-comment-list-view__scroller
<無名のDIV>タグ
ここに上記のコメント構造が下から上へと古いコメントから新しいコメントの順番で縦に並んで表示されます。
  : :
.tw-comment-item
コメント 3 ...
.tw-comment-item
コメント 2 ...
.tw-comment-item
コメント 1 ...

なので、コメントが表示されるtw-comment-item-commentクラスのタグと、そのタグを囲っている親タグに関連するCSSル―ルを確認する必要があるかと。。。 と書きましたが、「overflow: hidden;」に関しては「表示を途切れさせたくない」という場合はカスタムCSS内にあるほとんどを削除/変更しても問題ない様にも思えます。



コメント

  1. 質問ですが、新しいコメントを一番下にして、古いコメントを上にするにはどうしたらいいんでしょうか

    返信削除
    返信
    1. コメントありがとうございます。
      各コメント1つ1つは.tw-comment-itemタグによって表示されるので、その一つ上の階層の”タグ”に表示の順番を逆にするCSSを追加すると良いのですが、無名なタグなので、そのまた上の階層のタグ名を使って次の様なCSSを追加すると良いはずです。
      .tw-comment-list-view__scroller>div {
      display: flex;
      flex-flow: column-reverse;
      }

      削除
    2. 上のCSSで順番は逆に表示されますが、これだけだどコメントが画面いっぱいになると新しいコメントが見えなくなってしまうので、修正を別のメモで公開しています。

      削除
  2. 失礼します。当方素人なのですが閲覧者コメントがどんなに短くても必ず二行で表示されてしまう(二文字なら縦に一文字ずつ)のを一行に纏めることはできましたか?何処かに記載ありましたら申し訳ないです。色々検索していて此方に辿りつきました。

    返信削除
    返信
    1. コメントありがとうございます。ツイキャスのコメント欄の場合はカスタムCSSを追加する前の設定では改行が表示されないので、もしも追加したカスタムCSSで改行を有効にしている場合はその部分を削除したら良いかと思います。このサイトのカスタムCSSなら 「.tw-comment-item-comment br {...}」という部分になります。

      削除
    2. 突然のコメントに丁寧な回答ありがとうございました。試してみたのですが上手く反映されず…ですがCSS内の何かが原因ということが回答のおかげでわかったので色々と試してみたいと思います。
      上記以外に検討がつかない場合の返信は不要となります。因みにL〇NEの会話風(幅細め)を閲覧コメントと枠主コメントの吹き出しの位置を左右反対にして利用させていただいています。
      この度はお手数おかけして失礼しました。

      削除

コメントを投稿