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

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

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

プログラミングでのデザインとは、プログラムの構成や、使用の信頼性・持続性・正確性・利便性の目標達成にはどうするのがベストなのか特定の選択を行うことです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

2回答

1825閲覧

CSS 三角形 リンク飛ばしたい

masa000

総合スコア12

デザイン

プログラミングでのデザインとは、プログラムの構成や、使用の信頼性・持続性・正確性・利便性の目標達成にはどうするのがベストなのか特定の選択を行うことです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

0グッド

1クリップ

投稿2019/03/19 07:37

編集2019/03/19 08:07

cssで長方形を4つの三角で分割した背景画像を作りました。
そこで質問なのですが、やりたこととしては、その三角形を押したら<a href="">でリンク先に飛ばしたいと考えているのですが、なかなかいい方法が思いつきません。
<a href="">を width="100%" height="100%" にしたのですが、<a href="">はposition:fixed;の画面全体が対象になっているので、ダメでした。

HTML

1<main class="root"> 2 <div class="stage"> 3 <div class="a"></div> 4 <div class="b"></div> 5 <div class="c"></div> 6 <div class="d"></div> 7 </div> 8</main>

CSS

1.root{ 2 position:fixed; 3 top:0; left:0; 4 width:100%; height:100%; 5} 6.stage{ 7 position:absolute; 8 top:0; left:0; 9 width:100%; height:100%; 10} 11.a, .b, .c, .d{ 12 position: fixed; 13 top: 0; left: 0; 14 width: 100%; height: 100%; 15 /* opacity: 0; */ 16} 17.a{ 18 border-top: 50vh solid #BACDB0; 19 border-right: 50vw solid transparent; 20 border-bottom: 50vh solid transparent; 21 border-left: 50vw solid transparent; 22 animation: fadeShow 1s linear 1s forwards; 23} 24.b{ 25 border-top: 50vh solid transparent; 26 border-right: 50vw solid #C2B8B2; 27 border-bottom: 50vh solid transparent; 28 border-left: 50vw solid transparent; 29 animation: fadeShow 1s linear 1.5s forwards; 30} 31.c{ 32 border-top: 50vh solid transparent; 33 border-right: 50vw solid transparent; 34 border-bottom: 50vh solid #6C5A49; 35 border-left: 50vw solid transparent; 36 animation: fadeShow 1s linear 2s forwards; 37} 38.d{ 39 border-top: 50vh solid transparent; 40 border-right: 50vw solid transparent; 41 border-bottom: 50vh solid transparent; 42 border-left: 50vw solid #30343F; 43 animation: fadeShow 1s linear 2.5s forwards; 44}

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

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

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

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

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

m.ts10806

2019/03/19 07:54

html もご提示ください。
guest

回答2

0

clip-path で。IE/Edge は未対応です。

CSS

1.a a, .b a, .c a, .d a { 2 display: block; 3 width: 100%; 4 height: 100%; 5} 6 7.a { 8 clip-path: polygon(0% 0%, 50% 50%, 100% 0%); 9 background: #BACDB0; 10} 11 12.b { 13 clip-path: polygon(50% 50%, 100% 100%, 100% 0%); 14 background: #C2B8B2; 15} 16 17.c { 18 clip-path: polygon(50% 50%, 0% 100%, 100% 100%); 19 background: #6C5A49; 20} 21 22.d { 23 clip-path: polygon(0% 0%, 0% 100%, 50% 50%); 24 background: #30343F; 25}

https://developer.mozilla.org/ja/docs/Web/CSS/clip-path

投稿2019/03/22 02:42

x_x

総合スコア13749

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

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

0

四角形以外のクリックエリアを作成するには、下記の4つくらいだと思います。

  1. HTMLのmap要素を使う
  2. SVGを使う
  3. CSSのtransformを駆使する
  4. JavaScriptでクリック地点の座標を取得して判別する

【レスポンシブなイメージマップの作成 - Qiita】
https://qiita.com/tknakatsu/items/a37b0cb9939f9f6458e6


提示のコードではtransparentが設定されているだけでクリックできるので、重ねあわせが上のものだけしかクリックされないのでは。

投稿2019/03/19 11:01

kei344

総合スコア69407

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

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

masa000

2019/03/19 11:44

もう少し考えてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問