我正在试图创建一个删除按钮,一旦你点击它,就会展开显示删除选项,这样你就不会误删任何东西。问题是父容器会立即跳到完整大小,而我希望它逐渐增长。
当我为父容器设置固定像素宽度时,可以克服此问题,但问题在于我并不总是知道内容的宽度。因此,我使用百分比来使其动态化。
我真的不知道如何清楚地解释它,所以我制作了一个演示页面给你看:http://jsfiddle.net/cgHcP/ HTML:
CSS(层叠样式表):
当您查看这个示例时,您会注意到当鼠标悬停在子元素上时,父容器(黑色)会跳到完整大小。即使子元素似乎逐渐增长,这种行为会在将多个项放置在一行中时(就像在示例中一样,也是我想要做的)引起麻烦。
我试图仅使用CSS制作此按钮,但这就是我卡住的地方。有人有建议可以通过纯CSS实现吗?
当我为父容器设置固定像素宽度时,可以克服此问题,但问题在于我并不总是知道内容的宽度。因此,我使用百分比来使其动态化。
我真的不知道如何清楚地解释它,所以我制作了一个演示页面给你看:http://jsfiddle.net/cgHcP/ HTML:
<div class="right">
<div style="background-color: #000; display: inline-block;">
<div class="roll-button">
<div class="icon">x</div>
<div class="text">Remove</div>
</div>
</div>
<div style="background-color: #000; display: inline-block;">
<div class="roll-button">
<div class="icon">x</div>
<div class="text">Remove</div>
</div>
</div>
</div>
CSS(层叠样式表):
/* Roll Button */
div.roll-button {
float: right;
display: inline;
position: relative;
height: 24px;
width: 24px;
-webkit-box-shadow: 0 0 0 2px #fff;
-webkit-border-radius: 12px;
text-align: center;
vertical-align: middle;
background-color: #fff;
overflow: hidden;
-webkit-transition: width .5s ease-in-out;
transition: width .5s ease-in-out;
}
div.roll-button .icon {
left: 0;
display: inline;
position: absolute;
font-size: 24px;
width: 24px;
height: 24px;
background-color: #ff3e3e;
-webkit-border-radius: 12px;
-webkit-transition: all .5s ease-in-out;
transition: all .5s ease-in-out;
text-align: center;
vertical-align: middle;
color: #fff;
line-height: .7;
}
div.roll-button .text {
float: left;
display: inline;
position: relative;
height: 24px;
overflow: hidden;
-webkit-transition: all .5s ease-in-out;
transition: all .5s ease-in-out;
vertical-align: middle;
line-height: 24px;
color: #ff3e3e;
font-weight: 700;
padding: 0 0 0 24px;
font-size: 12px;
}
div.roll-button:hover .text {
padding: 0 5px 0 29px;
}
div.roll-button:hover .icon {
-webkit-transform: rotateZ(-180deg);
}
div.roll-button:hover {
width: 100%;
}
.right {
float: right;
margin-right: 200px;
}
当您查看这个示例时,您会注意到当鼠标悬停在子元素上时,父容器(黑色)会跳到完整大小。即使子元素似乎逐渐增长,这种行为会在将多个项放置在一行中时(就像在示例中一样,也是我想要做的)引起麻烦。
我试图仅使用CSS制作此按钮,但这就是我卡住的地方。有人有建议可以通过纯CSS实现吗?