ปุ่มจัดแนวที่ด้านล่างของ div โดยใช้ CSS


105

ฉันต้องการจัดแนวปุ่มที่มุมขวาล่างของ div ฉันจะทำเช่นนั้นได้อย่างไร?

ป้อนคำอธิบายภาพที่นี่

css ปัจจุบันของ div:

    float: right;
    width: 83%;
    margin-right: 0px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    height:625px;
    overflow:auto;

คำตอบ:


226

คุณสามารถใช้position:absolute;เพื่อวางตำแหน่งองค์ประกอบภายใน div ระดับบนสุด เมื่อใช้position:absolute;องค์ประกอบจะถูกวางตำแหน่งอย่างแน่นอนจาก div แม่ตำแหน่งแรกหากไม่พบองค์ประกอบจะวางตำแหน่งจากหน้าต่างอย่างแน่นอนดังนั้นคุณจะต้องตรวจสอบให้แน่ใจว่าตำแหน่ง div เนื้อหาอยู่ในตำแหน่ง

ในการกำหนดตำแหน่ง div ของเนื้อหาpositionค่าทั้งหมดที่ไม่คงที่จะทำงานได้ แต่relativeเป็นวิธีที่ง่ายที่สุดเนื่องจากไม่ได้เปลี่ยนตำแหน่ง div ด้วยตัวเอง

ดังนั้นเพิ่มลงposition:relative;ใน div เนื้อหาลบลอยออกจากปุ่มและเพิ่ม css ต่อไปนี้ในปุ่ม:

position: absolute;
right:    0;
bottom:   0;

1
@ แฮร์รี่จอย: คุณใช้position: relativeกับองค์ประกอบที่มีปุ่มฟอร์ม + ของคุณด้วยหรือเปล่า
30

1
@ แฮรี่จอย: ถ้าอย่างนั้นมันควรจะสัมพันธ์กับสิ่งdivนั้นไม่ใช่เพจ หากมีส่วนท้ายอยู่ในสิ่งนี้divด้วยบางทีอาจดูเหมือนเป็นสิ่งเดียวกัน หากคุณทราบความสูงของส่วนท้ายคุณสามารถใช้ปุ่มนี้bottom: HEIGHT_OF_FOOTERpxได้
30

1
@ แฮร์รี่จอย: แล้วก็มีความสับสนมากเกินไปที่นี่ คุณควรโพสต์ของ HTML / CSS เป็นกรณีทดสอบ jsFiddle
30

1
@thirtydot: ได้ผล Thnx. วางตำแหน่งผิด: ญาติ เพิ่มใน div ที่ไม่ถูกต้อง
Harry Joy

3
จริงๆฉันแค่ต้องแสดงความคิดเห็นและชี้ให้เห็นว่าฉันมีความสุขแค่ไหนที่ได้พบวิธีแก้ปัญหานี้ นี่เป็นปัญหาของฉันมาหลายปีแล้ว!
K. Kilian Lindberg

33

CSS3 flexbox ยังสามารถใช้เพื่อจัดเรียงปุ่มที่ด้านล่างขององค์ประกอบหลัก

HTML ที่ต้องการ:

<div class="container">
  <div class="btn-holder">
    <button type="button">Click</button>
  </div>
</div>

CSS ที่จำเป็น:

.container {
  justify-content: space-between;
  flex-direction: column;
  height: 100vh;
  display: flex;
}
.container .btn-holder {
  justify-content: flex-end;
  display: flex;
}

ภาพหน้าจอ:

ภาพที่ส่งออก

แหล่งข้อมูลที่เป็นประโยชน์:


12

คอนเทนเนอร์หลักต้องมีสิ่งนี้:

position: relative;

ปุ่มจะต้องมีสิ่งนี้:

position: relative;
bottom: 20px;
right: 20px;

หรืออะไรก็ได้ที่คุณต้องการ


โปรดทราบว่าคำตอบนี้ไม่ถูกต้อง ด้วยposition:relativeปุ่มจะถูกย้ายจากตำแหน่งเดิมแทนที่จะขึ้นอยู่กับระดับบนสุด
Kokos

1
คุณต้องใช้position: absoluteเพื่อให้ได้จากด้านล่างขวา
CaptainBli

-25

ไปทางขวาและสามารถใช้ในลักษณะเดียวกันกับทางซ้าย

.yourComponent
{
   float: right;
   bottom: 0;
}

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