Для реализации такого эффекта можно использовать свойство CSS `shape-outside`. Это свойство позволяет определять форму, которую будет обтекать текст.
Пример кода:
HTML:
```html
<div class="container">
<div class="button"></div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vestibulum porttitor mauris in gravida. Fusce id finibus erat.</p>
</div>
```
CSS:
```css
.container {
position: relative;
}
.button {
width: 100px;
height: 50px;
background-color: #ccc;
position: absolute;
top: 0;
left: 0;
}
p {
shape-outside: inset(0 0 0 100px); /* обтекание справа */
-webkit-clip-path: inset(0 0 0 100px);
clip-path: inset(0 0 0 100px);
}
```
В данном примере, кнопка и текст находятся в разных элементах, но благодаря свойству `shape-outside` мы можем обтекать текст вокруг кнопки. С помощью значений inset мы можем задать расстояние до контура кнопки, чтобы контент не выходил за ее пределы.
Обратите внимание, что поддержка свойства `shape-outside` не идеальна, но в современных браузерах это свойство поддерживается довольно хорошо.