gpt4 book ai didi

css - 转换:translateY(-50%) 在 Safari 中不起作用

转载 作者:行者123 更新时间:2023-11-28 03:10:31 24 4
gpt4 key购买 nike

在 Chrome 中,我的代码运行良好,并且问题完全垂直居中,但在 Safari 中,情况并非如此。这是我的一些代码。

@charset "UTF-8";
/* CSS Document */

body {
font-family: "Poiret One"
}

.myelement {
top: 50%;

-ms-transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
opacity: .80;
width: 30%;
height: auto;
z-index: 100;
position: relative;
}

.fullscreen-bg {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
overflow: hidden;
z-index: -100;
}

*, *:before, *:after {
-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}

html, body {
height: 100%;
}

body {
margin: 0;
}

.cover-thing {
width: 100%;
height: 100%;
text-align: center;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
<!DOCTYPE html>
<html lang="en">

<head>

<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">

<title>something.com</title>

<!-- Bootstrap Core CSS -->
<link href="css/bootstrap.min.css" rel="stylesheet">

<!-- Bootstrap Core JavaScript >
<script src="js/bootstrap.min.js"></script-->

<!--Custom JavaScript-->
<script src="js/mjberger.js"></script>
<!--JQuery-->
<script src="js/jquery.min.js"></script>
<!--<script>window.jQuery || document.write('<script src="js/jquery.min.js"><\/script>')</script>-->

<!--<script type="text/javascript" src="js/jkit/jquery-1.9.1.min.js"></script>-->
<script type="text/javascript" src="js/jkit/jquery.jkit.1.2.16.min.js"></script>



<!---->
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<link href="https://fonts.googleapis.com/css?family=Poiret+One|Inknut+Antiqua" rel="stylesheet">
<link rel="icon" href="mtab.png">

</head>
<body>

<section id="myDiv" class="cover-thing first" style="overflow: hidden;">

<div class="fullscreen-bg" style="z-index: 100; position: absolute; padding: 0px; justify-content:center;">
<img src="https://www.codeproject.com/KB/GDI-plus/ImageProcessing2/flip.jpg" class="myelement"></img>
</div>

</section>

<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>

如您所见,它完美居中,但在 Safari 中情况并非如此,图像出现在屏幕顶部,只能看到一半。我尝试使用 -webkit- 但这也不起作用。我认为问题主要在于 transform: translateY(-50%);

最佳答案

“否定翻译”技巧旨在与绝对定位元素一起使用。使用 position: absolute 后,您可以使用相同的 transform 使 x 轴和 y 轴居中。

像这样更改您的 .myelement 样式以解决问题:

.myelement {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
opacity: .80;
width: 30%;
z-index: 100;
}

关于css - 转换:translateY(-50%) 在 Safari 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45739950/

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