我试图在CSS中转换一些元素。我通过为每个要转换的元素添加一个单独的选择器使其工作正常,但当我为所有元素使用一个选择器(它们最终在同一个地方)时,它不起作用。有人能解释为什么它不能像这样工作吗?CSS转换 - 我需要一个解释
body {
\t \t text-align: center;
\t }
\t .block {
\t \t position: relative;
\t \t display: inline-block;
\t }
\t .part1 {
\t \t font-family: Arial;
\t \t font-size: 50px;
\t \t font-weight: bold;
\t \t opacity: 0.2;
\t \t position: relative;
\t \t z-index: 1;
\t }
\t .part {
\t \t font-family: Arial;
\t \t font-size: 50px;
\t \t font-weight: bold;
\t \t opacity: 0.2;
\t \t position: absolute;
\t \t transition: top 2s ease-in, left 2s ease-in, right 2s ease-in;
\t }
\t .block .part:nth-child(2) {
\t \t top: 100px;
\t \t left: 100px;
\t }
\t .block .part:nth-child(3) {
\t \t top: 0;
\t \t left: 200px;
\t }
\t .block .part:nth-child(4) {
\t \t top: 0;
\t \t right: 200px;
\t }
\t .block .part:last-child {
\t \t top: 100px;
\t \t right: 100px;
\t }
\t .block .part1:hover ~ .part {
\t \t top: 0;
\t \t left: 0;
\t \t right: 0;
\t }
<span class="block">
\t \t <span class="part1">O</span>
\t \t <span class="part">O</span>
\t \t <span class="part">O</span>
\t \t <span class="part">O</span>
\t \t <span class="part">O</span>
</span>
正如你可以看到,左边的属性不为第四和第五元素过渡。
这里的工作片断:
body {
\t \t text-align: center;
\t }
\t .block {
\t \t position: relative;
\t \t display: inline-block;
\t }
\t .part1 {
\t \t font-family: Arial;
\t \t font-size: 50px;
\t \t font-weight: bold;
\t \t opacity: 0.2;
\t \t position: relative;
\t \t z-index: 1;
\t }
\t .part {
\t \t font-family: Arial;
\t \t font-size: 50px;
\t \t font-weight: bold;
\t \t opacity: 0.2;
\t \t position: absolute;
\t \t transition: top 2s ease-in, left 2s ease-in, right 2s ease-in;
\t }
\t .block .part:nth-child(2) {
\t \t top: 100px;
\t \t left: 100px;
\t }
\t .block .part:nth-child(3) {
\t \t top: 0;
\t \t left: 200px;
\t }
\t .block .part:nth-child(4) {
\t \t top: 0;
\t \t right: 200px;
\t }
\t .block .part:last-child {
\t \t top: 100px;
\t \t right: 100px;
\t }
\t .block .part1:hover ~ .part:nth-child(2) {
\t \t top: 0;
\t \t left: 0;
\t }
\t .block .part1:hover ~ .part:nth-child(3) {
\t \t left: 0;
\t }
\t .block .part1:hover ~ .part:nth-child(4) {
\t \t right: 0;
\t }
\t .block .part1:hover ~ .part:last-child {
\t \t top: 0;
\t \t right: 0;
\t }
<span class="block">
\t \t <span class="part1">O</span>
\t \t <span class="part">O</span>
\t \t <span class="part">O</span>
\t \t <span class="part">O</span>
\t \t <span class="part">O</span>
\t </span>
为什么会出现这种情况?我无法在文档中找到答案。
我认为,从汽车到0的过渡也应该被动画。 “猜猜我错了...... Tnx @Juan – fpiskur