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

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

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

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

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

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

Q&A

解決済

2回答

2064閲覧

-webkit-transformと@media screen について

kuroishi

総合スコア53

JavaScript

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

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

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

0グッド

0クリップ

投稿2017/06/19 04:33

編集2017/06/19 14:37

お世話になっております。
今回はcssで-webkit-transformについての問題です。@media screenを使い、スマホ版に対応するようプログラミングしてみましたがうまくいきません。
CSS

.menu-trigger, .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box; } .menu-trigger.active span:nth-of-type(2) { opacity: 0; } @media screen and (min-device-width: 480px){ .menu-trigger { position: relative; width: 30px; height: 20px; z-index:10001; } .menu-trigger span { position: absolute; left: 0; width: 30px; height: 2px; background-color: #000; border-radius: 4px; } .menu-trigger span:nth-of-type(1) { top: 0; } .menu-trigger span:nth-of-type(2) { top: 10px; } .menu-trigger span:nth-of-type(3) { top: 20px; } .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(10px) rotate(-45deg); transform: translateY(10px) rotate(-45deg); } .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(10px) rotate(45deg); transform: translateY(-10px) rotate(45deg); } } @media screen and (min-width: 480px) { .menu-trigger { position: relative; width: 30px; height: 20px; z-index:10001; } .menu-trigger span { position: absolute; left: 0; width: 30px; height: 2px; background-color: #000; border-radius: 4px; } .menu-trigger span:nth-of-type(1) { top: 0; } .menu-trigger span:nth-of-type(2) { top: 10px; } .menu-trigger span:nth-of-type(3) { top: 20px; } .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(10px) rotate(-45deg); transform: translateY(10px) rotate(-45deg); } .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(10px) rotate(45deg); transform: translateY(-10px) rotate(45deg); } } @media screen and (min-device-width: 0px) and (max-device-width: 480px) { .menu-trigger { position: relative; width: 100px; height: 60px; z-index:10001; } .menu-trigger span { position: absolute; left: 0; width: 100px; height: 10px; background-color:#000; border-radius: 4px; } .menu-trigger span:nth-of-type(1) { top: 0; } .menu-trigger span:nth-of-type(2) { top: 30px; } .menu-trigger span:nth-of-type(3) { top: 60px; } .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(30px) rotate(-45deg); transform: translateY(30px) rotate(-45deg); } .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(30px) rotate(45deg); transform: translateY(-30px) rotate(45deg); } } @media screen and (min-width: 0px) and (max-width: 480px) { .menu-trigger { position: relative; width: 100px; height: 60px; z-index:10001; } .menu-trigger span { position: absolute; left: 0; width: 200px; height: 10px; background-color: #000; border-radius: 4px; } .menu-trigger span:nth-of-type(1) { top: 0; } .menu-trigger span:nth-of-type(2) { top: 30px; } .menu-trigger span:nth-of-type(3) { top: 60px; } .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(30px) rotate(-45deg); transform: translateY(30px) rotate(-45deg); } .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(30px) rotate(45deg); transform: translateY(-30px) rotate(45deg); } }

HTML

<ul> <a class="menu-trigger" id="checker"> <span></span> <span></span> <span></span> </a> </ul>

最初ですが、
@media screen and (min-width: 0px) and (max-width: 480px)
とdiviceを記述していなかったのですが、
@media screen and (min-device-width: 0px) and (max-device-width: 480px)
と記述することで大きさはスマホの向きを変えることで表示がかわりました。
しかし、時折CSSが変更されず、縦向き表示のmenu-trigger spanが横向きにした際でも縦向きの状態ということがあり、@media screenが効きません。
なにかいい解決方法はあるでしょうか。

追記
jQuery内で-webkit-transformを変化させようとしましたが、-があるためエラーがでて反応しませんでした。
もし、jQueryで-webkit-transformを変化させることができるようでしたら、そちらを教えていただきたいです。
よろしくお願いします。

イメージ説明

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

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

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

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

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

guest

回答2

0

ベストアンサー

JavaScript

1.css({ 2 '-webkit-transform': value, 3 ...(4});

これでもいいし、次のように書いてもかまいません。

JavaScript

1.css({ 2 webkitTransform: value, 3 ...(4});

.css()
https://api.jquery.com/css/#css-properties

投稿2017/06/19 05:17

x_x

総合スコア13749

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

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

kuroishi

2017/06/19 07:42

編集してみました。 $(".menu-trigger.active span:nth-of-type(1)").css({webkitTransform: 'translateY(30px) rotate(-45deg)',transform: 'translateY(30px) rotate(-45deg)'}); という感じで記述したのですが、動作しませんでした。解決方法あるでしょうか?
x_x

2017/06/19 07:56

こちらの環境では動いているので、スマホ環境の問題かもしれません(検証できません)。 .css()の書かれている行は実行されているのでしょうか?
kuroishi

2017/06/19 08:11

その確認方法はどのようにすればよいでしょうか?すみません、初心者です。
x_x

2017/06/19 08:20

わかりやすいところの背景色を変えるとかしてみてはどうですか?
kuroishi

2017/06/19 08:48

色を変えるということで、実行してみました。 $(".menu-trigger.active span:nth-of-type(3)").css({webkitTransform: 'translateY(30px) rotate(45deg)',transform: 'translateY(-30px) rotate(45deg)',backgroundColor:'#FFF'}); ですが、変化が見られませんでした。どうすればよいでしょうか。
x_x

2017/06/19 08:52

回答したのは「jQueryによる-webkit-transformの変更方法」なので、そもそもスクリプトが呼ばれていないのはちょっとわからないです。
kuroishi

2017/06/19 14:35

ありがとうございます。 すみません、最後にになんですが、以下のjQueryについてエラーがでたのですが、なにが間違えでしょうか。 var csscheckopacity = ("#span2").css("opacity");
kuroishi

2017/06/19 14:38

追加した写真のような形でエラーがでました。
kuroishi

2017/06/20 05:30

ありがとうございました!大変助かりました!
guest

0

エラーが出ている行で$が抜けているように思います。

var csscheckopacity = $('#span2').css('opacity');

投稿2017/06/20 00:07

T_sa

総合スコア353

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

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

kuroishi

2017/06/20 05:31

補助の質問にお答えいただきありがとうございました! なんとか完成しそうです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問