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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

Q&A

解決済

1回答

3241閲覧

CSS/レスポンシブの効率的なコーディングの仕方を教えてください。

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

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

CSS

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

1グッド

1クリップ

投稿2016/01/26 08:38

レスポンシブデザインをコーディングするときは、一つcss内にmediaを記述し、サイズ別にコードを記述しています。
基本的には、下記のように異なる箇所だけ、上書きしていくスタイルで書いています。

css

1.hoge { 2 color:red; 3} 4 5@media(min-width : 768px) { 6.hoge { 7 color:blue; 8 margin-bottom: 10px; 9} 10} 11 12@media(min-width : 1024px) { 13.hoge { 14 color: yellow; 15 margin-bottom: 20px; 16} 17} 18

この方法だと、長くなると今選んでるのはどのサイズのコードなのかわからなくなるときがあります。
また、上書きするスタイルだと、同じスタイルを記述してしまうときがあります。
注意すれば問題ない話ではありますが、もう少し効率的な環境や記述の仕方はないかと模索しております。

現在は、下記のようにページ単位でmediaを記述していますが、ヘッダーやサイドなどもう少し細かい単位で書けばわかりやすくなるかなとも考えています。

css

1 2/* Aページ */ 3 4.hoge { 5 color:red; 6} 7 8@media(min-width : 768px) { 9.hoge { 10 color:blue; 11 margin-bottom: 10px; 12} 13} 14 15@media(min-width : 1024px) { 16.hoge { 17 color: yellow; 18 margin-bottom: 20px; 19} 20} 21 22/* Bページ */ 23 24.unko { 25 margin-bottom:5px; 26} 27 28@media(min-width : 768px) { 29.unko { 30 margin-bottom: 10px; 31} 32} 33 34@media(min-width : 1024px) { 35.unko { 36 margin-bottom: 20px; 37} 38} 39

皆さんはレスポンシブのときは、どのように効率的にコーディングしているのでしょうか?
アドバイス等いただけると嬉しいですm(__)m

ちなみにエディタはAtomを使っています。
記述の仕方以外にも、おすすめのパッケージなどあれば、教えてください。
よろしくお願いいたします。

dsk👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

個人的には#header、#footerなどのコンポーネント/パーツ単位で@mediaを記述しています。
1枚のCSSに複数の@mediaが繰り返し記載されることになるのでその点は無駄なのかもしれませんが、
ベースの記述と@mediaの差分記述を近いところに書いておかないと管理が大変なので。。。

@mediaで差分修正する箇所が少なければ1箇所にまとめて@mediaを書けば良いのでしょうが、
実際の案件ではそんなシンプルなものはほとんど無いので、今は毎回そのような形で書いています。

どうしても分散記述した@mediaを1箇所にまとめたければ、
sass+gulp環境などでプラグインを使って自動化すれば良いかと思います。
Gulpだとgulp-combine-media-queries
Gruntだとgrunt-combine-media-queriesあたりのプラグインでその辺は自動化できるようです。

投稿2016/01/26 09:57

aKusano

総合スコア3763

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

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

退会済みユーザー

退会済みユーザー

2016/01/26 14:32

回答ありがとうございます。 なるほど、パーツごとに記述する方が管理しやすいんですね。 やはり差分記述が遠いとわかりにくいですよね;; 個人的には、Atomのパッケージで同一のID・クラス名を@media別にソート・ハイライト表示してくれるような機能があれば、大変便利なんですけどね・・・ 他力本願もよくないので、パッケージの作り方を一から調べてみます^^; プラグインを使うと自動でまとめられるのも始めて知りました。 GulpやGruntは使用したことないですが、まとめるときがあれば、調べてみたいと思います。 参考になりました。ありがとうございました。m(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問