Very recently I also posted some similar questions, you can have a look at it from here:
TLDR: The trick to make your layout responsive is defining size variables in flexible units such as %, vw, vh etc rather than px. Unfortunately, dash components do not accept any other units different than px. However, you can reach your goal by changing the size variables of the parent component of your dash component via style= {} argument.