#html #css #reactjs
Вопрос:
Два компонента A и B.
A перемещается немного влево только в том случае, если есть B, в противном случае A все еще сохраняет исходное положение.
Код выглядит так:
return ( lt;div className="menu"gt; lt;A className="comp-a" /gt; { showB amp;amp; lt;B className="comp-b" /gt; } lt;divgt; );
Я знаю, что один из способов-передать реквизит A, чтобы изменить его стиль, если shouldShowB == true.
Но как сделать шаг автоматически, изменив только css?
Спасибо.
Ответ №1:
Воспользуйся display: flex; flex-wrap: wrap;
.menu { display:flex; flex-wrap: wrap; }
Затем вам нужно определить, когда они должны находиться рядом друг с другом — это работает, если вы установите ширину обоих из них от 100% до 50% или меньше 50%, чтобы оба вписывались в 100%.
Обычно я делаю это с помощью этого кода:
@media screen and (min-width: 0) { .a {width: 100%} .b {width: 100%} }
а затем другой с тем, где они должны быть рядом друг с другом:
@media screen and (min-width: 400px) { .a {width: 50%} .b {width: 50%} }
Комментарии:
1. Спасибо! гибкий дисплей действительно работает!