
https://codepen.io/LandonSchropp/pen/xLtif
こちらのscriptの
words = [ "the", "of", "and", …];
に日本語を入れて、なおかつ途中で改行をしたいと思っています。
例 words = [ "ああ\nあああ", "いいいい\nいいい", "うううう\nううう", …];
合間に\nを入れて、replaceで元のコード
$word.text(word);
を
$word.text(word.replace(/\n/g,"\<br /\>"));
と書いたのですが、ソースでは<br>が
<br>
↓ソース
<h1 style="background-color: hsl(288, 100%, 50%);"><svg xmlns="http://www.w3.org/2000/svg" role="img"><title class="title">Random</title><text class="word" dominant-baseline="central" fill="#222" stroke="#222" stroke-linecap="round" stroke-width="1.5%" text-anchor="middle" x="50%" y="50%">いいいい<br />いいい</text><text class="word" dominant-baseline="central" fill="white" text-anchor="middle" x="50%" y="50%">いいいい<br />いいい</text></svg></h1>
と表示され、ブラウザで見ると<br>と表示され、改行はされぬままです。
色々と自分で検索して調べてはいるのですが、知識不足で分かりません。
お分かりになる方、助けて頂けませんでしょうか

No.4ベストアンサー
- 回答日時:
No3です。
少し調べてみたら、もう少し要領の良い書き方ができそうなので・・・
(同じtextタグを2度書かなくても良くなります)
・defタグ内に雛形を定義しておくことで、これを2回参照します。
・改行はtspanで実現します。行送りはdy属性で変更可能
・文字サイズはfont-sizeで指定可能
・・・etcです
(位置の基準は左上基準にしてあります)
<svg width="500" height="500" viewbox="0 0 500 500" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<text id="word1" font-size="40px" fill="white" x="0" y="0" >
<tspan x=0 dy="0">ああああああ</tspan>
<tspan x=0 dy="40">いいいいいいい</tspan>
<tspan x=0 dy="40">うううううう</tspan>
</text>
</defs>
<use x="100" y="100" href="#word1" stroke="#222" stroke-width="1.5%" />
<use x="100" y="100" href="#word1" stroke="white" />
</svg>
No.3
- 回答日時:
こんにちは
私の環境では、ご提示のリンク先が見られないので、どのようにして作成しているのかがわかりませんが、出来上がったソースを見る限りでは、普通のSVGのようですので、「与えられたテキストをSVGに変換してくれるサイト」なのかなと想像しました。
フォントのアウトラインをどのように実現しているかというと、黒色の文字を太さを太くして描いた上に、白の少し細くした文字をまったく同じ位置に重ねることで、アウトラインに見せているという仕組みですね。
ですので、必ず同じテキストを持ったタグが二つセットで並んでいるはずです。
(黒文字用と白文字用)
制御コード(改行等)は文字としては表示できないので処理対象にならないですね。
(処理前にHTMLタグ(=文字)に変換しているものと想像)
複数行の表示をしたいのでしたら、1行ずつを作成して縦に並べても良いですが、縦位置を制御できますので、同じSVG内ににまとめて記してしまった方が簡単でしょう。
仕組みさえわかってしまえば、直接タグを編集することも可能です。
<h1 style="background-color: hsl(28, 100%, 50%);">
<svg xmlns="http://www.w3.org/2000/svg" role="img">
<text class="word" dominant-baseline="central" fill="#222" stroke="#222" stroke-linecap="round" stroke-width="1.5%" text-anchor="middle" x="50%" y="40%">ああああああ</text>
<text class="word" dominant-baseline="central" fill="white" text-anchor="middle" x="50%" y="40%">ああああああ</text>
<text class="word" dominant-baseline="central" fill="#222" stroke="#222" stroke-linecap="round" stroke-width="1.5%" text-anchor="middle" x="50%" y="70%">いいいいい</text>
<text class="word" dominant-baseline="central" fill="white" text-anchor="middle" x="50%" y="70%">いいいいい</text>
</svg></h1>
四つある<text>タグのうち、最初の2つが「ああああああ」の黒と白文字、後の2つが「いいいいい」の黒と白文字です。
表示された結果は、以下の添付図のようになります。
SVGの記述法を手っ取り早く知りたければ
http://memopad.bitter.jp/w3c/graphics/svg_text.h …
仕様書は
https://triple-underscore.github.io/SVG11/index. …


No.2
- 回答日時:
<や>は制御記号である為、それを制御記号として機能させずに<や>を文字として表示したい場合にエスケープする訳です。
今回は、そうじゃ無くて、そのまま制御記号として機能させたわけでしょ?
だったら、直接
words = [ "ああ<br>あああ", "いいいい<br>いいい", "うううう<br>ううう", …];
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
javascriptのエラーで質問です。
-
確認ダイアログを次からは表示...
-
3重のクォーテーション
-
<div>を移動するには?
-
jQueryのappendで追加したdiv...
-
改行をしたいが、<br>と...
-
SITEINFOの書き方について
-
折りたたみを全て開いて別ペー...
-
jqueryを使ったスムーススクロ...
-
【JavaScript】検索がヒットし...
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
UMLでの例外処理
-
CloseとDisposeの違い
-
エクセルVBAで、MsgBox やInput...
-
VBAでCOPYを繰り返すと、処理が...
-
VBA エンターキーでイベントに...
-
エクセルの画面にユーザーフォ...
-
フォーム上の全てのコントロー...
-
VB IEブラウザへのキーイベント...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
折りたたみを全て開いて別ペー...
-
確認ダイアログを次からは表示...
-
javascriptで複数の表示・非表...
-
特定の条件のHTML要素を一括で...
-
改行をしたいが、<br>と...
-
CSSでreadonlyの機能はあり...
-
macかwinか判別しスタイルシー...
-
SITEINFOの書き方について
-
ブラウザの表示領域から高さを...
-
vml フォントの大きさ変更
-
フォームで「パスワード(確認...
-
【JavaScript】検索がヒットし...
-
タイプライタ風の文字を真ん中...
-
jqueryを使ったスムーススクロ...
-
jQueryのCSSで値に変数を使う方法
-
webサイトに動画をはりつけ、ク...
-
年月日時分を指定してCSSを切り...
-
時間帯によってclass名を変更し...
-
2回目以降のページロード時には...
-
ブログパーツをレスポンシブ化...
おすすめ情報