Căn chỉnh nút ở cuối div bằng cách sử dụng CSS


105

Tôi muốn căn chỉnh nút của mình ở góc dưới cùng bên phải của div. Làm thế nào tôi có thể làm điều đó?

nhập mô tả hình ảnh ở đây

Css hiện tại của div:

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

Câu trả lời:


224

Bạn có thể sử dụng position:absolute;để định vị hoàn toàn một phần tử trong div cha. Khi sử dụng position:absolute;phần tử sẽ được định vị tuyệt đối từ div cha được định vị đầu tiên, nếu không thể tìm thấy phần tử này, nó sẽ định vị tuyệt đối từ cửa sổ, vì vậy bạn cần đảm bảo rằng div nội dung đã được định vị.

Để làm cho nội dung div được định vị, tất cả các positiongiá trị không tĩnh sẽ hoạt động, nhưng relativelà cách dễ nhất vì nó không tự thay đổi vị trí div.

Vì vậy, thêm position:relative;vào div nội dung, loại bỏ float khỏi nút và thêm css sau vào nút:

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

1
@Harry Joy: Bạn cũng đã áp dụng position: relativecho phần tử chứa nút + biểu mẫu của bạn?
ba mươi

1
@Harry Joy: Vậy thì nó phải tương đối với điều đó div, không phải trang. Nếu footer cũng được chứa trong này div, có thể chúng xuất hiện giống nhau. Nếu bạn biết chiều cao của chân trang của mình, trên nút bạn có thể sử dụng bottom: HEIGHT_OF_FOOTERpx.
ba mươi

1
@Harry Joy: Vậy thì có quá nhiều sự nhầm lẫn ở đây. Bạn nên đăng HTML / CSS của mình dưới dạng trường hợp thử nghiệm jsFiddle .
ba mươi

1
@thirtydot: Hoạt động rồi. Thnx. đã đặt sai vị trí: họ hàng. Đã thêm nó vào sai div.
Harry Joy

3
Thực sự tôi chỉ phải đưa ra nhận xét và thực sự chỉ ra rằng tôi hạnh phúc như thế nào khi tìm ra giải pháp này. Điều này đã làm phiền tôi trong nhiều năm!
K. Kilian Lindberg

31

CSS3 flexbox cũng có thể được sử dụng để căn chỉnh nút ở cuối phần tử mẹ.

HTML bắt buộc:

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

CSS cần thiết:

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

Ảnh chụp màn hình:

Hình ảnh đầu ra

Tài nguyên hữu ích:


12

Vùng chứa mẹ phải có điều này:

position: relative;

Bản thân nút phải có cái này:

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

hoặc bất cứ điều gì bạn thích


6
Lưu ý rằng câu hỏi này đã được hỏi gần 3 năm trước và đã có câu trả lời.
Itay Gal

Lưu ý rằng câu trả lời này không chính xác. Với position:relativenút sẽ được di chuyển từ vị trí ban đầu của nó thay vì dựa trên cha mẹ.
Kokos

1
Bạn cần sử dụng position: absolutetheo thứ tự từ dưới cùng bên phải.
CaptainBli

-26

Đi đến bên phải và có thể được sử dụng theo cách tương tự cho bên trái

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

3
Điều này chỉ căn chỉnh nút của bạn ở bên phải. Không phải dưới cùng bên phải.
Ruben
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.