Кнопка вирівнювання внизу розділу за допомогою CSS


105

Я хочу вирівняти свою кнопку в правому нижньому куті дива. Як я можу це зробити?

введіть тут опис зображення

Поточний css div:

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

Відповіді:


224

Ви можете використовувати position:absolute;для абсолютно позиціонування елемента в батьківському ділі. При використанні position:absolute;елемент буде розташований абсолютно з першого розміщеного батьківського діла, якщо він не може знайти його, він буде розташований абсолютно з вікна, тому вам потрібно буде переконатися, що вміст діва розміщений.

Щоб зробити роздільний вміст вмісту, усі positionзначення, які не є статичними, будуть працювати, але relativeце найпростіше, оскільки воно не змінює позицію дівок само по собі.

Отже, додайте position:relative;до вмісту div, видаліть поплавок з кнопки та додайте наступний css до кнопки:

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

1
@Harry Joy: Ви також застосовували position: relativeелемент, який містить вашу форму + кнопку?
тридцятьдот

1
@Harry Joy: Тоді це має бути відносно цього div, а не сторінки. Якщо колонтитул також міститься в цьому div, можливо, вони просто здаються однаковими. Якщо ви знаєте висоту колонтитула, на кнопці ви можете скористатися bottom: HEIGHT_OF_FOOTERpx.
тридцятьдот

1
@Harry Joy: Тоді тут занадто багато плутанини. Ви повинні розмістити свій HTML / CSS як тестовий зразок jsFiddle .
тридцятьдот

1
@thirtydot: Зрозуміло. Thnx. пропустила посаду: відносна. Додано його неправильним ділом.
Гаррі Радість

3
Дійсно, я просто повинен зробити коментар і справді зазначити, як я щасливий, що знайшов це рішення. Це клопоче мене роками!
К. Кіліан Ліндберг

31

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;

або що завгодно


6
Зауважимо, що це питання було задано майже 3 роки тому і отримало відповідь.
Ітай Гал

Зауважте, що ця відповідь невірна. За position:relativeдопомогою кнопки буде переміщено з вихідного положення замість основи на батьківській.
Кокос

1
Для цього вам потрібно скористатися position: absoluteзнизу праворуч.
КапітанБлі

-26

Переходить праворуч і може бути використаний таким же чином для лівого

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

3
Це лише вирівнює вашу кнопку праворуч. Не праворуч внизу.
Рубен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.