
色々と試してみるのですが、いまいち仕組みが理解できず実装ができずアドバイスをお願いできればと思います。
行いたいとこは、特定の要素が画面に入った際に、borderがアニメーションで始まって囲んでいくというものです。borderが上から、 →↓←↑の流れで動いていくイメージです。
スクロールの検知は実装しています。
ただ、どのようにボーダーの線を走らせるのかが理解できておらずうまくいきません…。
動きのイメージとしてはこちらのサイトに掲載されている、
https://goworkship.com/magazine/css-border-effec …
CSS Border Transitions内の、Drowの動きになります。
ただ、こちらのサイトで紹介されているものは、マウスオーバー時に発火するため、なんとなくhoverというのは理解できるのですが、スクロールで表示された際に走らせるにはどうしたらよいものでしょうか?
おわかりになる方いらっしゃいましたらアドバイスを頂けますと幸いです。
宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんばんは
>どのようにボーダーの線を走らせるのかが理解できておらず
ごく簡単に言えば、元のboxと同じサイズのboxを疑似要素(before,after)で二つ作っておいて、それぞれに例えば「上右」、「下左」の枠線を受け持たせます。
この要素のwidth、heightを順に 0→100%にCSS transitionで変化させることで、枠線が伸びてゆくように見せています。
(width、heightで行っているため、1つの要素では枠線2つまでしか受け持てない)
>スクロールで表示された際に走らせるにはどうしたらよいものでしょうか?
トリガーを置き換えればよいですね。
簡単なのは、要素にクラス属性を付与することでしょうか。
>スクロールの検知は実装しています。
とのことですので、わかり易い手順として・・・
1)まず、参考サイトの内容をそのまま実装します。
(hoverで動作することを確認してください)
2)CSSの「〇〇:hover::before」などのトリガーをクラスに変更します
(例えば「active」クラスなら、「○○.active::before」といった要領)
3)スクリプトで「検知」したら、対象要素にactiveクラスを付与すれば
そのタイミングで、ボーダーが表示されるようになります。
(整合さえしていれば、クラス名はなんでもよいです)
※ 意味がわかれば、1)は省略して直接 2)から始めればよいでしょう。
有難うございます!
動作のCSS側はまだ把握しきれていない部分がありますが、何とかスクロールでの発火することができました。
別途jqueryにてclass指定を行い、そのclassがスクロール位置に来たらaddClassで今回::beforeなどのCSSにつけたclass名を付与するようにいたしました。
今度はもう少し記述内容を確認してみたいと思います。
詳しいご解説有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
含む含まないという概念自体の...
-
角丸画像の背景色を透明にした...
-
質問1.
-
smallにtext-allignが効かない
-
input type="hidden"で取得した...
-
既婚男女の方、結婚前と結婚後...
-
aの中にspan
-
2個のFormを横並びにしたい
-
マージソートの計算量について-...
-
figcaption要素の中にul要素
-
ホームページ作成ソフトKompoZe...
-
このサイトのカテゴリのチェッ...
-
エクセルでグラフにマークを入...
-
text-alignは、行の高さですか?
-
テンソル解析(絶対微分学)は...
-
タグは大文字と小文字どちらが...
-
親要素・子要素
-
HTML の繰返し法???
-
ホームページビルダー16の属...
-
<H>タグの見出しと<P>タグの本...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テンソル解析(絶対微分学)は...
-
含む含まないという概念自体の...
-
見た目と声さえ良ければ、他の...
-
既婚男女の方、結婚前と結婚後...
-
smallにtext-allignが効かない
-
1から100までの自然数のうち、2...
-
改行ほどは行かないけど、若干...
-
NからZへの全単射を具体的に構...
-
aの中にspan
-
input type="hidden"で取得した...
-
マージソートの計算量について-...
-
角丸画像の背景色を透明にした...
-
HTML の繰返し法???
-
【ヒトの神秘】美男美女から何...
-
textareaの幅を画面と合わせたい
-
CSSで改行後の行間調整
-
HTMLページ上でiframeを最前面...
-
質問1.
-
html タグの閉じスラッシュ前の...
-
tdに対してmin-heightの定義、...
おすすめ情報