generated at
UserCSS:レインボー記法
文字装飾記法とかを見て、いじっていたらできてしまった。


けっこう派手エフェクトをかける文字装飾記法です。
使い方は、自分のページstyle.css 、またはsettings
css
@import "/api/code/suto3/UserCSS:レインボー記法/style.css"; /* レインボー記法用 */
そうすると、 [" ] という記法が追加される。
そして、文字装飾記法の書き方で
レインボー記法のテストだよ

レインボー記法のテストだよ

くどいようだけどレインボー記法のテストだよ

 
という風に記述する。

Google ChromeFirefox 上では動いた。
stylexx.css
/*.deco-\! {*/ .deco-\" { color: #fff; /* 白文字 */ background: linear-gradient( to right, red, orange, yellow, green, aqua, blue, purple, red ) 0% center / 200% auto ; /* グラデーション */ padding: 0.1em 0.2em 0.1em 0.2em; animation: rainbow 4s linear infinite; } @keyframes rainbow { to { background-position-x: 200%; } }

グラデーションテキスト版
style.css
.deco-\" { font-weight: bold; background: linear-gradient( to right, red, orange, yellow, green, aqua, blue, purple, red ) 0% center / 200% auto ; /* グラデーション */ padding: 0.1em 0.2em 0.1em 0.2em; animation: rainbow 4s linear infinite; animation-direction: reverse; -webkit-background-clip: text; /* */ /* -webkit-text-fill-color: transparent; /* */ background-clip: text; color: transparent; } @keyframes rainbow { to { background-position-x: 200%; } }



入力を補助するスクリプト。
ポップアップメニューに追加される。
script.js
scrapbox.PopupMenu.addButton({ title: '🌈', onClick: text => text.split(/\n/) .map(line => { if (line.match(/\[\"\s+/)) { return line.replace(/\[\"\s+/g, '').replace(/\]/g, '') } else {  if (!line.length) return line  return `[" ${line}]` } }).join('\n') })
UserScript

↓ここからはオマケ。
style.css
.page::before { content: 'おめでとうございます!! いろがまわって、いろいろ繁盛!!'; display: block; /*border-bottom: 1px solid #bbb;*/ /*margin-bottom: 2rem;*/ color: #fff; /* 白文字 */ background: linear-gradient( to right, red, orange, yellow, green, aqua, blue, purple, red ) 0% center / 200% auto ; /* グラデーション */ padding: 0.1em 0.2em 0.1em 0.2em; animation: rainbow 12s linear infinite; }

style.css
.page::after { content: 'おめでとうございます!! いつもよりも多めにまわしております!!'; display: block; /*border-bottom: 1px solid #bbb;*/ /*margin-bottom: 2rem;*/ color: #fff; /* 白文字 */ background: linear-gradient( to right, red, orange, yellow, green, aqua, blue, purple, red ) 0% center / 200% auto ; /* グラデーション */ padding: 0.1em 0.2em 0.1em 0.2em; animation: rainbow 12s linear infinite; }

カーソルにエフェクトをかけてみたが、効果はいまひとつだった。
stylex.css
.cursor { width: 8px !important; background: linear-gradient( to right, red, orange, yellow, green, aqua, blue, purple, red ) 0% center / 200% auto ; /* グラデーション */ /*padding: 0.1em 0.2em 0.1em 0.2em;*/ animation: rainbow 4s linear infinite; } .cursor svg { display: none; }

赤くなる記法(グラデーション版)
style.css
.deco-\! { /*.deco-\" {*/ color: #fff; /* 白文字 */ background: linear-gradient( to right, red, yellow, /*orange,*/ red ) 0% center / 200% auto ; /* グラデーション */ padding: 0.1em 0.2em 0.1em 0.2em; animation: emred 4s linear infinite; } @keyframes emred { to { background-position-x: 200%; } }

緑になる記法(グラデーション版)
stylexx.css
.deco-\# { color: #fff; /* 白文字 */ background: linear-gradient( to right, green, yellow, green ) 0% center / 200% auto ; /* グラデーション */ padding: 0.1em 0.2em 0.1em 0.2em; animation: emgreen 4s linear infinite; } @keyframes emgreen { to { background-position-x: 200%; } }

橙になる記法(グラデーション版)
style.css
.deco-\% { color: #fff; /* 白文字 */ background: linear-gradient( to right, orange, yellow, /*orange,*/ orange ) 0% center / 200% auto ; /* グラデーション */ padding: 0.1em 0.2em 0.1em 0.2em; animation: emorange 4s linear infinite; } @keyframes emorange { to { background-position-x: 200%; } }

青になる記法(グラデーション版)
style.css
.deco-\~ { color: #fff; /* 白文字 */ background: linear-gradient( to right, blue, aqua, blue ) 0% center / 200% auto ; /* グラデーション */ padding: 0.1em 0.2em 0.1em 0.2em; animation: emblue 4s linear infinite; } @keyframes emblue { to { background-position-x: 200%; } }

UserCSS
MDN