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

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

新規登録して質問してみよう
ただいま回答率
85.47%
CSS

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

Q&A

解決済

1回答

1745閲覧

cssのコンフリクト

maguzo

総合スコア57

CSS

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

0グッド

0クリップ

投稿2018/07/30 13:15

非常にシンプルな質問なんですが、デザインにおいて複数の物を外部からDLしたものを利用する場合に
コンフリクトすることがあると思います。
例えば以下のようなケースで、全体のデザインはmain.cssで定義されており、
例えばbutton要素も定義されているのですが、実際にbutton要素だけに限っては
button.cssを利用したいというようなケースです。

このような場合、両者がコンフリクトしてしまい、button.cssが単純に導入できず、
デュベロッパーツールで検証しながら、適用したくないものは上書きして、どちらにも
存在するものはimportantを付してなど気の遠くなるような作業をしており、
もはや一から自分でパーツを作ったほうが早いような状況にいつも遭遇します。
もちろん、2つのソースだけならまだしも、複数ある場合にはもはや気絶です、、

例えばなのですが、.piyo要素だけにはmain.cssを適用しないような
除外的な処理は可能なのでしょうか?もちろん同一のページ内には基本的にはmain.cssを
適用していたいと言う状況です。

基本的なcssの運用方法に関する質問ですが、ご助言願います。

html

1<link rel="stylesheet" href="../main.css"/> <!--button{color:#fff;border-style:dotted;} --> 2<link rel="stylesheet" href="../button.css"/><!--.piyo{color:#000;}  3いちいち コンフリクトを探して一つずつ!importantをつけたり、、、、 4border-style:none!importantで打ち消したり、、大変です、、--> 5<button class="piyo"></button> 6

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

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

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

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

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

guest

回答1

0

ベストアンサー

CSS定義を一部だけ別の物に変えるにはWeb Componentsとか使う以外ないと思います。

【ライブラリを使わずここまでできる!Web Componentsで近未来のフロントエンド開発 | ヌーラボ】
https://nulab-inc.com/ja/blog/cacoo/web-components/

【Web Componentsとは何か?】
https://qiita.com/jtakiguchi/items/b1315f53b3726ff11b61

通常はコーディング規約を共有するなどして CSSの定義時に他のライブラリと競合する様な書き方をしない、という方法が一般的かと思います。

投稿2018/07/30 13:39

kei344

総合スコア69416

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

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

maguzo

2018/07/30 13:55 編集

kei344様 ご回答ありがとうございます。 Web Componentsは早速調べ始めているのですが、一点、おっしゃる点がわからない箇所がありました。 >>通常はコーディング規約を共有するなどして CSSの定義時に他のライブラリと競合する様な書き方をしない、という方法が一般的かと思います。 こちらはそもそも外部ライブラリを利用することなどを前提にせずに、競合するようなスタイル構築を一からしないという意味合いでしょうか? 例えば外部ライブラリでbutton{}のような一般要素に対する定義をされてしまった時点でもはや絶対に将来的にどこかと競合してしまうため(もし複数のbuttonデザインを想定しているならですが)、例えばclassやidでしか指定しないという意味で、そのような書き方をしないということでしょうか。 ともすれば初めから外部ライブラリ、当初からどっぷり依存すること自体がすでに競合が避けられないという点で理解することができます。 もしbutton{}のような定義がなされている外部ライブラリを使用する上で、競合する様な書き方をしないという手段があり、それをさしていらっしゃるのであれば、それはどのようなことがをご教示いただければとても嬉しいです。 よろしくお願いいたします。
kei344

2018/07/30 13:59

> 競合する様な書き方をしないという手段があり、 ありません。
maguzo

2018/07/30 14:11

コメントありがとうございます。 大変勉強になりました、またWeb Componentsを見ていて衝撃を受けているのですが、自分でタグを定義することもできてしまうのですね、、確かにこれであれば、競合のリスクも減ると思いますが、複数人でコードを書くときはどこかに明確に定義しなければ混沌としそうですね。。 こちらは引き続き、今晩読み進めてみたいと思います。 何れにしても、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問