bootstrap 4 ยูทิลิตี้ตอบสนองที่มองเห็น / ซ่อน xs sm lg ไม่ทำงาน


104

มีปัญหาเกี่ยวกับระบบสาธารณูปโภคที่ตอบสนองต่อใหม่ซ่อน / เรียนมองเห็นได้เมื่อการโยกย้ายไปยังBootstrap 4 ฉันทราบว่า. hidden- คลาสถูกลบออกจาก v3 แล้วและแทนที่ด้วย.hidden-*-up .hidden-*-down. ใช้.hidden-*-up.hidden-*-downคลาสใหม่แต่องค์ประกอบไม่เปลี่ยนเป็นมองเห็น / ซ่อน คิดไม่ออกว่าทำไม

<div class="col hidden-xs-down">
    <span class="vcard">
        …
    </span>
</div>
<div class="col hidden-lg-down">
    <div class="hidden-sm-down">
                …
    </div>
    <div class="hidden-xs-down">
                …
    </div>
</div>

* ไม่มีสิ่งใดซ่อนอยู่ในตัวอย่างนี้โดยไม่คำนึงถึงขนาดหน้าจอ (Safari, โหมดออกแบบตอบสนอง)


2
และคำถามของคุณคืออะไร? stackoverflow.com/help/how-to-ask
Rob

@Rob fair;) เปลี่ยนไป.
Yatko

คุณต้องโพสต์ตัวอย่างเล็กน้อยของมาร์กอัปที่ทำให้เกิดปัญหา: ตัวอย่างที่ทำซ้ำได้น้อยที่สุดเราไม่รู้ว่า "องค์ประกอบ" คืออะไร
Rob

การติดตั้ง codepen ที่มีเงินทุนที่ 4 และตัวอย่าง HTML ของคุณ: codepen.io/esr360/pen/prWjYv การอ้างสิทธิ์ "ไม่มีสิ่งใดซ่อนอยู่ในตัวอย่างนี้ไม่ว่าจะเป็นขนาดหน้าจอเท่าใดก็ตาม" นั้นไม่ถูกต้อง
ESR

@EdmundReed ใช่มันทำให้ฉันคลั่งไคล้: ฉันลองใช้ตัวอย่างง่ายๆทำงานบน mac ของฉันหยุดทำงานทันทีหลังจากซิงค์ ... พยายามแคชแม้ ISP อื่นเพื่อ
แยกแยะการ

คำตอบ:


233

ด้วย Bootstrap 4 .hidden-* คลาสถูกลบออกอย่างสมบูรณ์ (ใช่พวกมันถูกแทนที่ด้วยhidden-*-*แต่คลาสเหล่านั้นก็หายไปจาก v4 alphas ด้วย)

เริ่มต้นด้วย v4-beta คุณสามารถรวม.d-*-noneและ.d-*-blockคลาสเพื่อให้ได้ผลลัพธ์เดียวกัน

มองเห็นได้ - * ถูกลบออกเช่นกัน แทนที่จะใช้.visible-*คลาสที่ชัดเจนให้ทำให้องค์ประกอบมองเห็นได้โดยไม่ซ่อนมัน (อีกครั้งใช้ชุดค่าผสมของ. d-none .d-md-block) นี่คือตัวอย่างการทำงาน:

<div class="col d-none d-sm-block">
    <span class="vcard">
        …
    </span>
</div>
<div class="col d-none d-xl-block">
    <div class="d-none d-md-block">
                …
    </div>
    <div class="d-none d-sm-block">
                …
    </div>
</div>

class="hidden-xs"กลายเป็นclass="d-none d-sm-block"(หรือd-none d-sm-inline-block ) ...

<span class="d-none d-sm-inline">hidden-xs</span>

<span class="d-none d-sm-inline-block">hidden-xs</span>

ตัวอย่างของยูทิลิตี้ที่ตอบสนอง Bootstrap 4 :

<div class="d-none d-sm-block"> hidden-xs           
  <div class="d-none d-md-block"> visible-md and up (hidden-sm and down)
    <div class="d-none d-lg-block"> visible-lg and up  (hidden-md and down)
      <div class="d-none d-xl-block"> visible-xl </div>
    </div>
  </div>
</div>

<div class="d-sm-none"> eXtra Small <576px </div>
<div class="d-none d-sm-block d-md-none d-lg-none d-xl-none"> SMall ≥576px </div>
<div class="d-none d-md-block d-lg-none d-xl-none"> MeDium ≥768px </div>
<div class="d-none d-lg-block d-xl-none"> LarGe ≥992px </div>
<div class="d-none d-xl-block"> eXtra Large ≥1200px </div>

<div class="d-xl-none"> hidden-xl (visible-lg and down)         
  <div class="d-lg-none d-xl-none"> visible-md and down (hidden-lg and up)
    <div class="d-md-none d-lg-none d-xl-none"> visible-sm and down  (or hidden-md and up)
      <div class="d-sm-none"> visible-xs </div>
    </div>
  </div>
</div>

เอกสารประกอบ


1
สาเหตุที่ฉันไม่พบสิ่งนี้ v4 beta ได้รับการเผยแพร่เมื่อสองวันก่อนและผลลัพธ์ที่จัดทำดัชนีของ Google ทั้งหมดยังคงนำคุณไปสู่ ​​v4-alpha แต่ฉันได้รับลิงค์CDN ใหม่แต่ส่วนที่เหลือทั้งหมดยังคงเป็น -alpha
Yatko

3
ผมถือว่า "D" display=
user20232359723568423357842364

20
ทำไมพวกเขาถึงนำเสนอการเปลี่ยนแปลงที่ไม่เข้าใจง่ายและทำลายล้างเช่นนี้? คำอธิบายใด ๆ
szaman

3
@rrrafalsz ฉันสงสัยเกี่ยวกับสิ่งเดียวกัน นี่ดูเหมือนเป็นขั้นตอนที่ซับซ้อนโดยไม่จำเป็นต้องย้อนกลับไปจาก "visible-sm-up / down" ก่อนหน้านี้ที่มีในอัลฟ่า มันจะน่าสนใจที่จะรู้เหตุผล
Katai

คุณสามารถแสดงความคิดเห็นอย่างชัดเจนในตัวอย่างของคุณได้หรือไม่ว่า DIV ใดที่จะมองเห็นได้และข้อใดที่ไม่ใช่ ฉันใช้เวลาสักพักและฉันก็ไม่แน่ใจว่าถ้าฉันแสดงความคิดเห็นนั้นจะถูกต้องหรือไม่ ขอบคุณ
helle

58

ระดับขนาดหน้าจอ

-

  1. ซ่อนอยู่ใน . d-none

  2. ซ่อนเฉพาะใน xs .d-none .d-sm-block

  3. ซ่อนเฉพาะบน sm .d-sm-none .d-md-block

  4. ซ่อนเฉพาะใน md .d-md-none .d-lg-block

  5. ซ่อนเฉพาะใน lg .d-lg-none .d-xl-block

  6. ซ่อนเฉพาะใน xl .d-xl-none

  7. มองเห็นได้บน . d-block ทั้งหมด

  8. มองเห็นได้เฉพาะบน xs .d-block .d-sm-none

  9. มองเห็นได้เฉพาะบน sm .d-none .d-sm-block .d-md-none

  10. มองเห็นได้เฉพาะใน md .d-none .d-md-block .d-lg-none

  11. มองเห็นได้เฉพาะใน lg .d-none .d-lg-block .d-xl-none

  12. มองเห็นได้เฉพาะบน xl .d-none .d-xl-block

อ้างอิงลิงค์นี้ http://getbootstrap.com/docs/4.0/utilities/display/#hiding-elements

ลิงค์ 4.5: https://getbootstrap.com/docs/4.5/utilities/display/#hiding-elements


1
ในขณะที่สิ่งนี้อาจตอบคำถามในทางทฤษฎีแต่ควรรวมส่วนสำคัญของคำตอบไว้ที่นี่และระบุลิงก์สำหรับการอ้างอิง
Rick

6

Bootstrap 4 (^ beta) ได้เปลี่ยนคลาสสำหรับการซ่อน / แสดงองค์ประกอบที่ตอบสนอง ดูลิงค์นี้สำหรับคลาสที่ถูกต้องที่จะใช้: http://getbootstrap.com/docs/4.0/utilities/display/#hiding-elements


2
ขอขอบคุณ. Bootstrap สามารถลบเนื้อหาเก่าอย่างน้อยเพื่อเก็บถาวรเพื่อให้ noobs ทั้งหมด (เช่นตัวฉันเอง) ไม่ต้องไปถึง 123523532 วิธีแก้ปัญหาที่เป็นไปได้ก่อนที่จะหาคำตอบนี้ที่สแต็ก ในช่วงสองสามปีที่ผ่านมา stack overflow มีประโยชน์มากกว่า google ดังนั้นเมื่อมีคนบอกว่าใช้ google ... ฉันบอกว่าไม่ใช้ stack .. เร็วขึ้นและมีประโยชน์มากขึ้น
สีน้ำเงิน

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