html - Flex 框在悬停时移动

标签 html css flexbox

每当我将鼠标悬停在文本上时,我都希望它有一个底部边框。但是,我也让我的文字向上移动。也许有什么建议?图片 before位置和图像不正确 after被抬起了一点。我知道你不能从截图中看到它。但是,我不知道如何上传视频。

.pages {
  width: 370px;
  font-family: 'Heebo', sans-serif;
  font-size: 18.5px;
  display: inline-flex;
  flex-direction: row;
  margin: auto 0px auto 0px;
  justify-content: space-between;
  padding: 0px 24px 22px 0px;
}

.pages :hover {
  cursor: pointer;
  border-bottom: 1px solid black;
  padding-bottom: 1px;
}
<div class="pages">
  <a id="Gallery">Gallery Walls</a>
  <a id="Contact">Contact</a>
  <i class="fab fa-instagram" id="icon"></i>
  <i class="fas fa-store" id="icon"></i>
</div>

最佳答案

元素移动是因为您在悬停时添加了填充和边框,从而改变了元素的大小。与其在悬停时添加边框,不如给元素一个边框(和填充)作为开始,然后将边框的颜色从透明更改为您选择的颜色。
例如:

.pages > * {
    border-bottom: 1px solid transparent;
    padding-bottom: 1px;
}

.pages > :hover {
    border-bottom-color: black;
}
请注意,子组合器( > )对于您当前的 HTML 结构不是必需的,但在您在任何 a 中添加子元素时很有用或 i元素。或者,您可以给 pages 的每个 child 一样class (例如 page-link )并在此处使用它。

关于html - Flex 框在悬停时移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63473055/

相关文章:

HTML 表单输入自动缩进

html - 如何以编程方式模拟禁用 chrome 样式面板中的背景颜色?

html - 下拉侧边菜单单列像谷歌地图应用程序有什么建议的例子吗?

css - 如果指定了文本溢出,浏览器如何计算 flexbox 的宽度

html - IE 11 不正确显示 flex-direction : column

python - 我无法使用 Python 进行网页抓取来从特定 div 中提取信息。我能做些什么?

jquery - bootstrap 可折叠导航栏开始打开

html - Powershell将流程列表转换为HTML

html - CSS 自定义字体

css - 使用 Flexbox 的完整内容高度和对齐卡片