Bootstrap 4 не может центрировать ряд по вертикали

Вы можете написать функцию генератора, которая возвращает объекты даты, начиная с сегодняшнего дня:

import datetime

def date_generator():
  from_date = datetime.datetime.today()
  while True:
    yield from_date
    from_date = from_date - datetime.timedelta(days=1)

Этот генератор возвращает даты, начиная с сегодняшнего дня, и возвращается назад один день за раз. Вот как взять первые 3 даты:

>>> import itertools
>>> dates = itertools.islice(date_generator(), 3)
>>> list(dates)
[datetime.datetime(2009, 6, 14, 19, 12, 21, 703890), datetime.datetime(2009, 6, 13, 19, 12, 21, 703890), datetime.datetime(2009, 6, 12, 19, 12, 21, 703890)]

Преимущество этого подхода в понимании цикла или списка состоит в том, что вы можете вернуться столько раз, сколько хотите.

Редактировать

Более компактная версия с использованием выражения генератора вместо функции:

date_generator = (datetime.datetime.today() - datetime.timedelta(days=i) for i in itertools.count())

Использование:

>>> dates = itertools.islice(date_generator, 3)
>>> list(dates)
[datetime.datetime(2009, 6, 15, 1, 32, 37, 286765), datetime.datetime(2009, 6, 14, 1, 32, 37, 286836), datetime.datetime(2009, 6, 13, 1, 32, 37, 286859)]
-4
задан Diego Perez 18 January 2019 в 16:24
поделиться

1 ответ

Попробуйте этот подход.

Основные пункты дизайна:

  1. сохранить высоту 100% только на HTML & amp; теги body
  2. большинство элементов используют загрузчик .flex-fill, чтобы полностью вписаться в содержимое в области просмотра и .flex-столбца, чтобы охватить всю страницу по вертикали. это помогает контролировать вертикальное выравнивание
  3. синий фон (.bg-info) остается таким образом, чтобы вы могли видеть, как содержимое расширяется, начиная от центра по горизонтали по всей странице по вертикали настолько, насколько это необходимо
[1110 ]
body, html {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<html>
  <body>
    <div class="container-fluid d-flex flex-column flex-fill">
      <div class="row flex-fill">
        <div class="col-4 d-flex bg-success">
          <div class="d-flex flex-column flex-fill my-auto bg-info">
            <div class="form-group">
              <input class="form-control">
            </div>
            <div class="form-group">
              <input class="form-control">
            </div>
          </div>
        </div>
        <div class="col-8 d-flex flex-column bg-warning">
          <div class="d-flex flex-fill my-auto bg-info">
            <img class="img-fluid w-100" src="data:image/svg+xml, %3Csvg viewBox='0 0 612 612' xmlns='http://www.w3.org/2000/svg' focusable='false'%3E%3Ctitle%3EBootstrap%3C/title%3E%3Cpath d='M510 8a94.3 94.3 0 0 1 94 94v408a94.3 94.3 0 0 1-94 94H102a94.3 94.3 0 0 1-94-94V102a94.3 94.3 0 0 1 94-94h408m0-8H102C45.9 0 0 45.9 0 102v408c0 56.1 45.9 102 102 102h408c56.1 0 102-45.9 102-102V102C612 45.9 566.1 0 510 0z'%3E%3C/path%3E%3Cpath fill='currentColor' d='M196.77 471.5V154.43h124.15c54.27 0 91 31.64 91 79.1 0 33-24.17 63.72-54.71 69.21v1.76c43.07 5.49 70.75 35.82 70.75 78 0 55.81-40 89-107.45 89zm39.55-180.4h63.28c46.8 0 72.29-18.68 72.29-53 0-31.42-21.53-48.78-60-48.78h-75.57zm78.22 145.46c47.68 0 72.73-19.34 72.73-56s-25.93-55.37-76.46-55.37h-74.49v111.4z'%3E%3C/path%3E%3C/svg%3E">
          </div>
        </div>
      </div>
    </div>
  </body>
</html>

0
ответ дан Artūrs Orinskis 18 January 2019 в 16:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: