Короче говоря, вы не можете обрезать содержимое элемента, используя border
.
HTML border
- это окрашенная поверхность по краю элемента, и она довольно ограничена в отношении формы.Единственный изящный трюк, который вы можете сделать с рамкой, это использовать изображения и заставить среднюю часть автоматически повторяться.
И, конечно, вы можете округлять границы, используя border-radius
.
Но если вы хотитенепрямоугольный, вам нужно использовать либо элементы HTML, либо псевдоэлементы.
Однако один может обрезать содержимое элемента, используя clip-path
:
.row>div {
background: url(https://www.google.com/photos/about/static/images/google.svg) no-repeat 50% 50% /cover;
padding-bottom: 33%;
clip-path: polygon(0 0, 100% 42%, 100% 100%, 0 100%);
}
body {
background: url(https://picsum.photos/800/600) no-repeat 50% 50% /cover;
height: 100vh;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container-fluid">
<div class='row'>
<div></div>
</div>
</div>
Do note Поддержка браузера в настоящее время находится на уровне при 88% .Если вы хотите большего, лучше вырезать текст в выбранном вами графическом редакторе и сохранить результат как <svg>
.
Для получения дополнительной информации об отсечении и маскировке я рекомендую следующие статьи: