我使用bootstrap创建移动优先响应式布局,并设置了各种行和列,我根据不同类别的屏幕大小进行调整。
我想知道是否有纯引导样式类允许我应用和删除不同大小的边框,而不必创建自己的css媒体查询。
例如,如果我想在行中的第一列上有一个border-right,只有当它以中等大小浮动时...我知道这不是真正的代码,但是有什么东西给它同样的影响,我找不到傻瓜?
<div class="row">
<div class="col-12 col-md-6 border border-top-0 border-right-0 border-bottom-0 border-left-0 border-md-right-1">
<p>Lorem ipsum</p>
</div>
<div class="col-12 col-md-6">
<p>Dolor sit amet</p>
</div>
</div>
我也使用maxcdn css,因此无法进入sass。有什么建议吗?
答案 0 :(得分:7)
不支持它。但是添加自己的代码将解决此问题。 基于@sharan答案(thx!),如果您想一次定义所有边框,请进行一些修改。 原始:https://stackoverflow.com/a/57089704/5677177
我的SCSS版本:
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.border#{$infix}-top { border-top: $border-width solid $border-color !important; }
.border#{$infix}-right { border-right: $border-width solid $border-color !important; }
.border#{$infix}-bottom { border-bottom: $border-width solid $border-color !important; }
.border#{$infix}-left { border-left: $border-width solid $border-color !important; }
.border#{$infix}-top-0 { border-top: 0 !important; }
.border#{$infix}-right-0 { border-right: 0 !important; }
.border#{$infix}-bottom-0 { border-bottom: 0 !important; }
.border#{$infix}-left-0 { border-left: 0 !important; }
.border#{$infix}-x {
border-left: $border-width solid $border-color !important;
border-right: $border-width solid $border-color !important;
}
.border#{$infix}-y {
border-top: $border-width solid $border-color !important;
border-bottom: $border-width solid $border-color !important;
}
// support of .border-sm (-md, -lg, -xl)
.border#{$infix} {
border-top: $border-width solid $border-color !important;
border-bottom: $border-width solid $border-color !important;
border-left: $border-width solid $border-color !important;
border-right: $border-width solid $border-color !important;
}
.border#{$infix}-0 {
border-top: 0 !important;
border-bottom: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
}
}
我的CSS版本,已编译版本:
@media (min-width: 576px) {
.border-sm-top {
border-top: 1px solid #e3e7eb !important;
}
.border-sm-right {
border-right: 1px solid #e3e7eb !important;
}
.border-sm-bottom {
border-bottom: 1px solid #e3e7eb !important;
}
.border-sm-left {
border-left: 1px solid #e3e7eb !important;
}
.border-sm-top-0 {
border-top: 0 !important;
}
.border-sm-right-0 {
border-right: 0 !important;
}
.border-sm-bottom-0 {
border-bottom: 0 !important;
}
.border-sm-left-0 {
border-left: 0 !important;
}
.border-sm-x {
border-left: 1px solid #e3e7eb !important;
border-right: 1px solid #e3e7eb !important;
}
.border-sm-y {
border-top: 1px solid #e3e7eb !important;
border-bottom: 1px solid #e3e7eb !important;
}
.border-sm {
border-top: 1px solid #e3e7eb !important;
border-bottom: 1px solid #e3e7eb !important;
border-left: 1px solid #e3e7eb !important;
border-right: 1px solid #e3e7eb !important;
}
.border-sm-0 {
border-top: 0 !important;
border-bottom: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
}
@media (min-width: 768px) {
.border-md-top {
border-top: 1px solid #e3e7eb !important;
}
.border-md-right {
border-right: 1px solid #e3e7eb !important;
}
.border-md-bottom {
border-bottom: 1px solid #e3e7eb !important;
}
.border-md-left {
border-left: 1px solid #e3e7eb !important;
}
.border-md-top-0 {
border-top: 0 !important;
}
.border-md-right-0 {
border-right: 0 !important;
}
.border-md-bottom-0 {
border-bottom: 0 !important;
}
.border-md-left-0 {
border-left: 0 !important;
}
.border-md-x {
border-left: 1px solid #e3e7eb !important;
border-right: 1px solid #e3e7eb !important;
}
.border-md-y {
border-top: 1px solid #e3e7eb !important;
border-bottom: 1px solid #e3e7eb !important;
}
.border-md {
border-top: 1px solid #e3e7eb !important;
border-bottom: 1px solid #e3e7eb !important;
border-left: 1px solid #e3e7eb !important;
border-right: 1px solid #e3e7eb !important;
}
.border-md-0 {
border-top: 0 !important;
border-bottom: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
}
@media (min-width: 992px) {
.border-lg-top {
border-top: 1px solid #e3e7eb !important;
}
.border-lg-right {
border-right: 1px solid #e3e7eb !important;
}
.border-lg-bottom {
border-bottom: 1px solid #e3e7eb !important;
}
.border-lg-left {
border-left: 1px solid #e3e7eb !important;
}
.border-lg-top-0 {
border-top: 0 !important;
}
.border-lg-right-0 {
border-right: 0 !important;
}
.border-lg-bottom-0 {
border-bottom: 0 !important;
}
.border-lg-left-0 {
border-left: 0 !important;
}
.border-lg-x {
border-left: 1px solid #e3e7eb !important;
border-right: 1px solid #e3e7eb !important;
}
.border-lg-y {
border-top: 1px solid #e3e7eb !important;
border-bottom: 1px solid #e3e7eb !important;
}
.border-lg {
border-top: 1px solid #e3e7eb !important;
border-bottom: 1px solid #e3e7eb !important;
border-left: 1px solid #e3e7eb !important;
border-right: 1px solid #e3e7eb !important;
}
.border-lg-0 {
border-top: 0 !important;
border-bottom: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
}
@media (min-width: 1200px) {
.border-xl-top {
border-top: 1px solid #e3e7eb !important;
}
.border-xl-right {
border-right: 1px solid #e3e7eb !important;
}
.border-xl-bottom {
border-bottom: 1px solid #e3e7eb !important;
}
.border-xl-left {
border-left: 1px solid #e3e7eb !important;
}
.border-xl-top-0 {
border-top: 0 !important;
}
.border-xl-right-0 {
border-right: 0 !important;
}
.border-xl-bottom-0 {
border-bottom: 0 !important;
}
.border-xl-left-0 {
border-left: 0 !important;
}
.border-xl-x {
border-left: 1px solid #e3e7eb !important;
border-right: 1px solid #e3e7eb !important;
}
.border-xl-y {
border-top: 1px solid #e3e7eb !important;
border-bottom: 1px solid #e3e7eb !important;
}
.border-xl {
border-top: 1px solid #e3e7eb !important;
border-bottom: 1px solid #e3e7eb !important;
border-left: 1px solid #e3e7eb !important;
border-right: 1px solid #e3e7eb !important;
}
.border-xl-0 {
border-top: 0 !important;
border-bottom: 0 !important;
border-left: 0 !important;
border-right: 0 !important;
}
}
答案 1 :(得分:1)
Bootstrap不支持开箱即用的响应式边框。您可以按照此处有关引导程序中响应边框的说明进行操作-https://github.com/twbs/bootstrap/issues/23892#issuecomment-378172751
代码如下:
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
.border#{$infix}-top { border-top: $border-width solid $border-color !important; }
.border#{$infix}-right { border-right: $border-width solid $border-color !important; }
.border#{$infix}-bottom { border-bottom: $border-width solid $border-color !important; }
.border#{$infix}-left { border-left: $border-width solid $border-color !important; }
.border#{$infix}-top-0 { border-top: 0 !important; }
.border#{$infix}-right-0 { border-right: 0 !important; }
.border#{$infix}-bottom-0 { border-bottom: 0 !important; }
.border#{$infix}-left-0 { border-left: 0 !important; }
.border#{$infix}-x {
border-left: $border-width solid $border-color !important;
border-right: $border-width solid $border-color !important;
}
.border#{$infix}-y {
border-top: $border-width solid $border-color !important;
border-bottom: $border-width solid $border-color !important;
}
}
}
答案 2 :(得分:0)
不,没有用于应用和删除边框的纯引导样式类。您必须创建自己的规则来覆盖它们。