いつも助けて頂き重宝しております。
今回はレスポンシブWebデザインでご存知の方いらっしゃいましたら、
よろしくお願い致します。
トップページはレスポンシブデザインで作成しているのですが、
そこから先の着地ページがどうしてもPC用とスマホ用に分かれているため、
画面サイズに応じてリンク先を変更したいのですが、そのようなことは可能でしょうか?
「トップページ」レスポンシブデザイン
「次のページ」バナーをクリックすると
┃
ディスプレイサイズでリンク先を変更
┏━━━┻━━━┓
スマホの場合 PCの場合
┃ ┃
リンク先A リンク先B
このようなイメージです。。。
できる限りスタイルシートで実現できればと思っておりますが、
難しいようであればどんな手段でも構いませんので、
ご教授の程よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
不可能ではないです。
【スタイルシートで実現する場合】
「次のページ」バナーを二つ配置します。
それぞれ別々のリンク先が設定されています。
ディスプレイサイズに応じて適切なほうのバナーのみを表示するようにスタイルシートを記述します。
たとえば画面幅がスマホサイズのとき、PC 用のバナーに
display: none;
が設定されるようにするのです。
【JavaScript で実現する場合】
window.innerWidth プロパティなどからブラウザの表示幅を取得します。
この値に応じて、「次のページ」バナーの href 属性を適切なものに書き換えます。
たとえば
if (window.innerWidth < threshold) {
document.getElementById('nextPage').href = hrefToMobilePage;
}
のようにします(変数や id 属性の値は適宜書き換えてください)。
私個人の感想ですが、どちらも本質的な解決ではないように思います。
スタイルシートで実現する場合、HTML 文書に余計なアンカー要素を追加することになります。
JavaScript で実現する場合、本来 HTML の機能だけで実現できるハイパーリンクに余計な操作を加えることになります。
小手先の解決と感じられるのは、あなたのサイトにおけるレスポンシブデザインの使い方が本来の意義に反しているからです。
レスポンシブデザインの考え方は、単一のコンテンツを異なるデバイスで快適に見るためのものです。
内容と見え方を分離するという思想に基づくのです。
一方でリンク先を分ける対応は、異なるデバイスそれぞれに異なるコンテンツを用意することです。
見え方も内容の重要な一部であるという思想に基づくのです。
(個人的な見解です)
諸事情のため仕方のない対応なのかもしれません。
しかしできれば、本来の目的や、レスポンシブデザインを用いることで実現したかった結果を振り返ってみてください。
ご説明ありがとうございます。そうなんです。。。
2つの異なるリンク先がそれぞれ別会社のシステムでそれぞれがレスポンシブとそうでないものになっておりまして。。。その中でも自社サイトだけはレスポンシブで構成したいと思っており、このような事情となっております。
正直小手先の解決しかないかなぁと思っていたところですので、頂いた回答で大変助かりました。また機会がございましたら、よろしくお願い致します。
No.3
- 回答日時:
例ですが・・
マークアップは、
<div class="nav">
<ol>
<li><a href=""></a></li>
<li><a href=""></a></li>
</ol>
</div>
HTML5でしたら<nav></nav>になる。
レスポンスで、呼び出される外部スタイルシート(B)の一方に
div.nav ol li+li{display:none;}
と書いておけば良いだけです。検索エンジン、通常のパソコンには全部表示されますが、スマホにはスタイルシート(B)が適用されて二つ目のナビゲーションは見えない。
逆や、一方しか見せないことも同様に簡単です。
具体的なソースまでご説明ありがとうございました。複数のリンクから不要なものを非表示にする方法でチャレンジしたいと思います。また機会がございましたらよろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS リンクバナーのHTMLタグ。画像を変えたり、設置位置を変えるとバナー貼付け側はどう見える? 2 2023/02/01 12:01
- ホームページ作成・プログラミング ログインしないとみることができないWebページの作成方法 3 2023/07/29 13:33
- HTML・CSS スマホでHTMLファイルを開いてリンク先へ移動させたいです 2 2023/03/04 18:06
- JavaScript スマホ上で、左右スワイプで次のページに移動させたいです 2 2022/11/11 17:04
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- その他(プログラミング・Web制作) このWEB用語、WEB文章、意味が分かりますか? 理解できない人が多いようなんですが・・・ 7 2022/10/22 09:13
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
- HTML・CSS 依頼したWEBサイトの修正に追加料金がかかる 10 2022/10/24 09:31
- ドメイン・サーバー・クラウドサービス 自作サイトをサーバーにアップロードしたのですが… 2 2022/11/08 18:12
- WordPress(ワードプレス) WordPressのメニューについて 1 2022/10/22 01:10
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSが上手く反映されないみたい...
-
アコーディオンがうまくいかない。
-
html/cssの、navを2段にする...
-
(HP作成)メニューバーのプル...
-
リストマーカーをボックス内に...
-
ボタンを横に並べて表示させる方法
-
ホームページビルダーで同じ行...
-
divタグ内のコンテンツが重なっ...
-
display:table;を多段表示させたい
-
html <li>の中の文字一部に色を...
-
<table>の高さ固定。情報増加時...
-
カルーセルスライダー「slick.j...
-
リストの並べ替え
-
リンク文字同士の間隔を開ける...
-
レスポンシブWebデザインでリン...
-
リスト(ul / li)タグの左イン...
-
サイドメニューのロールオーバ...
-
<li>タグで数字が同じになって...
-
ol、liをスタイルシートで中央寄せ
-
liタグの中に<p>タグやら<dl>を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<table>の高さ固定。情報増加時...
-
リストマーカーをボックス内に...
-
画像にリンクを張ると画像がず...
-
レスポンシブWebデザインでリン...
-
HTMLで組織図を作成する方法
-
ulタグやliタグの中でbrタグ...
-
ポップアップメニューを表のよ...
-
liタグの中に<p>タグやら<dl>を...
-
リストの数字のフォントサイズ...
-
<ul>~</ul>が二つ続くと間に改...
-
<ul><li></li></ul>にするメリ...
-
html <ul></ul>の並びで一行空...
-
ulとliで囲った文字の一部を変...
-
番号付きリスト(<Ol><Li>・・...
-
html/cssの、navを2段にする...
-
display:table;を多段表示させたい
-
HTML5のfooterに見出しを付けて...
-
divタグ内のコンテンツが重なっ...
-
リストを2つに分割して、それぞ...
-
複数行にまたがる括弧を表示し...
おすすめ情報