#css #border
#css #граница
Вопрос:
Я пытаюсь применить белую рамку только к левой стороне эллипса, а остальные стороны оставить прозрачными.Однако граница не применяется ко всей части левой стороны.Какие изменения требуются для отображения ожидаемого результата?
#ellipsis {
background-color: #3ebede;
height: 25px;
color: #000;
position: relative;
padding: 4px 15px 4px 30px;
width: 200px;
border-radius: 20px;
margin: -4px -25px -4px -4px;
text-align: left;
display: inline-block;
border: solid;
border-color: transparent transparent transparent white
}
<body>
<button id="ellipsis"></button>
<button id="ellipsis"></button>
<button id="ellipsis"></button>
</body>
Ссылка на мой код:
https://jsbin.com/bebekirano/edit?html,output
Ответ №1:
рассмотрим box-shadow
вместо:
.ellipsis {
background-color: #3ebede;
height: 25px;
color: #000;
position: relative;
padding: 4px 15px 4px 30px;
width: 200px;
border-radius: 20px;
margin: -4px -25px -4px -4px;
text-align: left;
display: inline-block;
box-shadow:-2px 0 0 2px #fff;
border:none;
}
<body>
<button class="ellipsis"></button>
<button class="ellipsis"></button>
<button class="ellipsis"></button>
</body>
На случай, если вам нужна прозрачность, вот трюк с radial-gradient
:
.ellipsis {
background-color: #3ebede;
height: 25px;
color: #000;
position: relative;
padding: 4px 15px 4px 30px;
width: 200px;
border-radius: 20px;
margin: -4px -25px -4px -4px;
text-align: left;
display: inline-block;
border:none;
}
.ellipsis:not(:last-child) {
background:radial-gradient(4px 3px at right,transparent 30px,#3ebede 31px);
}
body {
background:#ddd;
}
<div>
<button class="ellipsis"></button>
<button class="ellipsis"></button>
<button class="ellipsis"></button>
</div>