html - 在网格中的所有列上设置填充
问题描述
我正在使用 bootstrap 3 制作一个网格,如下图所示。我不可能使用 Bootstrap 4,因为它是一个拥有超过 100.000 种产品的网上商店,所以后端开发人员还没有更改它。
我的问题是关于填充。我想在列周围有一个padding:15px;
. 目前,我为每一列提供class="top-pad-d"
. 但是当我看手机时遇到问题:
因此,为了使我的填充工作,我现在必须在媒体查询中进行填充,使用class="top-pad-m"
. 但是控制起来变得非常复杂和奇怪。
对于单列,代码将是:
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive top-pad-d top-pad-m"></a>
</div>
有没有办法我可以编写一些代码-应该有所有列15px padding
?
请注意,我不能padding:15px;
在所有小列上设置,因为它们会有一个padding:30px;
,因为彼此顶部有 2 行。
.row [class*="col-"] {
padding-right: 7.5px;
padding-left: 7.5px;
}
.padding-y {
padding: 15px;
background-color: #fff;
margin-bottom:30px;
border: 1px solid #ebecf0;
}
.top-pad-d {
padding-top: 15px;
}
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script
src="https://code.jquery.com/jquery-3.5.1.js"
integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
crossorigin="anonymous"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- Section 4 -->
<div class="section padding-y">
<div class="row">
<div class="col-sm-4">
<a href="#"><img src="http://placehold.it/400x427" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive column-top-pad"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive column-top-pad"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive column-top-pad"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive column-top-pad"></a>
</div>
</div>
</div>
解决方案
我提出了一个完整的 css 解决方案:您将不必再更改 DOM。为了得到你想要的结果,我已经添加padding: 7.5px
到每一列。现在在每列之间有一个距离7.5px + 7.5px = 15px
。但是,外边缘仍然有一个填充7.5px
。这就是为什么我7.5px
在.row
课堂上添加了一个填充。15px
所以现在,每列都有一个距离。
.row [class*="col-"] {
padding: 7.5px;
}
.row {
background-color: #fff;
padding: 7.5px !important;
}
.padding-y {
margin-left: 15px !important;
background-color: #fff;
margin-bottom: 30px;
}
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.5.1.js" integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc=" crossorigin="anonymous"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<!-- Section 4 -->
<div class="section padding-y">
<div class="row">
<div class="col-sm-4">
<a href="#"><img src="http://placehold.it/400x427" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
<div class="col-sm-2">
<a href="#"><img src="http://placehold.it/196x210" class="img-responsive"></a>
</div>
</div>
</div>
希望这可以帮助!
推荐阅读
- amazon-web-services - 如何从 Linux 机器上的 Web 浏览器访问 AWS EC2 实例?
- tfs - 从外部执行 tfs get 时 TFS 无法指定工作区
- stanford-nlp - 如何使用 NLP Java 提取主语动词对象?对于每一句话
- javascript - 使用时无法向集群添加令牌
- python - 如何将所有进程转换为字符串?
- javascript - forEach 在比较选项值和返回父 id 时返回 undefined
- python - Matplotlib 散点图
- reactjs - 我可以在反应中做一个单独的淡入淡出效果组件吗
- c - 如何使用递归正确打印城市?
- javascript - 如何在 NextJs 中多次循环单个 const