want to show the thickness of an element while it rotate(想要在旋转时显示元素的厚度)
问题描述
我通过 CSS 将一枚硬币沿 Y 轴旋转 90 度.有没有办法让我可以在硬币旋转后显示硬币的厚度,我想我可以在硬币沿 Y 轴旋转后缩放 Y,但这似乎不起作用.如果可能的话,请提出一些方法来做同样的事情.link_on_js fiddle 同样.请使用 webkit 浏览器打开链接.
I am rotating a coin along Y axis by 90deg through CSS. Is there a way so that I can show the thickness of the coin after it have rotated, I thought I can scaleY after the coin have rotated along Y axis but this doesn't seem to work. Please suggest some way to do the same if it is possible. link_on_js fiddle for the same. Please use webkit browsers to open the link.
css
.coin {
display: block;
background: url("url-to-image-of-coin.jpg");
background-size: 100% 100%;
width: 100px;
height: 100px;
margin: auto;
border-radius: 100%;
transition: all 500ms linear;
}
.flip {
transform: rotateY(180deg);
}
html
<div class="coin"></div>
jquery
$('.coin').click(function() {
$(this).toggleClass('flip');
});
小提琴
http://jsfiddle.net/7EtLu/22/
推荐答案
您可以使用伪元素来提供类似的效果.这是一个示例:http://jsfiddle.net/joshnh/y7rQL/
You can use pseudo-elements to give an effect that is similar. Here is an example: http://jsfiddle.net/joshnh/y7rQL/
<div class="coin"></div>
body {
transform: perspective(500px);
transform-style: preserve-3d;
}
.coin {
background-image: url("http://www.coolemails4u.com/wp-content/uploads/2010/10/indian_rupee.png");
background-size: 100% 100%;
border-radius: 100%;
height: 100px;
margin: 50px auto;
position: relative;
transition: .5s linear;
transform-style: preserve-3d;
width: 100px;
}
.coin:after {
background-color: #262626;
background-image: -webkit-linear-gradient(hsla(0,0%,100%,.25), hsla(0,0%,0%,.25));
bottom: 0;
content: '';
left: 45px;
position: absolute;
top: 0;
transform: rotateY(-90deg);
transform-origin: 100% 50%;
width: 5px;
z-index: -10;
}
.coin:before {
background-color: #262626;
background-image: -webkit-linear-gradient(hsla(0,0%,100%,.25), hsla(0,0%,0%,.25));
border-radius: 100%;
content: '';
height: 100px;
left: 0;
position: absolute;
top: 0;
transform: translateZ(-5px);
width: 100px;
}
.coin:hover {
transform: rotateY(90deg);
}
另外,这里有一个旋转 180 度的版本(虽然不是很好):http://jsfiddle.net/joshnh/Bz22S/
Also, here is a version that spins 180 degrees (it isn't quite as nice though): http://jsfiddle.net/joshnh/Bz22S/
这篇关于想要在旋转时显示元素的厚度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:想要在旋转时显示元素的厚度
基础教程推荐
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- 直接将值设置为滑块 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01