Задать вопрос
@fantazerno

Адаптивный флаг Японии как правильно сделать?

Добрый день
<div class="wraper ">
          <div class="modal">
             
         </div>
  </div>

.wraper{
    display: flex;
    width: 100vw;
    height: 100vh;
    align-items: center;
    justify-content: center;
    background: rgb(255, 255, 255);
}
.modal{
    background: red;
    flex-basis: 100px;
    border-radius: 50%;
    min-height: 100px;
}


Нужно сделать флаг Японии (красный круг по центру), чтобы он был адаптивным. Расположить его ровно по центру можно флексбоксом, но как сделать чтобы размеры круга менялись в зависимости от размера окна, при этом круг не должен становиться овалом. Это получится если задать его размеры в процентах от ширины окна.
  • Вопрос задан
  • 1588 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 3
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Мы же помним, что margin и padding считаются от ширины контейнера? Пример
Ответ написан
SagePtr
@SagePtr
Еда - это святое
Одним градиентом: https://jsfiddle.net/f47r6nso/
Соотношение японского флага не помню, потому поставил 75%, можно поставить любое
Ответ написан
Комментировать
Carduelis
@Carduelis
Web-developer, front-end, js, less
jsfiddle.net/Carduelis/t20j0bdg

Используя padding в процентах, мы можем контролировать высоту блока (и соотношение сторон) в зависимости от ширины окна. И точно работает во всех браузерах, в отличие от единиц vh/vh.

Есть некоторые трудности при высчитывании нужных значений left/top/width/height/padding, но используя препроцессоры - все легко превращается в переменные и ничего пересчитывать не нужно: одна переменная будет отвечать за соотношение сторон флага, вторая переменная - размер круга по центру.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
https://jsfiddle.net/QW01_01/yarpzac1/
Вертикально сами выровняете.
Статья www.mademyday.de/css-height-equals-width-with-pure...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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