css变换translateY不工作在ie 11但使用chrome

时间:2018-01-29 10:47:01

标签: css google-chrome transform internet-explorer-11

基本上我正在尝试创建一个放置在右侧的侧面板,当它悬停在它上面时,它在ie11和chrome中工作,它会打开,当它出来时它会关闭。所以这是代码在chrome中运行良好但不是在ie11。在ie11中,它通过视图的下半部分传播,我希望它覆盖中间的一部分,并完美地定位在中间。任何帮助将非常感激。我发现问题出在css转换中:translateY试过-ms-transform -webkit-transform没什么用。这是代码:

<html>
<head><title>Demo</title>
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 <meta charset="utf-8">
</head>

<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
    <script
    src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"
    integrity="sha256-eGE6blurk5sHj+rmkfsGYeKyZx3M4bG+ZlFyA7Kns7E="
    crossorigin="anonymous"></script>

<body>
    <div id="panel">
        <div id="panel-content">

        </div>
    </div> 
</body>
</html>
<script>



$(function () { 
    //Function to  show side panel on hover
    var $pCont = $("#panel-content");
    $pCont.width(0);
    $('#panel').mouseenter(function(){
        $pCont.stop().animate({width:  27}, 200);
    });
    //Animation for closing the sidepanel when mouseleave 
    $('#panel').mouseleave(function(){
        $("#panel-collapse").hide("slide", { direction: "right" }, 300,function(){
            $pCont.stop().animate({width:  0}, 200);
        });   

    });

});



</script>
<style>

#panel
{
    position: fixed;
    right: 0;
    height:180px;
    width:27px;
    margin-top: 50vh;
    transform: translateY(-50%);  


}

#panel-content
{
    border-radius: 10px 0px 0px 10px;
    position: fixed;
    right: 0;
    background: black;
    height:100%;

}


</style>

1 个答案:

答案 0 :(得分:0)

这会导致您将position: fixed放入#panel-content,因此在ie11页面将成为他的父级,height: 100%将是页面的高度而不是{{1}高度

您不需要使用javascript来执行此操作,您可以使用此代码执行此操作

here is a fiddle

HTML

#panel

<强> CSS

<html>
<head><title>Demo</title>
 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 <meta charset="utf-8">
</head>

<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
    <script
    src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"
    integrity="sha256-eGE6blurk5sHj+rmkfsGYeKyZx3M4bG+ZlFyA7Kns7E="
    crossorigin="anonymous"></script>

<body>
    <div id="panel">
        <div id="panel-content">

        </div>
    </div> 
</body>
</html>