backface-visibility 属性在存在内嵌元素时显示错误
发布于 4 年前 作者 gdai 14747 次浏览 来自 问答

卡牌正反面的需求。等效代码在 chrome 是没有问题的,但在小程序开发工具和安卓上有问题。(iOS 没测)

具体问题:如果卡牌正反面只是图片,正反显示都没问题。如果卡牌正反面是容器,里面有图片和文字。卡牌翻转过来,正反面的文字都显示了。预期只显示某一面的文字。

// wxml
<view class="card-wrapper {{ status ? 'show-cover' : '' }}">
  <view class="cover-image">
    <image class="card-image" src="{{ coverImage }}" />
    <text class="card-text">{{ text }}</text>
  </view>
  <view class="back-image">
    <image class="card-image" src="{{ backImage }}"></image>
    <text class="card-text">{{ text }}</text>
  </view>
</view>

// wxss
.card-wrapper {
  width100%;
  height100%;
  position: relative;
  transform-style: preserve-3d;
}

.card-wrapper.show-cover {
  transform: rotateY(180deg);
}

.cover-image,
.back-image {
  width100%;
  height100%;
  position: absolute;
  left0;
  top0;
  backface-visibility: hidden;
}

.cover-image {
  transform: rotateY(180deg);
  transform-origin: center;
}

/* .back-image {
  backface-visibility: hidden;
} */

.card-image {
  width100%;
  height100%;
}

.card-text {
  display: block;
  width100%;
  line-height1;
  margin-top: -120rpx;
  text-align: center;
  color: white;
  font-size36rpx;
  text-shadow:1px 2px 4px rgba(27,95,168,0.6);
}

.back-image .card-text {
  opacity0.4;
  margin-top: -128rpx;
}
1 回复
回到顶部