CSS位置相对div不响应

时间:2019-06-29 23:44:39

标签: html css bulma

你好,我有一个背景,我想像上面的图片一样在上面添加div 我正在使用bulma CSS框架 enter image description here   通过编写这段代码

,我能够达到这种外观

index.html

    <div class="section newsletter">
    <figure class="image">
        <img src="src/img/newsletter.png">
    </figure>
            <div class="form">
                <h5>Keep updated with out latest news.<br>Subscribe to our newsletter</h5>
                <div class="field has-addons">
                    <div class="control">
                        <input class="input" type="text" placeholder="Enter Your Email">
                    </div>
                    <div class="control">
                        <a type="button" class="button btn-grad is-dark">
                            Subscribe
                        </a>
                    </div>
                </div>
            </div>
</div>

css

.newsletter{
padding:0px;
.form{
    display: flex;
    flex-direction: column;        
    width:588px;
    height:297px;
    background: $bg-transperant;
    box-shadow: 0px 5px 14px rgba(0, 0, 0, 0.15);
    border-radius: 16px;
    // Layout
    position: relative;
    left: 140px;
    top: -386px;
    h5{
        padding: 50px 60px 40px 60px;
        font-weight: 600;
        font-size: 25px;
        line-height: 46px;
        color: #2F4B6E;
    }
    div{
        justify-content: center;
    }
    .input{
        height: 50px;
        width: 352px;
        box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.15);
        border-bottom-left-radius: 100px;
        border-top-left-radius: 100px;
    }
}

}

问题是它在手机或平板电脑上没有响应
看起来像这样enter image description here

使用相对于能够将div放置在图片顶部的位置 我该如何做得更好,例如使其具有响应性? 在图片下方还有一个很大的白色空间,我不知道为什么

实时项目仓库https://github.com/Ov3rControl/ReachGate 实时概览:https://ov3rcontrol.github.io/ReachGate/

1 个答案:

答案 0 :(得分:1)

这可能是3个问题的结合。

1)确保您拥有your viewport set to responsive in the head

2)不要对超出最小可能视口的容器使用硬编码尺寸。请注意,您的表单设置为588px宽度。尝试先进行width: auto;,然后再进行max-width: 588px;

3)考虑不要对位置进行硬编码。尝试使用something like this来使相对放置的容器居中。

看上去很漂亮,干得好!旁白:始终将标签绑定到输入以实现可访问性被认为是一种好习惯。如果您不希望它可见,那很好! See this


我做了以下操作以使表格居中:

<!------------------------------------[NewsLetter Section - START]------------------------------------------->
    <div class="section newsletter">
        <div class="form">
            <h5>Keep updated with our latest news.<br>Subscribe to our newsletter</h5>
            <div class="field has-addons">
                <div class="control">
                    <input class="input" type="text" placeholder="Enter Your Email">
                </div>

                <div class="control">
                    <a type="button" class="button btn-grad is-dark">
                        Subscribe
                    </a>
                </div>
            </div>
        </div>
    </div>

    <!------------------------------------[NewsLetter Section - END]------------------------------------------->
.newsletter {
  padding: 0px;
  background-image: url('src/img/newsletter.png');
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;

  .form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    max-height: 270px;
    max-width: 320px;
    background: $bg-transperant;
    box-shadow: 0px 5px 14px rgba(0, 0, 0, 0.15);
    border-radius: 16px;

    // Layout
    h5 {
      padding: 50px 60px 40px 60px;
      font-weight: 600;
      font-size: 25px;
      line-height: 46px;
      color: #2f4b6e;
    }

    div {
      justify-content: center;
    }

    .input {
      height: auto;
      height: 50px;
      width: 352px;
      box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.15);
      border-bottom-left-radius: 100px;
      border-top-left-radius: 100px;
    }
  }
}