2017-06-26 9 views
0

は、私は、静的なウェブサイトを持っている名前を変更します。このウェブサイトの一部は別のウェブサイトに挿入されます。だから私は私のプロジェクトからの新しいCSSファイルが古いものを壊さないようにする必要があります。パターンによるすべてのHTML、CSSやJSのすべてのセレクタ(セレクタに接頭辞を追加)

私がしなければならないことの一つは、そのようなすべてのセレクタ名前を変更することです:

<button class="button"> 

<button class="my-button"> 

.button { 
    background: blue; 
} 

を好ましくは

$('.my-button).on('click'); 

から

$('.button').on('click'); 

GULPまたはpostCSSしかし、他の方法とあまりにも動作します。 GULPプラグインはありますか?これまでのところ、私はCSSのためだけに見つかりました。

ありがとうございました。

+0

テキストエディタを使用して名前を変更します。 – clarkoy

+0

なぜnotepad ++ replaceALL関数を使用しないのですか? – user5014677

+0

さて、たくさんのコードとたくさんのセレクタがあります。 – Cypher

答えて

0

これが唯一のCSS部分についてですが、私はあなたのための自動化された方法がとにかくないと思う:

私は別のアプローチを試してみました。あなたの含まれているウェブサイトがコンテナの中に座っていると確信しています。それがiframeの場合は、とにかく衝突する危険はありません。何もする必要はありません。

  1. は* .scss
  2. は「新しいファイルを作成するために、すべての* .cssファイルの名前を変更します、右の別のHTML文書に含まれている場合、物事が衝突しないことを確認し、次のように進めること

    .my-website { @import("header.scss"); @import("main.scss"); @import("footer.scss"); }

:すべてのあなたの名前を変更したcssファイルを(それが正しい順序だことを確認してください)が含まれますincludes.scss」 10

これは、含まれているすべてのファイルをクラスコンテキストに入れて、ルールが含まれているのは.my-websiteコンテナ内の要素にのみ影響します。

+0

いいえ、iframeにはなりません。通常のページがあり、両方のプロジェクトのコンポーネントがあります。 .my-website **の**にまとめていただきありがとうございますが、私の場合はもう助けになりません。 – Cypher

+0

実際にはCSSが最も簡単です。プレフィックスを追加するために[このプラグイン](https://github.com/johnotander/rework-class-prefix)が見つかりました。プロパティに**!important **を追加するには、[プラグイン](https://www.npmjs.com/package/gulp-prefix-css)があります(反対の問題を解決します)。しかし、これまでのところ、HTMLやJSでは何も見ません。 – Cypher

関連する問題