今日は、クリ★スタ模写・中級でつまずいたところ①をアウトプットしていきます。
こんにちは。プログラミングでweb制作ができるようになりたいharuです。
2歳0歳の育児をしながら、22時〜1時に独学しています! わかったことや、気付きをログに残します。同じく初学者の人が、これをみてインプットや復習ができるように書いていきます。
クリ★スタ模写・中級でつまずいたところ①
現在、クリ★スタさん(@cresta_design)のXDデザインカンプをお借りして、模写コーディングに励んでいます。(模写コードはこちらで公開中→haruのGitHub)
つまずく→解決がたまってきたのでシェアします。
模写コーディングで同じくつまずいている方の参考になればうれしいです。
①buttonタグにリンクを貼る
トップページのボタンを<button>タグで作成しました。
こちらの黄色のボタンです。HTMLはこのように書きました。
<div class="btn--center"> <button onclick="location.href='./contact.html'" class="btn--yellow"> <p class="btn__txt">Contact</p> </button> </div>
ボタン自体は、<button>Contact</button>でできる。
しかし、これにリンクを貼る方法がわからなかったので、こちらで勉強しました。
buttonタグの要素に、
onclickを追加すればOKです。linkは<a>以外にもこんな方法があるんだな。
ちなみに、href以下は相対パスで書かれていて、「./」は省略可能。
「htmlファイルが置かれている場所」を基準として、指定するファイルの場所を示す方法。
今回の場合はcontact.htmlが、htmlファイルの置かれている場所と同じ階層にあったので、
①href=’./contact.html’
②href=’contact.html’
いずれかで書く。
./ は同じ階層。
../ はひとつ上の階層。
<button onclick="history.back()">戻る</button>
画像の下にできる謎の余白を消す
vertical-align: bottom;
ちなみに、bottom以外でもtop,left,rightも指定可能です。
見にくいですが、before→afterです。
模写の中級(@cresta_design)
— haru✍️育児×プログラミング (@fuwafuwahappy) July 25, 2020
▫️画像の下にできる余白を消す
vertical-align: bottom;
またひとつ新たな知識(`・ω・´)paddingもmarginもついてないのになぜ?と思ったらこれだった!#駆け出しエンジニアと繋がりたい pic.twitter.com/1pzybSSc1p
jQueryで固定ヘッダーの背景色を変える
jQueryでヘッダーの背景色を変える実装をしました。
練習のため、1からコードを書きました。
模写の中級(@cresta_design)、1から自分でjQueryのコード書いてみた。ちゃんと動いて感動..!
— haru✍️育児×プログラミング (@fuwafuwahappy) July 26, 2020
①スクロールがfvを超えたら
②固定headerの色を変える
これを、いずれは生のJavaScriptでも書けるようになりたい(´・ω・`)#駆け出しエンジニアと繋がりたい pic.twitter.com/m26DBswoRu
書いたコードは、以下の通り。
(このコードが正しいのか、きれいなのか判断ができないのが悲しいけど、ちゃんと動いてます…)
解説
「.header =fv画像」の高さをmainPosとして定義。
この高さより、topからのスクロール量が多くなった場合はtransformクラスをつける。
→スクロール量が少なくなったらクラスを外す。
transformクラスは、ヘッダーの色を変えるCSSが書かれています。
スクロール量で監視をして、クラスの付け外しをすることで背景色を変化させます。
あとがき
直訳:交差監視。スクロールに応じてイベントをおこなうAPI。(JSのscrollだと画面によってスクロール量が変わりバグの温床に..)
— はる🌸ARUTEGA (@fuwafuwahappy) July 27, 2020
・遅延ロード
・無限スクロール
など。jQueryで書いた「fvを超えたらヘッダーの色変更」もできちゃうわけですね🙇♀️https://t.co/oPvTOB1RNh https://t.co/yQlHvOOdTs
調べることも、学ぶこともいっぱいありますが、ひとつひとつですね..!
もりけんさんのHPはこちら