Я пытался переместить некоторые элементы с переходом в 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