gpt4 book ai didi

css transform translateY 在 ie 11 中不起作用,但在 chrome 中起作用

转载 作者:行者123 更新时间:2023-11-28 02:15:28 25 4
gpt4 key购买 nike

基本上我正在尝试创建一个放在右侧的侧面板,当鼠标悬停在它上面时,它在 ie11 和 chrome 中都可以工作,它打开,出来时它关闭。所以这是代码在 chrome 中运行良好但不是在IE11中。在 ie11 中,它分布在 View 的下半部分,我希望它覆盖中间的一部分并完美地定位在中间。任何帮助将非常感激。我发现问题出在 css transform:translateY tried -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>

最佳答案

它的发生是因为你把 position: fixed 放在 #panel-content 中,所以在 ie11 中页面将成为他的父页面,height: 100% 将是页面的高度而不是 #panel 的高度

你不需要使用javascript来做这个悬停,你可以用这段代码来做

here is a fiddle

HTML

<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>

CSS

body 
{
overflow-x: hidden;
}

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


}

#panel-content
{
border-radius: 10px 0px 0px 10px;
left: 100%;
position: absolute;
background: black;
height:100%;
width: 100%
transition: .2s;
}

#panel:hover #panel-content{
left: 0;
}

关于css transform translateY 在 ie 11 中不起作用,但在 chrome 中起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48499391/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com