Bootstrap-元素重叠超小

时间:2017-06-13 19:48:08

标签: html5 css3 twitter-bootstrap-3

我使用Twitter Bootstrap3。我有一个页脚部分(灰色部分),上面是一些divs。我将这些divs col-xs-12课程设置为移动设备div一个接一个地垂直显示,但问题是移动设备大小,divs位于我的页脚下,甚至进入页面底部。问题是什么?我的代码和JsFiddle正在关注。

HTML:

<div id="pre-footer" class="center-block">
            <div class="adv-clickable col-md-3 col-xs-12">
                <a href="#"><p>تبلیغات کلیکی</p></a>
                <a href="#"><p>قوانین</p></a>
                <a href="#"><p>آگهی‌دهندگان</p></a>
                <a href="#"><p>نمایش دهندگان</p></a>
                <a href="#"><p>سوالات متداول</p></a>
                <a href="#"><p>هزینه‌ها</p></a>
                <a href="#"><p>تسویه حساب با نمایش‌دهندگان</p></a>
            </div>
            <div class="adv-clickable col-md-3 col-xs-12 center-block">
                <a href="#"><p>تبلیغات کلیکی</p></a>
                <a href="#"><p>قوانین</p></a>
                <a href="#"><p>آگهی‌دهندگان</p></a>
                <a href="#"><p>نمایش دهندگان</p></a>
                <a href="#"><p>سوالات متداول</p></a>
                <a href="#"><p>هزینه‌ها</p></a>
                <a href="#"><p>تسویه حساب با نمایش‌دهندگان</p></a>
            </div>
            <div id="pre-footer-nested1" class="col-md-3 col-xs-12 center-block">
                <img src="images/pre-footer-logo.png">
                <div id="socials">
                    <a href="#"><i class="fa fa-3x fa-facebook-square"></i></a>
                    <a href="#"><i class="fa fa-3x fa-twitter-square"></i></a>
                    <a href="#"><i class="fa fa-3x fa-linkedin-square"></i></a>
                    <a href="#"><i class="fa fa-3x fa-instagram"></i></a>
                    <a href="#"><i class="fa fa-3x fa-telegram"></i></a>
                </div>
                <form action="#" class="form-group">
                    <label for="email">از آخرین اخبار آموزشی و تبلیغاتی با خبر شوید</label>
                    <input type="email" id="email" class="form-control" placeholder="آدرس ایمیل خود را وارد کنید" >
                    <input type="submit" value="ثبت‌نام در خبر نامه" class="btn btn-block btn-success">
                </form>
            </div>
            <div id="pre-footer-nested2" class="col-md-3 col-xs-12">
                <img src="images/nemad.jpg" >
                <div class="col-md-12">
                    <div class="footer-logos">

                    </div>
                    <div class="footer-logos">

                    </div>
                    <div class="footer-logos">

                    </div>
                    <div class="footer-logos">

                    </div>
                </div>
            </div>
        </div>
        <div id="footer" class="col-md-12">
            <p class="color-white">&copy;کپی‌رایت ۱۳۹۶ کسب و کارهای نوپای خاورزمین</p>
        </div>

CSS:

#pre-footer{
    width: 75%;
    height: 200px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 150px;
    position: relative;
}
.adv-clickable{
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    align-items: center;
}
.adv-clickable a:first-child p{
    margin-bottom: 30px;
}
.adv-clickable p{
    color: #606060;
    font-size: 12px;
    font-weight: bold;
}
.adv-clickable a{
    text-decoration: none;
}
#pre-footer-nested1{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#pre-footer-nested1 img{
    width: 40px;
    height: 40px;
    margin: 0 auto;
}
#pre-footer-nested2{
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#socials{
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
#socials i{
    color: #01a89e;
}
#pre-footer-nested1 form{
     margin-top: 20px;
}
#pre-footer-nested1 form label{
    font-size: 10px;
    font-weight: bold;
    margin-bottom: 10px;
}
#pre-footer-nested1 input:last-child{
    margin-top: 10px;
    background-color: #01a89e;
}
#pre-footer-nested1 input:last-child:active{
    background-color: #0f8079;
}
#pre-footer-nested2{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: wrap;
}
#pre-footer-nested2 img{
    width: 100px;
    height: 120px;
}
#pre-footer-nested2 div{
    display: flex;
    margin-top: 22px;
    justify-content: space-between;
    flex-wrap: wrap;
}
.footer-logos{
    width: 40px;
    height: 40px;
    border: 1px solid #9d9d9d;
    border-radius: 5px;
}
#footer{
    margin-top: 70px;
    background-color: #333333;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: relative;
}
#footer p{
    color: #ccc;
    font-size: 11px;
}

JsFiddle 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

打破布局有两个主要问题:

  1. #pre-footer的固定宽度:
  2. #pre-footer { width: 75%; } /* minor problem */
    
    1. form元素(这是最糟糕的)没有包装。
    2. 您似乎还在使用flexbox而没有先记录它。

      以下是布局的快速补丁:https://jsfiddle.net/websiter/hwwaqq58/4/

      我会说你需要刷新CSS或者从了解更多信息的人那里获得帮助。一些指示:

      1. 当你不使用.row并在display:flex元素的父元素上设置.col-*-*时,不要指望Bootstrap 3的行为相同,特别是如果你有非包装的话内容。
      2. display:flex添加到所有内容并不真正有效且很难修复,尤其是如果您不知道每个属性的作用。
      3. 始终将.col-*-*作为.row s。
      4. 的直接子女
      5. 如果您希望它们包装在狭窄的设备上,请不要在height上对.row进行硬编码。
      6. 将您的初始CSS与我的比较,并在W3Schools或MDN上搜索您不理解的属性,以了解他们的行为。