我正在尝试使按钮和div具有对角线的一面。当我制作一个中等大小的框(300px x 200px)时,它可以工作(我使用了:after和一个旋转的div),但是对于菜单和按钮等较小的元素,它无法正确对齐。我已经坚持了几个小时,不知道如何正确地制作它们。我还在这里和Google尝试过建议和示例,但无法满足我的情况。如果可能的话,我想在菜单部分使用ul。
这是我想要实现的图像:
到目前为止,这就是我得到的:https://jsfiddle.net/3ywsrufa/(有关所有代码,请参见jsfiddle)。它工作不正常,但是您了解我正在尝试做的事情。
.box .box-top:after {
position: absolute;
height: 150%;
width: 100%;
z-index: 90;
content: " ";
-webkit-transform: rotate(1deg);
-moz-transform: rotate(1deg);
-o-transform: rotate(1deg);
-ms-transform: rotate(1deg);
transform: rotate(1deg);
transform-origin: 15% 0;
-webkit-transform-origin: 15% 0;
-ms-transform-origin: 15% 0%;
left: 0px;
top: 0px;
background: #fff;
}
即使您问这个问题已经9个月了,这还是我的2美分。
我认为您要查找的是perspective
父元素。如果一张图像值一千个单词,那么一个实时代码片段就值一千个解释:
#awesome-container {
-webkit-perspective: 50em;
-moz-perspective: 50em;
perspective: 50em;
-webkit-perspective-origin: 40% 40%;
-moz-perspective-origin: 40% 40%;
perspective-origin: 40% 40%;
}
#awesome-child {
-webkit-transform: rotateX(20deg) rotateY(0deg);
-moz-transform: rotateX(20deg) rotateY(0deg);
transform: rotateX(20deg) rotateY(0deg);
-webkit-transform-origin: 0 0;
-moz-transform-origin: 0 0;
-ms-transform-origin: 0 0;
-o-transform-origin: 0 0;
transform-origin: 0 0;
/* unrelated */
height: 200px;
width: 70%;
margin: auto;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
background-color: #34495e;
font-family: sans-serif;
}
<div id="awesome-container">
<div id="awesome-child"> BADOOP </div>
</div>
此示例已经包含足够的供应商前缀,可以终身提供不受支持的浏览器(请选中“我可以使用吗?”页面,唯一主要的支持缺失是IE9-)。
我建议您使用和值进行修改transform
,以实现所需的样式。perspective
perspective-origin
希望它仍然与您有关!(我在跟谁开玩笑)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句