【问题标题】:Does bootstrap 4 have a built in horizontal divider?bootstrap 4 是否有内置的水平分隔线?
【发布时间】:2017-05-15 15:14:58
【问题描述】:

bootstrap 4 有内置的水平分隔线吗?我能做到,

<style type="text/css">
.h-divider{
 margin-top:5px;
 margin-bottom:5px;
 height:1px;
 width:100%;
 border-top:1px solid gray;
}
</style>

但是我想使用内置的引导 css,我在文档中的任何地方都找不到它,也许我错过了它。

【问题讨论】:

    标签: html css bootstrap-4 twitter-bootstrap-4


    【解决方案1】:

    HTML 已经有一个内置的水平分隔线,称为&lt;hr/&gt;(“水平规则”的缩写)。 Bootstrap 样式它like this:

    hr {
      margin-top: 1rem;
      margin-bottom: 1rem;
      border: 0;
      border-top: 1px solid rgba(0, 0, 0, 0.1);
    }
    

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
    <p>
       Some text
       <hr/>
       More text
    </p>

    【讨论】:

    【解决方案2】:

    Bootstrap 4 为 HTML 内置的水平分隔线 &lt;hr /&gt; 定义一个 CSS 样式,所以就使用它吧。

    您还可以使用间距实用程序自定义边距:mt 用于顶部边距,mb 用于底部边距,my 用于顶部和底部边距。整数表示间距1 表示小边距,5 表示大边距。这是一个例子:

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
    
    <hr class="mt-2 mb-3"/>
    <!-- OR -->
    <hr class="my-12"/>
    <!-- It's like -->
    <hr class="mt-3 mb-3"/>

    我以前只使用divborder-top 之类的:

    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
    
    <div class="border-top my-3"></div>

    但这是一种完成工作的愚蠢方法,您可能会遇到一些问题。所以只需使用&lt;hr /&gt;

    【讨论】:

    • 代替 span 使用 div
    • 相对于问题,这个答案是正确的,但不应将border-*用作分隔符。想象一下,您想要分隔多行。如果将border-* 应用于一行,它将跨越父容器的一侧到另一侧。如果您将border-* 应用于单个列,那么在移动设备上堆叠时它们看起来不会很好。唯一的选择是使用
      就像建议接受的答案一样。
    【解决方案3】:

    对于 Bootstrap 4

    &lt;hr&gt; 仍然适用于普通分隔线。但是,如果你想要一个中间有文字的分隔线:

    <div class="row">
        <div class="col"><hr></div>
        <div class="col-auto">OR</div>
        <div class="col"><hr></div>
    </div>
    

    【讨论】:

      【解决方案4】:

      对于下拉菜单,是的:

      https://v4-alpha.getbootstrap.com/components/dropdowns/

      <div class="dropdown-menu">
        <a class="dropdown-item" href="#">Action</a>
        <a class="dropdown-item" href="#">Another action</a>
        <a class="dropdown-item" href="#">Something else here</a>
        <div class="dropdown-divider"></div>
        <a class="dropdown-item" href="#">Separated link</a>
      </div>
      

      【讨论】:

        【解决方案5】:

        对于 Bootstrap v4;

        对于细线;

        <div class="divider"></div>
        

        中等粗线;

        <div class="divider py-1 bg-dark"></div>
        

        粗线;

        <div class="divider py-1 bg-dark"><hr></div>
        

        【讨论】:

          【解决方案6】:

          您可以使用mtmb 间距实用程序为&lt;hr&gt; 添加额外的边距,例如:

          <hr class="mt-5 mb-5">
          

          https://getbootstrap.com/docs/4.3/utilities/spacing/

          【讨论】:

            【解决方案7】:

            以下是一些自定义实用程序类:

            hr.dashed {
                border-top: 2px dashed #999;
            }
            
            hr.dotted {
                border-top: 2px dotted #999;
            }
            
            hr.solid {
                border-top: 2px solid #999;
            }
            
            
            hr.hr-text {
              position: relative;
                border: none;
                height: 1px;
                background: #999;
            }
            
            hr.hr-text::before {
                content: attr(data-content);
                display: inline-block;
                background: #fff;
                font-weight: bold;
                font-size: 0.85rem;
                color: #999;
                border-radius: 30rem;
                padding: 0.2rem 2rem;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
            }
            
            
            
            /*
            *
            * ==========================================
            * FOR DEMO PURPOSES
            * ==========================================
            *
            */
            
            body {
                min-height: 100vh;
                background-color: #fff; 
                color: #333;
            }
            .text-uppercase {
              letter-spacing: .1em;
            }
            <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">
            
            <div class="container py-5">
                <!-- For Demo Purpose -->
                <header class="py-5 text-center">
                    <h1 class="display-4">Bootstrap Divider</h1>
                    <p class="lead mb-0">Some divider variants using &lt;hr&gt; element.    </p>
                </header>
            
            
                <div class="row">
                    <div class="col-lg-8 mx-auto">
                        <div class="mb-4">
                            <h6 class=" text-uppercase">Dashed</h6>
                            <!-- Dashed divider -->
                            <hr class="dashed">
                        </div>
                        <div class="mb-4">
                            <h6 class=" text-uppercase">Dotted</h6>
                            <!-- Dotted divider -->
                            <hr class="dotted">
                        </div>
                        <div class="mb-4">
                            <h6 class="text-uppercase">Solid</h6>
                            <!-- Solid divider -->
                            <hr class="solid">
                        </div>
                        <div class="mb-4">
                            <h6 class=" text-uppercase">Text content</h6>
                            <!-- Gradient divider -->
                            <hr data-content="AND" class="hr-text">
                        </div>
                       
                    </div>
                </div>
            </div>

            【讨论】:

              【解决方案8】:
              <div class="dropdown">
                <button data-toggle="dropdown">
                    Sample Button
                </button>
                <ul class="dropdown-menu">
                    <li>A</li>
                    <li>B</li>
                    <li class="dropdown-divider"></li>
                    <li>C</li>
                </ul>
              </div>
              

              这是引导程序 4 中水平分隔符的示例代码。Output looks like this:

              class="dropdown-divider" 在 bootstrap 4 中使用,而 class="divider" 在 bootstrap 3 中用于水平分隔符

              【讨论】:

                【解决方案9】:

                   <div class="form-group col-12">
                            <hr>
                   </div>

                【讨论】:

                  【解决方案10】:

                  在 Bootstrap 5 中,您可以执行以下操作:

                  <div class="py-2 my-1 text-center position-relative mx-2">
                              <div class="position-absolute w-100 top-50 start-50 translate-middle" style="z-index: 2">
                                  <span class="d-inline-block bg-white px-2 text-muted">or</span>
                              </div>
                              <div class="position-absolute w-100 top-50 start-0 border-muted border-top"></div>
                  </div>
                  

                  【讨论】:

                    【解决方案11】:

                    我在我的项目中使用这个例子:

                    html:

                     <hr class="my-3 dividerClass"/>
                    

                    css:

                    .dividerClass{
                      border-top-color: #999
                     }
                    

                    【讨论】:

                      猜你喜欢
                      • 2021-05-12
                      • 2014-02-16
                      • 1970-01-01
                      • 1970-01-01
                      • 2013-05-02
                      • 1970-01-01
                      • 2016-07-26
                      • 2019-06-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多