html - Div 在悬停过渡时消失

标签 html css transition

我的 CSS 有一些问题;

当悬停过渡开始时,右侧的 div 随其内容一起消失,并在过渡(您看不到)完成时重新出现。我想重新创建与左侧 div 过渡相同的效果,但然后从右侧开始。

另外,当左边的 div 调整大小时,右边的 div 也会消失。

有什么想法吗?

body {
  margin: 0;
  overflow-y: hidden;
}
div.right {
  width: 50vw;
  height: 100vh;
  float: right;
  background-color: #8B9ECF;
  transition: width 1s;
}
div.left {
  width: 50vw;
  height: 100vh;
  float: left;
  background-color: #A0DB75;
  transition: width 1s;
}
div.right:hover {
  width: 70vw;
}
div.left:hover {
  width: 70vw;
}
p {
  text-align: center;
  vertical-align: middle;
  line-height: 120vh;
  color: white;
  font-family: sans-serif;
  font-size: 250%;
}
<body>
  <div class="left">
    <p>Left</p>
  </div>
  <div class="right">
    <p>Right</p>
  </div>
</body>

最佳答案

JSFiddle

另一种方法是添加一个额外的 div

<body>
  <div class="container">  
      <div class="left">
        <p>Left</p>
      </div>
      <div class="right">
        <p>Right</p>
      </div>
  </div>
</body>

并使用下面的 CSS

.container:hover div.right,
.container:hover div.left   {
  width: 30vw;
}

div.right:hover {
  width: 70vw !important;
}

div.left:hover {
  width: 70vw!important;
}

div.left:hover + div.right {
  width: 30vw;
}

完整的 CSS:

body {
  margin: 0;
  overflow-y: hidden;
}
div.right {
  width: 50vw;
  height: 100vh;
  float: right;
  background-color: #8B9ECF;
  transition: width 1s;
}
div.left {
  width: 50vw;
  height: 100vh;
  float: left;
  background-color: #A0DB75;
  transition: width 1s;
}

.container:hover div.right,
.container:hover div.left   {
  width: 30vw;
}

div.right:hover {
  width: 70vw !important;
}

div.left:hover {
  width: 70vw!important;
}

div.left:hover + div.right {
  width: 30vw;
}

p {
  text-align: center;
  vertical-align: middle;
  line-height: 120vh;
  color: white;
  font-family: sans-serif;
  font-size: 250%;
}

关于html - Div 在悬停过渡时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29732649/

相关文章:

javascript - JSON 到 html 表格水平

html - :hover working on half the element 上的 CSS3 转换

来自不同html页面的PHP连接

javascript - HTML/CSS 使用 z-index 将一个 DIV 放在其他之上

javascript - HTML/CSS : what's a better option for layout of a tree of nested elements than nested tables?

javascript - 从 CSS 类中 trim 第一个和最后一个字符

javascript - jquery - 在 Yii2 中显示已完成步骤的多步进度条

python - 如何在 Pytransitions 中向现有状态对象添加标签?

Android:我的 fragment 过渡动画有什么问题?

html - 使用过渡打开一个简单的下拉菜单我有基础但不能适应我的设计