Некорректно работающее css свойство backface-visibility

194
11 июля 2018, 05:40

https://codepen.io/Don2Quixote/full/wXdoRe

var front = new Image(); 
front.src = "https://pp.userapi.com/c834303/v834303976/74ac8/iHI_OdnNwCc.jpg"; 
front.width = 200; 
front.height = 340; 
var deg = 180; 
document.querySelector("#card").appendChild(front); 
document.querySelector("#card").addEventListener("click", function() { 
  document.querySelector("#card").style.transform = `rotateY(${deg}deg)`; 
  deg += 180; 
});
#card { 
  position: absolute; 
  width: 200px; 
  height: 340px; 
  border: 5px solid red; 
  left: calc(50% - 100px); 
  top: calc(50% - 170px); 
  perspective: 200px; 
  transform-style: preserve-3d; 
  transition: 3s; 
} 
 
#front { 
  position: absolute; 
  backface-visibility: hidden; 
  width: 100%; 
  height: 100%; 
} 
 
#back { 
  position: absolute; 
  transform: rotateY(180deg); 
  backface-visibility: hidden; 
  background-color: green; 
  width: 100%; 
  height: 100%; 
}
<div id="card"> 
  <div id="back"></div> 
  <div id="front"></div> 
</div>

При клике на карточку она разворачивается на 180 градусов. translateY(180deg). После разворота с фотографии на заднюю сторону - некоторое время видно отзеркаленное изображение фотографии. Однако, для каждой стороны карточки прописано свойство backface-visibility: hidden. Что я делаю не так?

Answer 1

Нашёл ошибку: document.querySelector("#card").appendChild(front); Картинка, находящаяся в переменной front должна быть помещена в div#front, а я ее кладу в div#card.

READ ALSO
Связать 2 таблицы с массивом ключей

Связать 2 таблицы с массивом ключей

Необходимо в MySQL сделать связь 2х таблиц, при этом в одной таблице должно быть несколько ключей к другой таблицеЕсли сложно объяснил, вот пример:

149
Почему процедура в MySQL всегда возвращает OK

Почему процедура в MySQL всегда возвращает OK

Доброе время суток, я своял процедуру, которая должна получить самую старую запись и обновить дату обращения к этой записи, при вызове

160