質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

ESLint

ESLintは、JavaScriptのための構文チェックツール。全検証ルールを自由に on/offでき、独自のプロジェクトに合わせたカスタムルールを容易に設定することが可能。公開されている様々なプラグインを組み込んで使用することもできます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

2回答

1005閲覧

white-space: pre-wrapとeslint

hi-se

総合スコア15

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

ESLint

ESLintは、JavaScriptのための構文チェックツール。全検証ルールを自由に on/offでき、独自のプロジェクトに合わせたカスタムルールを容易に設定することが可能。公開されている様々なプラグインを組み込んで使用することもできます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2019/04/05 09:41

先程質問した内容

pタグの要素内の上下にmarginでもなくpaddingでもない余白

について、いろいろ触るうちに自己解決欄に書いた方法は間違えていることに気づきました。
以下、問題についての説明です。

問題の説明

現在Vue.jsを使用して開発しており、VS CodeにてESLintをONにした状態で開発しています。
そのため

HTML

1<p class="message-text">{{ message.content.text }}</p>

以上のように書くと

Expected 1 line break after opening tag (`<p>`), but no line breaks found.eslint(vue/singleline-html-element-content-newline)

このような注意が表示され、これに従って修正すると

<p class="message-text"> {{ message.content.text }} </p>

このように自動で改行されます。

これに対して

CSS

1.message-text{ 2 white-space: pre-wrap; 3}

上記のCSSを適用すると、上下には入ってほしくない隙間ができてしまいます。

これに対しての適切な解決策はありますでしょうか。
(ゴリ押しのCSS修正等は自分でもできると思います。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ESLintのvue/singleline-html-element-content-newlinewhite-space: normal;な要素であることを前提にしたルールになっています。<pre>white-space: pre-wrap;が適用される要素に対しては、適切なルールとは言えません。実際に、<pre>はデフォルトで対象外となっています。

実施するとすれば次の三つです。

  1. 該当ルールを無効にする。
    他の全てにおいて無効になってしまいますが、必要なルールに絞るというのもESLintの一つの使い方です。(ルールの無効化方法はESlintのドキュメントを参考にしてください。)
  2. 該当ルールで<p>を対象外にする。
    デフォルトでは<pre><textarea>とインライン要素が対象外です。そこに<p>を追加します。オプション等については下記のドキュメントを参考にしてください。
    vue/singleline-html-element-content-newline | eslint-plugin-vue
  3. 該当の部分だけ対象外にする。
    <template>内は<!-- eslint-disable -->というディレクティブで無効化できます。詳しくは下記のドキュメントを参考にしてください。
    vue/comment-directive | eslint-plugin-vue

下に行くことほど全体の影響範囲が小さくなりますが、該当箇所がたくさんある場合は、それだけ手間が増えることになります。状況にあったものを選択してください。

投稿2019/04/06 06:01

編集2019/04/06 06:02
raccy

総合スコア21735

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hi-se

2019/04/06 11:34

回答ありがとうございます! いまいちルールがまだ把握できてないので、とりあえず言われたことに従っておかないと・・・と思っていましたが、状況にあった選択は必要事項ですね。 詳しい改善策を3通りも提示してくださってありがとうございました。
guest

0

CSS を変更出来ないのであれば、vue/singleline-html-element-content-newline規則を無効化すれば良いと思います。

投稿2019/04/06 06:14

s8_chu

総合スコア14731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

s8_chu

2019/04/06 06:27 編集

既に同じ内容の回答があることに気づきませんでした。 こちらの回答は無視してください。
hi-se

2019/04/06 11:30

回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問