Существует ли верхний предел количества коммитов, которые может обработать git-репозиторий?

1. Как вы можете позиционировать модальное вертикально в центре, когда вы не знаете точную высоту модальности?

Чтобы абсолютный центр Bootstrap 3 Modal без объявления высоты, вам сначала нужно будет перезаписать Bootstrap CSS, добавив это в таблицу стилей:

.modal-dialog-center { /* Edited classname 10/03/2014 */
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
}

. В центре окна будет расположен верхний левый угол модального диалога. Мы должны добавить этот медиа-запрос, иначе модальный маркер слева не подходит для небольших устройств:

@media (max-width: 767px) {
  .modal-dialog-center { /* Edited classname 10/03/2014 */
    width: 100%;
  }
} 

Теперь нам нужно будет отрегулировать свою позицию с помощью JavaScript. Для этого мы даем элементу отрицательное верхнее и левое поле, равное половине его высоты и ширины. В этом примере мы будем использовать jQuery, поскольку он доступен с помощью Bootstrap.

$('.modal').on('shown.bs.modal', function() {
    $(this).find('.modal-dialog').css({
        'margin-top': function () {
            return -($(this).outerHeight() / 2);
        },
        'margin-left': function () {
            return -($(this).outerWidth() / 2);
        }
    });
});

Обновление (01/10/2015):

Добавление к ответа Финика . Кредиты на Центрирование в Unknown .

.modal {
  text-align: center;
  padding: 0!important;
}

.modal:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
  margin-right: -4px; /* Adjusts for spacing */
}

.modal-dialog {
  display: inline-block;
  text-align: left;
  vertical-align: middle;
}

Обратите внимание на отрицательное поле справа? Это удаляет пространство, добавленное встроенным блоком. Это пространство приводит к тому, что модальное значение переходит к нижней части страницы @media width & lt; 768px.

2. Возможно ли иметь модальное центрирование и иметь переполнение: auto в модальном теле, но только в том случае, если модальное значение превышает высоту экрана?

Это возможно, если модальным телом является overflow-y: auto и max-height. Для этого требуется немного больше работы. Начните с добавления этого в таблицу стилей:

.modal-body {
    overflow-y: auto;
}
.modal-footer {
    margin-top: 0;
}

Мы снова будем использовать jQuery, чтобы получить высоту окна и сначала установить максимальную высоту модального содержимого. Затем мы должны установить максимальную высоту модального тела, вычитая модальное содержание с помощью модального заголовка и модального нижнего колонтитула:

$('.modal').on('shown.bs.modal', function() {
    var contentHeight = $(window).height() - 60;
    var headerHeight = $(this).find('.modal-header').outerHeight() || 2;
    var footerHeight = $(this).find('.modal-footer').outerHeight() || 2;

    $(this).find('.modal-content').css({
        'max-height': function () {
            return contentHeight;
        }
    });

    $(this).find('.modal-body').css({
        'max-height': function () {
            return (contentHeight - (headerHeight + footerHeight));
        }
    });

    $(this).find('.modal-dialog').css({
        'margin-top': function () {
            return -($(this).outerHeight() / 2);
        },
        'margin-left': function () {
            return -($(this).outerWidth() / 2);
        }
    });
});

. Это положение будет лежать в верхнем левом углу модального диалога в центр окна.

Здесь вы можете найти рабочую демонстрацию с Bootstrap 3.0.3: http://cdpn.io/GwvrJ EDIT: я рекомендую использовать обновленную версию вместо этого для более отзывчивое решение: http://cdpn.io/mKfCc

Обновление (30/11/2015):

function setModalMaxHeight(element) {
  this.$element     = $(element);  
  this.$content     = this.$element.find('.modal-content');
  var borderWidth   = this.$content.outerHeight() - this.$content.innerHeight();
  var dialogMargin  = $(window).width() < 768 ? 20 : 60;
  var contentHeight = $(window).height() - (dialogMargin + borderWidth);
  var headerHeight  = this.$element.find('.modal-header').outerHeight() || 0;
  var footerHeight  = this.$element.find('.modal-footer').outerHeight() || 0;
  var maxHeight     = contentHeight - (headerHeight + footerHeight);

  this.$content.css({
      'overflow': 'hidden'
  });

  this.$element
    .find('.modal-body').css({
      'max-height': maxHeight,
      'overflow-y': 'auto'
  });
}

$('.modal').on('show.bs.modal', function() {
  $(this).show();
  setModalMaxHeight(this);
});

$(window).resize(function() {
  if ($('.modal.in').length != 0) {
    setModalMaxHeight($('.modal.in'));
  }
});

14
задан James Chevalier 7 September 2011 в 19:06
поделиться