boostrap使用时的注意点

本文详细探讨了如何避免父元素高度为0的问题,通过引入Bootstrap并理解浮动、row和container-fluid类的作用。解决内联元素高度响应且清除浮动的关键在于配合row和container-fluid,以及对栅格系统的深入认识。
摘要由CSDN通过智能技术生成

首先先来看一个小例子:
代码:
在这里插入图片描述
效果:
在这里插入图片描述

这里没有给父元素高度,但是给了子元素高度,那么父元素的就会被子元素撑开,父元素的宽度还是100%,但是高度就会变成200px,这是毫无疑问的。
但是如果我们想要inner变成响应式的,那么就要再在这个html文件中,引入了Jquery和Boostrap,我们给inner添加响应式的类名:
比如:
html:

<div class="outer">
  <div class="col-md-5 inner" style="height: 200px; background-color: red">
    inner
  </div>
</div>

css:

<style>
  .row {
    background-color: pink;
  }
  div[class^="col-md"] {
    padding: 0;
    border: 1px solid red !important;
  }
</style>

效果:
在这里插入图片描述
可见,outer的高度已经变成0了,造成这个的原因就是浮动
在这里插入图片描述
这个问题困扰了我差不多一天了,终于发现了原因,解决方案如下:
在这里插入图片描述
官网已经说的很明白了,想要使用像col-md等这样的预定义的类名,就必须要在外边加上一层row类,在row类外边还加上一层container或者contaner-fluid类。
那么我们吧这两个类加上去,看看效果:

<div class="outer">
  <div class="row">
    <div
      class="col-md-5 inner"
      style="height: 200px; background-color: red"
    >
      inner
    </div>
  </div>
</div>

在这里插入图片描述

完美解决,其中的原理估计大家也都是知道了,肯定是row这个类是清楚浮动的,不过它自带左右的15的padding的,不想要的可以删除。
然后我们又会发现一个问题:我们innter文字,没有显示全,那么这是什么原因呢?
这又要提到Boostraop的栅格系统了,最外边必须要给上一个container或者container-fluid类才可以,我们加上去在看效果:

<div class="container-fluid outer">
  <div class="row">
    <div
      class="col-md-5 inner"
      style="height: 200px; background-color: red"
    >
      inner
    </div>
  </div>
</div>

在这里插入图片描述

Amazing,完美!!!
原理就是container-fluid类带有左右的15px的padding
最后再总结一下:
1.如果只是用col-类名的话虽然也可以实现响应式,但是他的父元素的高度会变为0,因此加上row这个类就可以解决高度为0的问题,但是加上这个就会发现还有问题,那就就要再父元身上再加上container-fluid类,然后才算完美。
2.container-fluid这个类如果不加的话,那么里面元素会紧挨着浏览器,如果加上去的话那么他就会带有左右15像素的padding,使用row可以解决这个问题。
3.带有container和container-fluid和row类的元素都可以清除浮动,带有col-开头类名的元素都会进行浮动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白嫖leader

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值