[解決済み] 要素を移動せずにホバー時にCSSボーダーを追加する [複製]
2022-02-18 16:38:09
質問
ホバー時に背景のハイライトを適用する行があります。
.jobs .item:hover {
background: #e1e1e1;
border-top: 1px solid #d0d0d0;
}
しかし、ボーダーが1px追加されるため 追加 を追加すると、その要素が「移動」してしまいます。ここで(背景画像を使わずに)上記の動きを補うにはどうしたらよいでしょうか?
解決方法は?
ボーダーを透明にすることができます。この方法では、境界線は存在しますが、目に見えないので、周囲に何かを押しつけることはありません。
.jobs .item {
background: #eee;
border: 1px solid transparent;
}
.jobs .item:hover {
background: #e1e1e1;
border: 1px solid #d0d0d0;
}
<div class="jobs">
<div class="item">Item</div>
</div>
すでにボーダーがある要素で、移動させたくない場合は、ネガティブマージンを使用することができます。
.jobs .item {
background: #eee;
border: 1px solid #d0d0d0;
}
.jobs .item:hover {
background: #e1e1e1;
border: 3px solid #d0d0d0;
margin: -2px;
}
<div class="jobs">
<div class="item">Item</div>
</div>
既存のボーダーに幅を持たせるもう一つの方法は
box-shadow
を、必要なピクセル幅の spread 属性で指定します。
.jobs .item {
background: #eee;
border: 1px solid #d0d0d0;
}
.jobs .item:hover {
background: #e1e1e1;
box-shadow: 0 0 0 2px #d0d0d0;
}
<div class="jobs">
<div class="item">Item</div>
</div>
関連
-
[解決済み] font: inheritを使用する目的は何ですか?
-
[解決済み] ChromeでCSSカスタムスタイルのボタンから青枠を削除する
-
[解決済み] MUIでカスタムアニメーションエフェクト@keyframesを適用する方法は?
-
[解決済み] Bootstrap 3 で列からパディングを削除する
-
[解決済み] CSSのdisplayプロパティで遷移する
-
[解決済み] 絶対位置指定された要素をdivの中央に配置するにはどうしたらよいですか?
-
[解決済み] 最初の要素にクラスを指定するCSSセレクタ
-
[解決済み] CSS Flexboxで、"justify-items "と "justify-self "プロパティはなぜないのですか?
-
[解決済み] CSS Font Border?
-
[解決済み】CSSを使用して、すべてのブラウザでdiv要素を垂直方向に中央に配置するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン