为什么我的 div 元素无法正常增长?

发布于 2025-01-16 07:24:44 字数 2737 浏览 3 评论 0原文

我尝试将社交网络的元素放在一起,当我将鼠标悬停在每个元素上时,它会增长到 200 像素的大小。我编写了所有代码,但是当鼠标放在元素上时,元素无法正常增长并且看起来像椭圆形。有谁可以帮助我解决这个问题吗?

<style>
:root {
  --color-orange: #ff6600;
  --color-green: #22d122;
  --color-cyan: #33ffff;
  --color-magenta: #f33192;
  --color-white: #ffffff;
  --color-blue: #166fd4;
  --color-magenta-dark:#831a4e;
  --color-gray:#d6d6d6;
  --color-red:#ff0000;
  --color-graydark:#333;
  --color-blue-dark:#103d68;
}
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Nunito", sans-serif;
}
.wrapper {
  display: grid;
  grid-template-columns: repeat(4, auto);
  place-content: center;
  width: 100%;
  height: 100vh;
  background-color: var(--color-gray);
}
.button {
  display: inline-block;
  background-color: var(--color-white);
  width: 60px;
  height: 60px;
  overflow: hidden;
  box-shadow: 0 10px 10px rgba(0,0,0,0.1);
  transition: all 0.3s ease-out;
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
}
.button:hover {
  width: 200px;
}
.button .icon {
  display: inline-block;
  text-align: center;
  font-size: 20px;
  border-radius: 50%;
  height: 60px;
  width: 60px;
  line-height: 60px;
  transition: all 0.3s ease-out;
}
.button:hover .icon i {
  color: var(--color-white);
}
.button:nth-child(1):hover .icon {
  background-color: var(--color-blue-dark);
}
.button:nth-child(2):hover .icon {
  background-color: var(--color-blue);
}
.button:nth-child(3):hover .icon {
  background-color: var(--color-magenta);
}
.button:nth-child(4):hover .icon {
  background-color: var(--color-red);
}
.button span {
  font-size: 20px;
  font-weight: bold;
  margin-left: 10px;
}
.button:nth-child(1) span {
  color: var(--color-blue-dark);
}
.button:nth-child(2) span {
  color: var(--color-blue);
}
.button:nth-child(3) span {
  color: var(--color-magenta);
}
.button:nth-child(4) span {
  color: var(--color-red);
}
</style>
<div class="wrapper">
    <div class="button">
        <div class="icon">
            <i class="fab fa-facebook-f"></i>
        </div>
        <span>Facebook</span>
    </div>
    <div class="button">
        <div class="icon">
            <i class="fab fa-twitter"></i>
        </div>
        <span>Twitter</span>
    </div>
    <div class="button">
        <div class="icon">
            <i class="fab fa-instagram"></i>
        </div>
        <span>Instagram</span>
    </div>
    <div class="button">
        <div class="icon">
            <i class="fab fa-youtube"></i>
        </div>
        <span>Youtube</span>
    </div>
</div>

I tried to put the elements of social networks together and when I hover the mouse over each element it grows to a size of 200 pixels. I wrote all the code, but when the mouse is placed on the element, the element does not grow properly and looks like an ellipse. Is there anyone who can help me with this?

<style>
:root {
  --color-orange: #ff6600;
  --color-green: #22d122;
  --color-cyan: #33ffff;
  --color-magenta: #f33192;
  --color-white: #ffffff;
  --color-blue: #166fd4;
  --color-magenta-dark:#831a4e;
  --color-gray:#d6d6d6;
  --color-red:#ff0000;
  --color-graydark:#333;
  --color-blue-dark:#103d68;
}
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Nunito", sans-serif;
}
.wrapper {
  display: grid;
  grid-template-columns: repeat(4, auto);
  place-content: center;
  width: 100%;
  height: 100vh;
  background-color: var(--color-gray);
}
.button {
  display: inline-block;
  background-color: var(--color-white);
  width: 60px;
  height: 60px;
  overflow: hidden;
  box-shadow: 0 10px 10px rgba(0,0,0,0.1);
  transition: all 0.3s ease-out;
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
}
.button:hover {
  width: 200px;
}
.button .icon {
  display: inline-block;
  text-align: center;
  font-size: 20px;
  border-radius: 50%;
  height: 60px;
  width: 60px;
  line-height: 60px;
  transition: all 0.3s ease-out;
}
.button:hover .icon i {
  color: var(--color-white);
}
.button:nth-child(1):hover .icon {
  background-color: var(--color-blue-dark);
}
.button:nth-child(2):hover .icon {
  background-color: var(--color-blue);
}
.button:nth-child(3):hover .icon {
  background-color: var(--color-magenta);
}
.button:nth-child(4):hover .icon {
  background-color: var(--color-red);
}
.button span {
  font-size: 20px;
  font-weight: bold;
  margin-left: 10px;
}
.button:nth-child(1) span {
  color: var(--color-blue-dark);
}
.button:nth-child(2) span {
  color: var(--color-blue);
}
.button:nth-child(3) span {
  color: var(--color-magenta);
}
.button:nth-child(4) span {
  color: var(--color-red);
}
</style>
<div class="wrapper">
    <div class="button">
        <div class="icon">
            <i class="fab fa-facebook-f"></i>
        </div>
        <span>Facebook</span>
    </div>
    <div class="button">
        <div class="icon">
            <i class="fab fa-twitter"></i>
        </div>
        <span>Twitter</span>
    </div>
    <div class="button">
        <div class="icon">
            <i class="fab fa-instagram"></i>
        </div>
        <span>Instagram</span>
    </div>
    <div class="button">
        <div class="icon">
            <i class="fab fa-youtube"></i>
        </div>
        <span>Youtube</span>
    </div>
</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

冷默言语 2025-01-23 07:24:44

更改 .button:hoverborder-radius 的值

:root {
  --color-orange: #ff6600;
  --color-green: #22d122;
  --color-cyan: #33ffff;
  --color-magenta: #f33192;
  --color-white: #ffffff;
  --color-blue: #166fd4;
  --color-magenta-dark: #831a4e;
  --color-gray: #d6d6d6;
  --color-red: #ff0000;
  --color-graydark: #333;
  --color-blue-dark: #103d68;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Nunito", sans-serif;
}

.wrapper {
  display: grid;
  grid-template-columns: repeat(4, auto);
  place-content: center;
  width: 100%;
  height: 100vh;
  background-color: var(--color-gray);
}

.button {
  display: inline-block;
  background-color: var(--color-white);
  width: 60px;
  height: 60px;
  overflow: hidden;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-out;
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
}

.button:hover {
  width: 200px;
  border-radius: 50px;
}

.button .icon {
  display: inline-block;
  text-align: center;
  font-size: 20px;
  border-radius: 50%;
  height: 60px;
  width: 60px;
  line-height: 60px;
  transition: all 0.3s ease-out;
}

.button:hover .icon i {
  color: var(--color-white);
}

.button:nth-child(1):hover .icon {
  background-color: var(--color-blue-dark);
}

.button:nth-child(2):hover .icon {
  background-color: var(--color-blue);
}

.button:nth-child(3):hover .icon {
  background-color: var(--color-magenta);
}

.button:nth-child(4):hover .icon {
  background-color: var(--color-red);
}

.button span {
  font-size: 20px;
  font-weight: bold;
  margin-left: 10px;
}

.button:nth-child(1) span {
  color: var(--color-blue-dark);
}

.button:nth-child(2) span {
  color: var(--color-blue);
}

.button:nth-child(3) span {
  color: var(--color-magenta);
}

.button:nth-child(4) span {
  color: var(--color-red);
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.0/css/all.min.css">
<div class="wrapper">
  <div class="button">
    <div class="icon">
      <i class="fab fa-facebook-f"></i>
    </div>
    <span>Facebook</span>
  </div>
  <div class="button">
    <div class="icon">
      <i class="fab fa-twitter"></i>
    </div>
    <span>Twitter</span>
  </div>
  <div class="button">
    <div class="icon">
      <i class="fab fa-instagram"></i>
    </div>
    <span>Instagram</span>
  </div>
  <div class="button">
    <div class="icon">
      <i class="fab fa-youtube"></i>
    </div>
    <span>Youtube</span>
  </div>
</div>

Change the value of your border-radius on .button:hover

:root {
  --color-orange: #ff6600;
  --color-green: #22d122;
  --color-cyan: #33ffff;
  --color-magenta: #f33192;
  --color-white: #ffffff;
  --color-blue: #166fd4;
  --color-magenta-dark: #831a4e;
  --color-gray: #d6d6d6;
  --color-red: #ff0000;
  --color-graydark: #333;
  --color-blue-dark: #103d68;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  font-family: "Nunito", sans-serif;
}

.wrapper {
  display: grid;
  grid-template-columns: repeat(4, auto);
  place-content: center;
  width: 100%;
  height: 100vh;
  background-color: var(--color-gray);
}

.button {
  display: inline-block;
  background-color: var(--color-white);
  width: 60px;
  height: 60px;
  overflow: hidden;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-out;
  border-radius: 50%;
  margin: 0 5px;
  cursor: pointer;
}

.button:hover {
  width: 200px;
  border-radius: 50px;
}

.button .icon {
  display: inline-block;
  text-align: center;
  font-size: 20px;
  border-radius: 50%;
  height: 60px;
  width: 60px;
  line-height: 60px;
  transition: all 0.3s ease-out;
}

.button:hover .icon i {
  color: var(--color-white);
}

.button:nth-child(1):hover .icon {
  background-color: var(--color-blue-dark);
}

.button:nth-child(2):hover .icon {
  background-color: var(--color-blue);
}

.button:nth-child(3):hover .icon {
  background-color: var(--color-magenta);
}

.button:nth-child(4):hover .icon {
  background-color: var(--color-red);
}

.button span {
  font-size: 20px;
  font-weight: bold;
  margin-left: 10px;
}

.button:nth-child(1) span {
  color: var(--color-blue-dark);
}

.button:nth-child(2) span {
  color: var(--color-blue);
}

.button:nth-child(3) span {
  color: var(--color-magenta);
}

.button:nth-child(4) span {
  color: var(--color-red);
}
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.0/css/all.min.css">
<div class="wrapper">
  <div class="button">
    <div class="icon">
      <i class="fab fa-facebook-f"></i>
    </div>
    <span>Facebook</span>
  </div>
  <div class="button">
    <div class="icon">
      <i class="fab fa-twitter"></i>
    </div>
    <span>Twitter</span>
  </div>
  <div class="button">
    <div class="icon">
      <i class="fab fa-instagram"></i>
    </div>
    <span>Instagram</span>
  </div>
  <div class="button">
    <div class="icon">
      <i class="fab fa-youtube"></i>
    </div>
    <span>Youtube</span>
  </div>
</div>

冰之心 2025-01-23 07:24:44

您还需要更改悬停时的高度。

.button:hover {
   width: 200px;
   height: 200px;
   border-radius: 50px;
}

但如果您的目标是性能,我建议您使用 transform:scale(2)

You also need to change height on hover.

.button:hover {
   width: 200px;
   height: 200px;
   border-radius: 50px;
}

But I recommend you to use transform: scale(2) if you aiming for performance.

千年*琉璃梦 2025-01-23 07:24:44

当您悬停按钮时,其高度会增加,宽度也会增加

.button:hover{
transform:scale(1.015deg)
}

when you hover the button its height increases and the width

.button:hover{
transform:scale(1.015deg)
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文