【问题标题】:Why won't the elements placed within my <div> show up?为什么放置在我的 <div> 中的元素不显示?
【发布时间】:2020-11-29 23:34:13
【问题描述】:

就这么简单:

{this.state.dash ? 
                <div className='dashWrapper slide'>
                  HELLO
                </div> : null}

无论我在这个 div 中放什么,都没有出现。我真的很生气,因为我已经做了很长时间了,我看不出有任何理由这不起作用。 div 本身显示得非常好,但里面的任何东西都是不行的。

CSS:

.dashWrapper {
    width: 100%;
    height: 100vh;

    background: white;
}

.slide {
    position: absolute;
    bottom: -100%;

    -webkit-animation: slide 1s forwards;
    animation: slide 1s forwards;
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
}

@-webkit-keyframes slide {
    100% {bottom: 0;}
}

@keyframes slide {
    100% {bottom: 0;}
}

在我弄坏我的键盘之前请有人帮助我:(

完整的 JSX

<div className='pageWrapper'>
          <div className='slides'>
            <div className='one' grey={this.state.grey}>
              <div className='chineseHeader'/>
              <div className='englishHeader'/>
              <div className='mePhoto'/>
              <div className='featuredWorkDivider'/>
              <div className='dash' onMouseDown={() => this.setState({grey: '1', dash: true})}/>
              <div className='allWorksDivider'/>
              <div className='allWorks'>
                <h1 className='work' onMouseDown={() => this.setState({grey: '1', busy: true})}>Busy Map</h1>
                <h1 className='work' onMouseDown={() => this.setState({grey: '1', oke: true})}>Oke</h1>
                <h1 className='work' onMouseDown={() => this.setState({grey: '1', scav: true})}>Scav Hunt</h1>
                <h1 className='work' onMouseDown={() => this.setState({grey: '1', van: true})}>Vanstrings</h1>
              </div>
            </div>
            {this.state.dash ? 
              <div className='dashWrapper slide'>
                <h1 className='back'>Back</h1>
              </div> : null}
            {this.state.busy ? <div/> : null}
            {this.state.oke ? <div/> : null}
            {this.state.scav ? <div/> : null}
            {this.state.van ? <div/> : null}
          </div>
        </div>

【问题讨论】:

  • 贴出完整代码,好像this.state.dash是假的
  • 只有给出的上下文没有理由不应该出现。需要更多信息,最好是基本的可重现沙箱
  • 这不是因为我看到了正在渲染的 div —— 动画播放和一切。已更新完整代码。
  • 请发布您的 JSX 的其余部分。
  • @codemonkey 更新为完整的 JSX。

标签: css reactjs


【解决方案1】:

尝试将您的 dashWrapper 类更改为如下所示。

    .dashWrapper {
        width: 99%;
        height: 100vh;
        background: white;
    }

请注意,这可能会破坏其他内容,但单独来看,此调整应该可以修复您的幻灯片。如果没有应用程序的完整上下文,很难就 CSS 提出建议。

【讨论】:

  • 参考你之前的评论,基本上我用一个新的div覆盖了整个屏幕。 Hello 只是 div 的填充内容,而不是我计划在其中包含的内容。但不管它不会出现......
  • @ZKJ 然后添加宽度:99%;给它。查看修改后的版本。
  • @ZKJ 那么期望的行为是什么?
  • kaijun.netlify.app 看看这里(单击破折号部分,您需要滚动一下)。 div 应该向上滑动并停留,它确实如此。问题是我在 div 中添加的任何内容都是不可见的。
  • 事实上,即使您检查元素上滑动的 div,您也会看到内容在那里,但由于某种原因只是不可见?我确保字体颜色也与背景不同......
猜你喜欢
  • 1970-01-01
  • 2022-11-22
  • 2011-08-14
  • 2019-09-12
  • 1970-01-01
  • 2020-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多