我正在try 创建一个过渡,其中右侧箭头的黑色背景稍微向左增长:

.css-button {
  width: 60%;
  font-size: 16px;
  border-radius: 5px;
  border: solid 3px #000000;
  cursor: pointer;
  position: relative;
  background: white;
  display: flex;
  justify-content: space-between;
  /* Spread items to each end of the button */
  align-items: center;
  padding: 0;
}

.css-button-text {
  padding-left: 10px;
}

.css-button:hover {
  background: red;
}

.css-button-icon {
  position: relative;
  border-left: 1px solid #ffffff29;
  padding: 10px 12px;
  background: #000000;
  color: #fff;
}

.css-button:hover .css-button-icon {
  color: #ff0000;
}
<button class="css-button">
  <span class="css-button-text">BUTTON</span>
  <span class="css-button-icon">></span>
</button>

我试着把width: 120%;减到.css-button:hover .css-button-icon以下,结果它就这么奇怪地inflating 了.

我想让它像这样工作:

enter image description here

enter image description here

我已经挣扎了几个小时,试图弄清楚这一点,任何帮助都将不胜感激.非常感谢.

推荐答案

.css-button {  
        width: 60%;
        font-size: 16px;
        border-radius: 5px;
        border: solid 3px #000000;
        cursor: pointer;
        position: relative;
        background: white;
        display: flex;
        justify-content: space-between;
        /* Spread items to each end of the button */
        align-items: center;
        padding: 0;
    }

    .css-button-text {
        padding-left: 10px;
    }

    .css-button-icon {
        position: relative;
        border-left: 1px solid #ffffff29;
        padding: 10px 12px;
        background: #000000;
        color: #fff;
        transition: all 0.3s ease;
        transform-origin: right; // changes
    }

    .css-button:hover .css-button-icon {
        color: #ff0000;
        transform: scaleX(1.3); //changes
    }

    .css-button:hover {
        background: red;
    }
<button class="css-button">
   <span class="css-button-text">BUTTON</span>
   <span class="css-button-icon">></span>
</button>

Html相关问答推荐

HTML CSS如何使用图像作为中心点将元素置于中心

将文本区域标签的内容着色为SON(带有 colored颜色 )

Font Awesome 6插入符号未显示

CSS:显示块,第一个项目没有正确对齐

为什么这个高度为100%的页面会出现滚动条?

使用无限数量的元素创建特定的CSS网格

创建一个带有div和径向渐变的全宽半圆

使用响应迅速的网格系统,将两列保持在同一行,同时允许更多列用于更大的屏幕

在每个列宽由带有固定值的minmax()函数定义的网格中,CSS如何为列分配空间?

是否可以只使用css而不使用像&;nbsp;这样的HTML符号来实现断字而不换行空格?

浮动Div在CSS中未按预期工作

如何在小屏幕中制作水平滚动div

:after 伪元素没有出现,即使它有 content 属性

用由文本制成的边框包围内容

如果使用复选框属性更改,如何防止事件更改?

为什么可滚动弹性项目需要 flex-basis: 0 ?

嵌入最近的 YOUTUBE 视频(不是短片,视频)

视频添加到 Html 与 Github 不同步

屏幕缩小时背景图像裁剪高度

XPATH Select h2标签和

标签之间或h2标签和 标签之间的td元素,以立即为准