2 回答

TA貢獻1942條經驗 獲得超3個贊
您可以利用該backgroud-clip
屬性來利用這一點。
background-clip CSS 屬性設置元素的背景是否延伸到其邊框框、內邊距框或內容框下方。
將按鈕的大小設置為 40 像素 x 90 像素,并添加 3 像素的填充。
然后在懸停時,設置background-clip: content-box
背景顏色將僅限于內容而不是填充。
夸張的例子如下:
body {
? background: lightgreen;
}
.button {
? height: 30px;
? width: 80px;
? border-radius: 22px;
? background: blue;
? display: flex;
? justify-content: center;
? align-items: center;
? margin: 2em;
? padding: 8px;
? border: 1px solid red;
? color: white;
}
.button:hover {
? background-clip: content-box;
}
<div class="button">Button</div>
正如您從邊框中看到的,按鈕大小沒有改變,但背景只是沒有從內容延伸到邊框。

TA貢獻1852條經驗 獲得超1個贊
懸停時,嘗試添加與按鈕背景大小相匹配的透明邊框,并根據需要6px
進行更改。background-color
這將達到預期的效果,但也會在視覺上減小按鈕的尺寸。從你的問題來看,尚不清楚這是否是可接受的副作用。
- 2 回答
- 0 關注
- 188 瀏覽
添加回答
舉報