CSS:非绝对元素中的过渡+缩放

CSS: transition + scale in non-absolute elements

我在这个网站上有问题: http://www.bacubacu.com/paybus/

如果您将鼠标悬停在底部的这 3 个大圆形按钮中的任何一个上,动画效果会很好(它们是绝对的)。

如果您将鼠标悬停在显示 "ver historial" 的位置,动画会跳到开头并停止,即使 "tap" class 仍处于活动状态。我发现它与元素定位有关(非绝对)。

我不知道为什么会这样,有谁能帮我解决一下吗?

这是 CSS 代码:

.touch{
    transition: transform 0.15s ease-out;
    -webkit-transition: -webkit-transform 0.15s ease-out;
} 
.touch.tap{
        -webkit-transform: scale3D(0.9,0.9,0.9);
   } 

我认为你的意思是点击而不是悬停。悬停是将光标放在元素上。这是一个不同于点击的事件。我也认为你的 css 是错误的。我不知道你是否可以将转换作为转换的参数传递。最后我看到你 Jquery 并且点击时似乎 运行。试试这个代码

HTML

<div id="tap_buttom" class="touch">
    <p>This is a button</p>
</div>

CSS

    .touch{
            border-radius: 10px;
            background: #ececec;
            padding: 10px;
            width: 150px;
            text-align: center;



            -webkit-transition: 0.1s ease-in-out;
            -moz-transition: 0.1s ease-in-out;
            -o-transition: 0.1s ease-in-out;
            transition: 0.1s ease-in-out;
            /* Line added by Alvaro Prieto */
            display: inline-block
    } 

.touch.tap
{
        -webkit-transform: scale3D(0.9,0.9,0.9);
        -moz-transform: scale3D(0.9,0.9,0.9);
        -o-transform: scale3D(0.9,0.9,0.9);
        -ms-transform: scale3D(0.9,0.9,0.9);
        transform: scale3D(0.9,0.9,0.9);
 } 

jQuery

$(document).ready(function(){
    $(this).mousedown(function(){
        $("#tap_buttom").addClass("tap")
    })// end click function
    $(this).mouseup(function(){
        $("#tap_buttom").removeClass("tap")
    })// end click function

})// end document.ready

您可以在此处 运行 此代码 https://fiddle.jshell.net/15ryknk5/。我希望这有效

好的,我自己找到了答案。将 "display:inline-block" 添加到锚元素时,它会得到修复。我不知道问题出在哪里,对不起,如果我的问题不是太具体(我的英语也没有帮助嘿嘿)。

https://jsfiddle.net/15ryknk5/10/

display:inline-block;