【问题标题】:Bootstrap 3 Horizontal and Vertical DividerBootstrap 3 水平和垂直分隔线
【发布时间】:2014-02-16 02:17:49
【问题描述】:

我无法在我的网站上添加水平线和垂直线。不知道这是怎么回事。

我尝试使用边框,但我不确定我是否做得对。

我想实现如下图所示的纵横交错的分隔线:

我的代码如下所示:

<div class="container-liquid" style="margin:0px; padding: 0px">
    <div class="row">
        <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan" id="one"><h5>Rich Media Ad Production</h5><img src="images/richmedia.png"></div>
        <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan" id="two"><h5>Web Design & Development</h5> <img src="images/web.png" ></div>               
        <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan" id="three"><h5>Mobile Apps Development</h5> <img src="images/mobile.png"></div>
        <div class="col-xs-6 col-sm-6 col-md-3 text-center rightspan" id="four"><h5>Creative Design</h5> <img src="images/mobile.png"> </div>
        <div class="col-xs-12"><hr></div>
        <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan" id="five"><h5>Web Analytics</h5> <img src="images/analytics.png"></div>
        <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan" id="six"><h5>Search Engine Marketing</h5> <img src="images/searchengine.png"></div>
        <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan" id="seven"><h5>Mobile Apps Development</h5> <img src="images/socialmedia.png"></div>
        <div class="col-xs-6 col-sm-6 col-md-3 text-center rightspan" id="eight"><h5>Quality Assurance</h5> <img src="images/qa.png"></div>

        <hr>
    </div>
</div>

【问题讨论】:

  • 你有没有为此写过你自己的css?如果可以,我们能看到吗?
  • 我确定这篇文章已经过时了,但你应该给我们一张截图,说明你当前的实现以及你使用过的任何框架(如 bootstrap)的 html、css 和列表。只是说....

标签: html css twitter-bootstrap-3


【解决方案1】:

您必须为此使用 Bootstrap 吗?这是一个基本的 HTML/CSS 示例,用于获得不使用任何 Bootstrap 的外观:

HTML:

<div class="bottom">
    <div class="box-content right">Rich Media Ad Production</div>
    <div class="box-content right">Web Design & Development</div>
    <div class="box-content right">Mobile Apps Development</div>
    <div class="box-content">Creative Design</div>
</div>
<div>
    <div class="box-content right">Web Analytics</div>
    <div class="box-content right">Search Engine Marketing</div>
    <div class="box-content right">Social Media</div>
    <div class="box-content">Quality Assurance</div>
</div>

CSS:

.box-content {
    display: inline-block;
    width: 200px;
    padding: 10px;
}

.bottom {
    border-bottom: 1px solid #ccc;
}

.right {
    border-right: 1px solid #ccc;
}

这里是working Fiddle


更新

如果你必须使用 Bootstrap,这里有一个半响应式的例子,可以达到同样的效果,尽管你可能需要编写一些额外的媒体查询。

HTML:

<div class="row">
    <div class="col-xs-3">Rich Media Ad Production</div>
    <div class="col-xs-3">Web Design & Development</div>
    <div class="col-xs-3">Mobile Apps Development</div>
    <div class="col-xs-3">Creative Design</div>
</div>
<div class="row">
    <div class="col-xs-3">Web Analytics</div>
    <div class="col-xs-3">Search Engine Marketing</div>
    <div class="col-xs-3">Social Media</div>
    <div class="col-xs-3">Quality Assurance</div>
</div>

CSS:

.row:not(:last-child) {
    border-bottom: 1px solid #ccc;
}

.col-xs-3:not(:last-child) {
    border-right: 1px solid #ccc;
}

这是另一个working Fiddle

注意:

请注意,如果您愿意,也可以使用 &lt;hr&gt; 元素在 Bootstrap 中插入水平分隔线。

【讨论】:

  • 在 Bootstrap 3 中使用类似col-xs-6 的类为您提供了流畅/负责任的布局,它适应设备的实际屏幕尺寸。这在 Bootstrap 3 中非常简洁(以及所有其他实现类似逻辑的)。您的“简单”代码虽然有效,但似乎没有此功能。
  • @trejder 我添加了一个基本的 Bootstrap 示例。
  • .row:not(:last-child) { border-bottom: ... 的替代品是.row + .row { border-top: ... - 本质上是在除第一行之外的所有行上放置一个顶部边框。我在 Bootstrap 源代码中看到过该方法。
【解决方案2】:

&lt;hr&gt; 应放在&lt;div&gt; 内以正常运行。

这样放置以获得所需的宽度 `

<div class='row'>
        <div class='col-lg-8 col-lg-offset-2'>
        <hr>
       </div>
       </div>

`

希望这对未来的读者有所帮助!

【讨论】:

  • 谢谢,竖线呢?
【解决方案3】:

以这种方式添加右线,并使用 HR 或 border-bottom.col-right-line:after 添加水平边框。不要忘记媒体查询以摆脱小型设备上的线路。

.col-right-line:before {
  position: absolute;
  content: " ";
  top: 0;
  right: 0;
  height: 100%;
  width: 1px;
  background-color: @color-neutral;
}

【讨论】:

    【解决方案4】:

    我知道这是一篇“较旧”的帖子。这个问题和提供的答案帮助我为自己的问题找到了想法。我认为这个解决方案解决了 OP 问题(根据显示将边界与 4 列和 2 列相交)

    小提琴: https://jsfiddle.net/tqmfpwhv/1/


    css基于OP信息,最后媒体查询为med & lg view。

    .vr-all {
        padding:0px;
        border-right:1px solid #CC0000;
    }
    .vr-xs {
        padding:0px;
    }
    .vr-md {
        padding:0px;
    }
    .hrspacing { padding:0px; }
    .hrcolor {
        border-color: #CC0000;
        border-style: solid;
        border-bottom: 1px;
        margin:0px;
        padding:0px;
    }
    /* for medium and up */
    @media(min-width:992px){
        .vr-xs {
            border-right:1px solid #CC0000;
        }
        }
    

    html 调整 OP 提供的代码。例如红色边框和 Img 链接。

    <div class="container">
      <div class="row">
            <div class="col-xs-6 col-sm-6 col-md-3 text-center vr-all" id="one">
                <h5>Rich Media Ad Production</h5>
                <img src="http://png-1.findicons.com/files/icons/2338/reflection/128/mobile_phone.png" />
            </div>
            <div class="col-xs-6 col-sm-6 col-md-3 text-center vr-xs" id="two">
                <h5>Web Design & Development</h5>
                <img src="http://png-1.findicons.com/files/icons/2338/reflection/128/mobile_phone.png" >
            </div>
    
            <!-- hr for only x-small/small viewports -->
            <div class="col-xs-12 col-sm-12 hidden-md hidden-lg hrspacing"><hr class="hrcolor"></div>
    
            <div class="col-xs-6 col-sm-6 col-md-3 text-center vr-all" id="three">
                <h5>Mobile Apps Development</h5>
                <img src="http://png-1.findicons.com/files/icons/2338/reflection/128/mobile_phone.png" >
            </div>
            <div class="col-xs-6 col-sm-6 col-md-3 text-center vr-md" id="four">
                <h5>Creative Design</h5>
                <img src="http://png-1.findicons.com/files/icons/2338/reflection/128/mobile_phone.png" >
            </div>
    
            <!-- hr for for all viewports -->
            <div class="col-xs-12 hrspacing"><hr class="hrcolor"></div>
    
            <div class="col-xs-6 col-sm-6 col-md-3 text-center vr-all" id="five">
                <h5>Web Analytics</h5>
                <img src="http://png-1.findicons.com/files/icons/2338/reflection/128/mobile_phone.png" >
            </div>
            <div class="col-xs-6 col-sm-6 col-md-3 text-center vr-xs" id="six">
                <h5>Search Engine Marketing</h5>
                <img src="http://png-1.findicons.com/files/icons/2338/reflection/128/mobile_phone.png" >
            </div>
    
            <!-- hr for only x-small/small viewports -->
            <div class="col-xs-12 col-sm-12 hidden-md hidden-lg hrspacing"><hr class="hrcolor"></div>
    
            <div class="col-xs-6 col-sm-6 col-md-3 text-center vr-all" id="seven">
                <h5>Mobile Apps Development</h5>
                <img src="http://png-1.findicons.com/files/icons/2338/reflection/128/mobile_phone.png" >
            </div>
            <div class="col-xs-6 col-sm-6 col-md-3 text-center vr-md" id="eight">
                <h5>Quality Assurance</h5>
                <img src="http://png-1.findicons.com/files/icons/2338/reflection/128/mobile_phone.png" >
            </div>
    
    
        </div>
    </div>
    

    【讨论】:

      【解决方案5】:

      我制作了以下小 scss mixin 来构建所有引导断点...

      有了它,我得到.col-xs-divider-leftcol-lg-divider-right 等。

      注意:这使用 v4-alpha 引导语法...

      @import 'variables';
      
      $divider-height: 100%;
      
      @mixin make-column-dividers($breakpoints: $grid-breakpoints) {
          // Common properties for all breakpoints
          %col-divider {
              position: absolute;
              content: " ";
              top: (100% - $divider-height)/2;
              height: $divider-height;
              width: $hr-border-width;
              background-color: $hr-border-color;
          }
          @each $breakpoint in map-keys($breakpoints) {
              .col-#{$breakpoint}-divider-right:before {
                  @include media-breakpoint-up($breakpoint) {
                      @extend %col-divider;
                      right: 0;
                  }
              }
              .col-#{$breakpoint}-divider-left:before {
                  @include media-breakpoint-up($breakpoint) {
                      @extend %col-divider;
                      left: 0;
                  }
              }
          }
      }
      

      【讨论】:

        【解决方案6】:

        CSS

        .vr {
           border-right: 1px solid #ccc !important;
        }
        

        HTML

        <div class="row">
           <div class="col-md-6 vr">
               <p>Column 1</p>
           </div>
           <div class="col-md-6">
               <p>Column 2</p>
           </div>
        </div
        

        现在,我们可以在任何需要 vertical-divider 外观的地方使用 vr 类。

        希望对你有帮助!

        【讨论】:

          【解决方案7】:

          可以通过添加bootstrap的边框类来实现

          喜欢左边框,你可以使用左边框

          工作代码

          <div class="row">
              <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan border-right border-bottom" id="one"><h5>Rich Media Ad Production</h5><img src="images/richmedia.png"></div>
              <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan border-right border-bottom" id="two"><h5>Web Design & Development</h5> <img src="images/web.png" ></div>               
              <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan border-right border-bottom" id="three"><h5>Mobile Apps Development</h5> <img src="images/mobile.png"></div>
              <div class="col-xs-6 col-sm-6 col-md-3 text-center rightspan  border-bottom" id="four"><h5>Creative Design</h5> <img src="images/mobile.png"> </div>
              <div class="col-xs-12"><hr></div>
              <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan border-right" id="five"><h5>Web Analytics</h5> <img src="images/analytics.png"></div>
              <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan border-right" id="six"><h5>Search Engine Marketing</h5> <img src="images/searchengine.png"></div>
              <div class="col-xs-6 col-sm-6 col-md-3 text-center leftspan border-right"  id="seven"><h5>Mobile Apps Development</h5> <img src="images/socialmedia.png"></div>
              <div class="col-xs-6 col-sm-6 col-md-3 text-center rightspan" id="eight"><h5>Quality Assurance</h5> <img src="images/qa.png"></div>
          
              <hr>
          </div>
          

          更多参考 al 引导类 all classes ,search for border

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-07-26
            • 2017-11-17
            • 1970-01-01
            • 2021-05-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-12-14
            相关资源
            最近更新 更多