Блок может выгибаться (изгибаться или деформироваться) при наличии горизонтального и вертикального скролла из-за ряда причин, например, несоответствия размеров блока, ограничений CSS, содержимого, непредвиденных влияний внешних стилей или багов веб-браузера. Чтобы точно ответить на вопрос, почему блок выгибается, необходимо более подробно знать контекст, включая HTML-разметку, CSS-стили и возможно взаимодействие с JavaScript.
Чтобы реализовать скролл блока с селектом содержимого при нажатии на квадратик в нижнем правом углу, вы можете использовать JavaScript для отслеживания события клика и изменения свойства scrollTop и scrollLeft элемента. Ниже приведён пример реализации такого функционала:
HTML:
```html
<div id="scrollable" class="scrollable">
<div class="content">
<!-- Содержимое для скролла -->
</div>
<div id="scrollTrigger" class="scroll-trigger">⬊</div>
</div>
```
CSS:
```css
.scrollable {
width: 300px;
height: 200px;
overflow: scroll; /* Включаем скролл */
position: relative; /* Для позиционирования trigger-элемента */
}
.content {
width: 600px; /* Больше чем .scrollable, чтобы вызвать скролл */
height: 400px; /* Больше чем .scrollable, чтобы вызвать скролл */
/* Прочие стили для содержимого */
}
.scroll-trigger {
position: absolute;
right: 2px; /* Отступы, чтобы поместить в угол */
bottom: 2px;
cursor: pointer; /* Чтобы указать, что элемент кликабелен */
/* Прочие стили для квадратика */
}
```
JavaScript:
```javascript
document.getElementById('scrollTrigger').addEventListener('click', function() {
var scrollable = document.getElementById('scrollable');
// Прокрутка к нижнему правому углу
scrollable.scrollTop = scrollable.scrollHeight;
scrollable.scrollLeft = scrollable.scrollWidth;
});
```
В этом примере квадратик с классом `scroll-trigger` расположен в нижнем правом углу скроллируемого блока `scrollable`. При клике на этот квадратик, блок будет прокручиваться так, чтобы его скролл достиг максимальных значений по горизонтали и вертикали (например, в правый нижний угол).
Пожалуйста, учтите, что этот код — это только пример, и вам, возможно, потребуется адаптировать его под свой конкретный сценарий использования. К тому же, стилизация и точное поведение на разных платформах и браузерах могут варьироваться, поэтому убедитесь, что вы тестируете результат на всех целевых устройствах и браузерах.