Добрый день!
Для того чтобы реализовать пропорциональное масштабирование блока при верстке на веб-странице, вы можете использовать CSS вместе с некоторыми подходами на JavaScript. Вот несколько ключевых моментов, которые помогут вам добиться желаемого результата:
### 1. Использование CSS:
Вы можете использовать CSS для установки ширины и высоты блока в процентах, чтобы он подстраивался под размеры экрана:
```css
body, html {
height: 100%;
margin: 0;
}
.survey-block {
width: 80%; /* Процент ширины блока */
height: 80%; /* Процент высоты блока */
max-width: 600px; /* Максимальная ширина */
max-height: 800px; /* Максимальная высота */
margin: auto; /* Центрирование блока */
background-color: #f0f0f0;
display: flex; /* Для центрирования контента внутри блока */
align-items: center;
justify-content: center;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
```
### 2. Пропорции с помощью `aspect-ratio`:
Если вам нужно сохранить определенные пропорции блока, вы можете использовать свойство `aspect-ratio`:
```css
.survey-block {
width: 80%;
aspect-ratio: 16 / 9; /* Пропорция 16:9 */
max-width: 600px;
max-height: 800px;
margin: auto;
background-color: #f0f0f0;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
border-radius: 8px;
}
```
### 3. Использование JS для динамического изменения размеров (если необходимо):
Если требуется более сложное поведение, вы можете использовать JavaScript для управления размерами блока в зависимости от размера окна:
```javascript
function resizeSurveyBlock() {
const surveyBlock = document.querySelector('.survey-block');
const aspectRatio = 16 / 9;
const windowWidth = window.innerWidth;
const windowHeight = window.innerHeight;
if (windowWidth / windowHeight > aspectRatio) {
surveyBlock.style.width = `${windowHeight * aspectRatio}px`;
surveyBlock.style.height = `${windowHeight}px`;
} else {
surveyBlock.style.width = `${windowWidth}px`;
surveyBlock.style.height = `${windowWidth / aspectRatio}px`;
}
}
window.addEventListener('resize', resizeSurveyBlock);
window.addEventListener('load', resizeSurveyBlock);
```
### 4. Пример HTML:
```html
<div class="survey-block">
<h1>Опрос</h1>
<p>Пожалуйста, ответьте на следующие вопросы...</p>
<!-- Ваша форма опроса здесь -->
</div>
```
Теперь ваш блок будет пропорционально масштабироваться в соответствии с размерами экрана. Не забудьте протестировать на разных устройствах, чтобы убедиться, что отображение выглядит хорошо.