Bootstrap 4 มีตัวแบ่งแนวนอนในตัวหรือไม่?


94

Bootstrap 4 มีตัวแบ่งแนวนอนในตัวหรือไม่? ฉันทำได้

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

แต่ฉันต้องการใช้ bootstrap css ในตัวฉันไม่สามารถหาได้จากที่ใดในเอกสารบางทีฉันอาจพลาดไป

คำตอบ:


151

HTML มีตัวแบ่งแนวนอนในตัวอยู่แล้วซึ่งเรียกว่า<hr/>(ย่อมาจาก "horizontal rule") รูปแบบบูตมันเช่นนี้ :

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>


7
บางครั้งคุณต้องเพิ่ม class = "w-100" มิฉะนั้น <hr> จะแสดงเป็นจุด getbootstrap.com/docs/4.0/utilities/sizing
Hunter Nelson

ผ่านการทดสอบใน Bootstrap 4 แล้วborder border-primaryชั้นเรียนใช้งานhrได้
Luke Puplett

58

Bootstrap 4กำหนดสไตล์ CSS สำหรับตัวแบ่งแนวนอนในตัว HTML <hr />ดังนั้นใช้มัน

คุณยังสามารถปรับแต่งระยะขอบด้วยยูทิลิตีการเว้นระยะ: mtสำหรับขอบบนสุดmbสำหรับระยะขอบล่างและmyสำหรับระยะขอบบนและล่าง จำนวนเต็มแสดงระยะห่าง1สำหรับระยะขอบขนาดเล็กและ5สำหรับระยะขอบมาก นี่คือตัวอย่าง:

<hr class="mt-2 mb-3"/>
<!-- OR -->
<hr class="my-3"/>
<!-- It's like -->
<hr class="mt-3 mb-3"/>

ผมเคยใช้เพียงdivกับborder-topที่ชอบ:

<div class="border-top my-3"></div>

แต่มันเป็นวิธีโง่ ๆในการทำงานให้เสร็จและคุณอาจมีปัญหาบางอย่าง <hr />ดังนั้นเพียงแค่การใช้งาน


3
<div class = "border-top my-3"> </div> แทนที่จะใช้ span ให้ใช้ div
Anuja Deshpande Patil

เมื่อเทียบกับคำถามคำตอบนี้ถูกต้อง แต่ไม่ควรใช้ border- * เป็นตัวแบ่ง ลองนึกภาพคุณต้องการแยกหลายแถว หากคุณใช้ border- * กับแถวหนึ่งมันจะขยายจากด้านหนึ่งไปอีกด้านหนึ่งของคอนเทนเนอร์หลัก หากคุณใช้ border- * กับแต่ละคอลัมน์มันจะดูไม่ดีเมื่อวางซ้อนกันบนมือถือ ทางเลือกเดียวคือใช้ <hr /> เช่นเดียวกับคำตอบที่ยอมรับที่แนะนำ
พ.ค.

39

สำหรับ Bootstrap 4

<hr>ยังคงใช้งานได้กับตัวแบ่งปกติ อย่างไรก็ตามหากคุณต้องการตัวแบ่งที่มีข้อความอยู่ตรงกลาง:

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




2

/*
*
* ==========================================
* CUSTOM UTIL CLASSES
* ==========================================
*
*/

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>
        <p class="font-weight-light mb-0">Snippet by <a href="https://bootstrapious.com" class="">
            <u>Bootstrapious</u></a>
        </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>


2

สำหรับ Bootstrap v4;

สำหรับเส้นบาง ๆ

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

สำหรับเส้นหนาปานกลาง

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

สำหรับเส้นหนา

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

1
<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>

นี่คือโค้ดตัวอย่างสำหรับตัวแบ่งแนวนอนใน bootstrap 4 ผลลัพธ์มีลักษณะดังนี้:

class = "dropdown-divider" ที่ใช้ใน bootstrap 4 ในขณะที่ class = "divider" ใช้ใน bootstrap 3 สำหรับตัวแบ่งแนวนอน


0

ฉันใช้ตัวอย่างนี้ในโครงการของฉัน:

html:

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

css:

.dividerClass{
  border-top-color: #999
 }
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.