アコーディオンメニューなどJavaScriptを使わずにCSS3で実現できますが、わざわざJavaScriptで勉強すべきか?というのが質問です。
Flashのように2020年に廃止されるものであれば、HTML5だけを勉強すればいいですが、よほど古いブラウザでない限りCSS3でできることをオン/オフの切り替えができるJavaScriptで勉強すべきかどうか疑問です。
CSS3でできることは余裕があれば、JavaScriptでも勉強すべきなのでしょうか?
よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
過去ログを読んで、Webデザイナを志しているとお見受けしました。
アコーディオンメニュー
よほど古いブラウザでない限りCSS3でできることをオン/オフの切り替えができるJavaScriptで勉強すべきかどうか疑問です。
アコーディオンメニューというのは、JavaScriptとしては決して難しいものではありません。
問題は「アコーディオンメニューを自力で作れる程度のJavaScriptの知識を持っているか」ということではないでしょうか。
Webデザイナとして職に手を付けるにあたって、「私はJavaScriptは分かりません。HTML/CSSだけなら分かります。」でずっとやっていくのなら、それでもいいですが、そうでないならアコーディオンメニューの作り方を覚える事にデメリットは存在しないと私は思います。
仮に業務上でJavaScriptを利用したアコーディオンメニューを作る機会がなかったとしても、アコーディオンメニューを作る為に習得した技術的知識は必ず役に立ちます。
また、企業側からすると、何らかの成果物があった方がその人の実力を判断しやすい為、求人に応募する際のメリットにもなりますね。
「覚えるべき技術」と「覚えなくていい技術」
Flashのように2020年に廃止されるものであれば、HTML5だけを勉強すればいいですが、
こちらの文章を読んで、下記質問を思い出したので触れておきます。
- HTML - HTML4は切り捨てて勉強すべきか?(107278)|teratail
- JavaScript - 今後、どのブラウザを主体にウェブ制作を進めればいいか?(107277)|teratail
全体として、「主要な技術を一つだけ学び、他を切り捨てたい」という意思が見て取れますが、その考え方は危険です。
「無駄な技術は覚えたくない」という気持ちは分からなくもないですが、日進月歩で進化する世界ですので、世代交代は有りますし、世代交代の為に過去の技術が必要になることもあります。
- 主要ブラウザをGoogle Chromeに設定したとしても、IE11やFirefoxで確認しなくてよくなるわけではありません。今どきのWebサイトは主要ブラウザ全てで閲覧可能なのが通常であり、特定のブラウザしか閲覧不可能なWebサイトにはなりません。
- HTML4の既存サイトに機能追加する場合にHTML4からHTML5にアップグレードするか、HTML4のままで機能追加するか、の選択を迫られます。いずれにしても、HTML4とHTML5の違いを理解していなければなりません。
Re: skpro さん
投稿2018/01/31 14:04
総合スコア18156
0
基本的な認識に齟齬があります. CSSとJavaScriptとを比較することそのものに意味がありません.
HTMLやCSSは文書データやスタイル等の構造を記述するための言語(マークアップ言語とスタイルシート言語)であり, JavaScriptはそれらを操作するための手続きを表す言語(スクリプト言語)であるからです. 役割が異なる二つの対象を比較することは出来ません.
アコーディオンメニューなどJavaScriptを使わずにCSS3で実現できますが、わざわざJavaScriptで勉強すべきか?というのが質問です。
Flashのように2020年に廃止されるものであれば、HTML5だけを勉強すればいいですが、よほど古いブラウザでない限りCSS3でできることをオン/オフの切り替えができるJavaScriptで勉強すべきかどうか疑問です。
JavaScriptはスタイルシートのON/OFFを切り替えるためだけに存在しているわけではありません.
なお, あなたがやりたいことが全て静的なCSSの範疇で閉じているのであれば, わざわざJavaScriptを学ぶ必要はありません.
CSS3でできることは余裕があれば、JavaScriptでも勉強すべきなのでしょうか?
よろしくお願いします。
必要に迫られてJavaScriptを学ぶのであって, あなたが現状要らないと感じているのであれば, それで良いのです. では, その必要性とは何でしょうか? 概ね次の条件に合致する場合です.
- 静的なHTML文書だけでは対処が難しい場合
- 静的なスタイルシートだけでは対処が難しい場合
- その他WEB APIを利用したWEBアプリケーションを構築する場合
NOTE:
しかし現実問題として静的なHTML/CSSだけで全ての要件が解決するはずがないため, 皆んな渋々JavaScriptを学んでいるのです. とは言え, JavaScriptを学ぶことでWEBブラウザの内部構造についての理解が深まるため, WEBエンジニアを目指すのであれば習得が必須の技術と言えるでしょう.
投稿2018/01/31 13:10
編集2018/01/31 14:21総合スコア4756
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/01/31 13:18
2018/01/31 14:15 編集
2018/01/31 14:16
2018/01/31 14:23
2018/01/31 14:26
0
ベストアンサー
CSSだけで実現できるのであれば、JavaScriptを書く必要はありませんが、開発者なのであればJavaScriptは勉強すべきです。基本はそんなに難しくないですし、いちどにすべてを勉強しようとせず、とりあえず得意な部分や興味のある部分からとりかかればよいと思います。
※開発者を目指していないのであれば必要はありません。
ケースとしてJavaScriptが必須になることもあります。例えば、JavaScriptの処理中にCSSを変更したい場合は、JavaScriptとCSS両方の知識が必要になります。CSSクラスを変更するのか、追加するのか、styleを追加するのか、知らなければソリューションも見つかりません。
知識として覚えておけばできることの可能性が広がります。つまりアイディアも広がります。
下記のような質問にはどのように答えますでしょうか?
- 掛け算がわかるなら、足し算を勉強する必要はないのでしょうか?
- 連立方程式がわかるなら、つるかめ算を勉強する必要はないのでしょうか?
投稿2018/01/31 13:02
総合スコア1652
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
label要素を使ったピュアCSSアコーディオンメニューは、PCならかなり昔から動作しましたが、iOSはバージョン8になるまで不具合があったはずです。
少なくともiOS6で動作せずにショックを受けた記憶があります。
ほんの3、4年前ですから、「よほど古いブラウザ」というほどではないですね。デバイスで言うとiPhone4はiOS8が対応していませんから、アコーディオンメニューが動作しない可能性があります。試したわけではありませんが。
HTML/CSSを表示する新しいデバイス登場した時に、そのブラウザが現行の仕様にすべて対応するとは限らないと思います。
また、現行のHTMLの仕様ではlabel要素に activation behavior があるプラットフォームの場合、
On other platforms, the behavior might be just to focus the control, or do nothing.
とされています。
あまり油断されないほうがいいかもですね。
投稿2018/01/31 13:51
編集2018/01/31 13:52総合スコア35860
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/31 14:15
2018/01/31 14:46
2018/01/31 14:53
2018/01/31 15:02
2018/01/31 15:05