vektor-inc / vk-all-in-one-expansion-unit

wordpress plugin of powerful support
https://ja.wordpress.org/plugins/vk-all-in-one-expansion-unit/
GNU General Public License v2.0
7 stars 1 forks source link

カスタムCSS内に`<`が含まれるとエスケープ処理されてしまう #1088

Closed hsgw closed 5 months ago

hsgw commented 5 months ago

カスタムCSS内にメディアクエリの範囲指定で使用する<が含まれると、HTMLタグと誤判断され削除され正しいCSS文字列として出力されません。

入力文字列

@media (width >= 1000px) {
  p { color: red;}
}

@media (width > 1000px) {
  p { color: green;}
}

@media (width <= 1000px) {
  p { color: blue;}
}

@media (width < 1000px) {
  p { color: blue;}
}

出力HTML(抜粋)

<style type="text/css">/* VK CSS Customize Single */@media (width >= 1000px) { p { color: red;}}@media (width > 1000px) { p { color: green;}}@media (width </style>
kurudrive commented 5 months ago

最近 ExUnit のカスタムCSS 機能はあまり使う出番がなくなってきたように思いますが、どんなケースで使ってますか?

hsgw commented 5 months ago

単純にテーマファイルをいじるまでもないCSSを直接書き込んでいます。

kurudrive commented 5 months ago

外観 > カスタマイズ > 追加CSS ではなくて ExUnit の方を使う理由は何かありますか?

hsgw commented 5 months ago

再利用しないCSSのスコープを狭めたいため、ページ内で使用しています

kurudrive commented 5 months ago

特定のページの編集画面の下に表示される入力欄で使っているという事ですね。理解しました。 ブロックエディタを使っていますか?クラシックエディタですか?

hsgw commented 5 months ago

その通りです。ブロックエディタを使用しています。

kurudrive commented 5 months ago

なるほど、ちょっと修正まで時間がかかるかもしれないので、 お急ぎの場合はカスタムHTMLブロックを配置して、以下のように記述してください。

<style type="text/css">
@media (width >= 1000px) {
  p { color: red;}
}

@media (width > 1000px) {
  p { color: green;}
}

@media (width <= 1000px) {
  p { color: blue;}
}

@media (width < 1000px) {
  p { color: blue;}
}
</style>
hsgw commented 5 months ago

代替案、ありがとうございます。 私の方では、カスタムCSS内で<を使用せずに

@media (1000px >= width)

として回避しています。

現状、<を使用できないことが周知できればと思いご報告させていただきました。 ご対応よろしくお願いします。

kurudrive commented 5 months ago

@hsgw ご報告ありがとうございます! ( ̄人 ̄)

kurudrive commented 5 months ago

@hsgw ご報告ありがとうございました。9.98.0.1 にて修正いたしました。