Как я могу получить CSS закругленные углы, не скругляя границу?
Я использую border-radius для округления углов div. У меня также есть граница вдоль нижней части div. Как это:
<div style="border-radius: .5em; border-bottom: 1px solid black">Content</div>
Однако я не хотел бы, чтобы граница имела закругленные края. Я бы хотел, чтобы граница была абсолютно прямой. Есть ли способ добиться этого?
4 ответа
Решение
.inner {
background:red;
border-radius:5px;
width:100px;
height:100px;
}
.wrapper {
display:inline-block;
border-bottom:1px solid #000;
}
<div class="wrapper">
<div class="inner"></div>
</div>
Вы можете использовать псевдоэлемент (::before
) имитировать прямую границу
CSS
div{
position: relative;
border-radius: .5em;
background: #ccc;
}
div:before{
position: absolute;
content: "";
display:block;
bottom:0;
left:0;
right:0;
height: 1px;
background: #000;
}
<div style="border-radius: .5em; border-bottom: 1px solid black">Content</div>
Используйте таким образом
<div style="border-bottom: 1px solid black">
<div style="border-radius: .5em;">Content</div>
</div>
Просто вставьте div внутри и установите радиус границы для содержимого
Добавьте границу к ::after
псевдоэлемент:
div {
background-color: papayawhip;
border-radius: .5em;
}
div:after {
content: "";
display: block;
border-bottom: 1px solid black
}
<div>Content</div>
Если я вас правильно понимаю, вы ищете это:
border-top-left-radius: 0.5em;
JsFiddle: https://jsfiddle.net/pywdpLL0/1/
Вы можете указать каждый угловой радиус границы отдельно. Надеюсь это поможет.