html - 在按钮悬停时限制 div 调整大小

标签 html css

我正在使用 css 创建一个带有按钮的导航栏,我希望在不调整 div 大小的情况下悬停时具有背景颜色。我希望按钮留在原地,只是在它们后面有背景颜色。

.topnav {
  overflow: hidden;
  background-color: #1C313A;
}

.topnav a {
  float: left;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.topnav-right {
  float: right;
}

button {
  padding: 0px 0px;
  background-color: transparent;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease 0s;
  margin-left: 20px;
}

button:hover {
  width: 50px;
  height: 50px;
  background-color: #192C34;
  border-radius: 50%;
  padding: 0px 0px;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<div class="topnav">
  <a href="#home">
    <button>
                <i class="fa fa-save fa-lg"></i>
              </button>
  </a>

  <a href="#news"><button>
            <i class="fa fa-upload fa-lg"></i>
          </button></a>

  <a href="#contact">
    <button>
                <i class="fa fa-save fa-lg"></i>
              </button>
  </a>

  <div class="topnav-right">
    <a class="logo" style="pointer-events:none;">TidyBlocks</a>
  </div>
</div>

当前输出:

enter image description here

期望的输出

enter image description here

最佳答案

.topnav {
  overflow: hidden;
  background-color: #1C313A;
}

.topnav a {
  float: left;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

.topnav-right {
  float: right;
}

button {
  padding: 0px 0px;
  background-color: transparent;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: all 0.3s ease 0s;
  margin-left: 20px;
  width: 50px;
  height: 50px;
}

button:hover {      
  background-color: #192C34;
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

<div class="topnav">
  <a href="#home">
    <button>
                <i class="fa fa-save fa-lg"></i>
              </button>
  </a>

  <a href="#news"><button>
            <i class="fa fa-upload fa-lg"></i>
          </button></a>

  <a href="#contact">
    <button>
                <i class="fa fa-save fa-lg"></i>
              </button>
  </a>

  <div class="topnav-right">
    <a class="logo" style="pointer-events:none;">TidyBlocks</a>
  </div>
</div>

关于html - 在按钮悬停时限制 div 调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58543461/

相关文章:

javascript - 如何将图像的边缘像素重复到无穷大?

php - 如何在不使用按钮上的提交事件的情况下提交表单。

html - Border-Box 100% 宽度计算 - 文本不适合

css - Material Icons Rounded 不适用于 Internet Explorer 11

css - 如何更改 yammer 共享按钮的 css 文件

javascript - 如何使用 CSS 或 JS 让一些文本输入在输入中显示帮助图标?

html - 使用 css 定位元素

javascript - 如何blit DOM?

javascript - 如何通过在javascript中单击元素符号来显示图像?

javascript - 简单js函数调用引用错误