
Elementor使ってるマン
Elementorのアイコンボックスのリンクをボックス全体に適用させたいけどうまくいかない…
プラグインを使えばできるって聞いたけど、重たくなるしあまり入れたくないな。
プラグインを使わずにリンクを全体化させる方法が知りたい。
本記事では、こんな疑問にお答えします。
アイコンボックスのリンクは、デフォルトではアイコンと見出しのみに適用されています。(謎仕様です)
これだとかなり使い勝手が悪いので良い方法がないか探していたところ、解決策を見つけたのでシェアします。
対策としては、追加CSSで疑似要素を追加してあげればOKです。やり方を見ていきましょう。
目次
アイコンボックス全体をリンク化させる方法
方法としては、アイコンボックスに下記CSSを追加します。
/*アイコンボックスのaタグに擬似要素を重ねる/*
.elementor-widget-icon-box a:after {
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 1;
}
/*ホバー時のスタイリング*/
.elementor-widget-icon-box a:hover:after {
opacity: 0.7;
transition: 0.3s;
background: #333;
}
これで、アイコンボックスのリンクが全体に適用されるようになります。
何をやっているか
/*アイコンボックスのaタグに擬似要素を重ねる/*
.elementor-widget-icon-box a:after {
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 1;
}
まずはこの部分から。
アイコンボックスのaタグに対して、幅と高さ100%の疑似要素を重ねており、その疑似要素がaタグの役割をしています。

/*ホバー時のスタイリング*/
.elementor-widget-icon-box a:hover:after {
opacty: 0.7;
transition: 0.3s;
background: #333;
}
こちらはホバー時のスタイリング設定です。
背景色などは自由に変えてください。
画像ボックスの全体リンク化
画像ボックスの場合も基本的にやり方は同じです。
/*画像ボックスのaタグに擬似要素を重ねる/*
.elementor-widget-image-box a:after {
content: "";
display: block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 1;
}
/*ホバー時のスタイリング*/
.elementor-widget-image-box a:hover:after {
opacity: 0.7;
transition: 0.3s;
background: #333;
}
アイコンボックスも画像ボックスも、該当のClass名から疑似要素を指定してかぶせてあげます。
まとめ
今回はアイコンボックス全体をリンク化させる方法について解説しました。少しでも参考になれば幸いです。
その他Elementorに関する記事は下記からどうぞ。