CSS Hover 将元素视为正方形

标签 css

我在 CSS 中创建了一个向下箭头,但我希望将其视为正方形。目前,要触发任何悬停效果,您需要将鼠标悬停在其中一条线上。我想将鼠标悬停在两行之间以达到相同的效果,但我想不出任何可行的方法。

不幸的是,在解释问题时我很糟糕,所以搜索很困难,所以希望我能在这里得到帮助。下面是我的 CSS 片段。

.down:before {
  transform: rotate(55deg) translateX(-20px);
}
.down:after {
  transform: rotate(-55deg) translateX(20px);
}
.down:before,
.down:after {
  content: '';
  background-color: #000;
  display: block;
  height: 2px;
  width: 40px;
  transition: all 500ms ease-in-out;
}
.down:hover:before,
.down:hover:after {
  background-color: #808080;
}

/* FOR VISIBILITY IN SNIPPET */
.down {
  position: absolute;
  top: 50px;
  left: 50px;
}
<a href="#" class="down"></a>

最佳答案

免责声明:这些值可能需要根据用途进行调整。

这可以通过设置 padding 来完成对于元素。

padding-top: 50px;
padding-right: 10px;
padding-bottom: 10px;
padding-left: 10px;

或组合填充:左上右下

padding: 50px 10px 10px 10px;

请看下面的演示:

.down:before {
  transform: rotate(55deg) translateX(-20px);
}
.down:after {
  transform: rotate(-55deg) translateX(20px);
}
.down:before,
.down:after {
  content: '';
  background-color: #000;
  display: block;
  height: 2px;
  width: 40px;
  transition: all 500ms ease-in-out;
}
.down:hover:before,
.down:hover:after {
  background-color: #808080;
}

/* FOR VISIBILITY IN SNIPPET */
.down {
  position: absolute;
  top: 50px;
  left: 50px;
  padding-top: 50px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
}
<a href="#" class="down"></a>

关于CSS Hover 将元素视为正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49834804/

相关文章:

html - CSS 过渡不起作用

javascript - 当汉堡菜单打开时,如何更改背景内容的不透明度?

css - Twitter Bootstrap 响应元素顺序

asp.net - 在 asp.net(vb) 中控制 ajax 工具包自动完成的高度

css - 如何在外部样式表中设置 u ="#"的样式

html - 如何自动调整移动网站的图像大小?

css - 不听话的狗

javascript - Jquery - FadeIn()效果在脚本循环中不起作用

javascript - 自定义 Envato FullPage 的问题 - 如何添加更多水平滑动部分?它们没有出现在我的浏览器中

css - 在 div 末尾添加一行时遇到问题,而且 div 宽度不是 100%