亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hover生成border造成的元素移動如何解決

發布時間:2021-06-06 14:40:15 來源:億速云 閱讀:346 作者:Leah 欄目:web開發

hover生成border造成的元素移動如何解決?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

前言

我們有時候會遇到 hover 偽類給元素添加邊框的時候,元素中的內容發生位移,雖然我們設置了 box-sizing: border-box 并且規定了元素的寬高,但是內容依然被邊框擠開了。如下面這種情況:

<style type="text/css" media="screen">
    .test {
        height: 30vmin;
        width: 30vmin;
        background: lightblue;
        box-sizing: border-box;
    }
    .test:hover {
        border: 5px solid black;
    }
</style>
<div class="test">
    this is a div.
</div>

hover生成border造成的元素移動如何解決

這里的原因很明顯,我們的元素大小并沒有變(如果沒有設置元素寬高或者 box-sizing: border-box 則元素大小會改變), box-sizing: border-box 是生效的,但是元素中的內容因為突然添加的邊框而被擠開了,我們的盒模型從外到內依次是 marginborderpaddingcontent ,所以新加入的 border 必然將 content 壓縮的更小,并且 content 的邊界坐標也變了,因為導致視覺上的內容移動。所以解決問題的辦法就是讓邊框的添加不影響 content 的位置。

為元素添加邊框

貿然出現的邊框改變了原有的布局,讓內容移動了,既然如此,我們可以在之前的布局中就讓邊框存在就可以了。

.test {
    height: 30vmin;
    width: 30vmin;
    background: lightblue;
    border: 5px solid transparent;
    box-sizing: border-box;
}
.test:hover {
    border: 5px solid black;
}

使用 box-shadow

使用不占用盒模型空間的 box-shadow 或者 outline 也是一種選擇,

.test:hover {
    /* border: 5px solid black; */
    box-shadow: 0 0 0 5px black;
    outline: 5px solid black;
}

用 padding

我們可以通過改變 padding 大小來給 border 預留空間。

.test {
    height: 30vmin;
    width: 30vmin;
    background: lightblue;
    box-sizing: border-box;
    padding: 5px;
}
.test:hover {
    padding: 0;
    border: 5px solid black;
}

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

余姚市| 阜阳市| 宜丰县| 韶关市| 昌宁县| 县级市| 黔西县| 锦屏县| 呼伦贝尔市| 扎兰屯市| 安仁县| 从化市| 呼和浩特市| 子长县| 定远县| 始兴县| 牟定县| 城市| 朝阳市| 天门市| 云浮市| 前郭尔| 万荣县| 嵊州市| 尤溪县| 遂川县| 山东省| 厦门市| 敖汉旗| 稷山县| 华阴市| 兴山县| 徐水县| 丹巴县| 葫芦岛市| 元朗区| 周宁县| 泸水县| 蓬莱市| 玛曲县| 陈巴尔虎旗|