Unidentified space between borders
I have a container with four div
. All internal ones div
have absolute position and the same dimensions. When I add borders instead of a circle I get some kind of sliced ββcake:
Where did this place come from and why? jsfiddle link
.container {
position: relative;
background: black;
width: 250px;
height: 250px;
margin: auto;
padding: 50px;
}
.container > div {
position: absolute;
content: '';
border-width: 50px;
border-style: solid;
border-radius: 50%;
}
.container > div:nth-child(1) {
border-color: transparent transparent transparent green;
}
.container > div:nth-child(2) {
border-color: transparent transparent green transparent;
}
.container > div:nth-child(3) {
border-color: transparent green transparent transparent;
}
.container > div:nth-child(4) {
border-color: green transparent transparent transparent;
}
<div class="container">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
+3
source to share
3 answers
Not a pretty workaround, but it looks correct. The problem seems to be a rendering artifact, so I think a real nice solution is not possible.
.container {
position: relative;
background: black;
width: 250px;
height: 250px;
margin: auto;
padding: 50px;
}
.container > div {
position: absolute;
content: '';
border-width: 50px;
border-style: solid;
border-radius: 50%;
}
.container > div:nth-child(1) {
border-color: transparent transparent transparent green;
transform: translate3d(1px, 0 , 0);
}
.container > div:nth-child(2) {
border-color: transparent transparent green transparent;
transform: translate3d(0, -1px , 0);
}
.container > div:nth-child(3) {
border-color: transparent green transparent transparent;
transform: translate3d(-1px, 0 , 0);
}
.container > div:nth-child(4) {
border-color: green transparent transparent transparent;
transform: translate3d(0, 1px , 0);
}
<div class="container">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
+1
source to share
Not sure why, but this solves your problem.
.container > div:nth-child(4) {
border-color: green;
}
.container {
position: relative;
background: black;
width: 250px;
height: 250px;
margin: auto;
padding: 50px;
}
.container > div {
position: absolute;
content: '';
border-width: 50px;
border-style: solid;
border-radius: 50%;
}
.container > div:nth-child(1) {
border-color: transparent transparent transparent green;
}
.container > div:nth-child(2) {
border-color: transparent transparent green transparent;
}
.container > div:nth-child(3) {
border-color: transparent green transparent transparent;
}
.container > div:nth-child(4) {
border-color: green;
}
<div class="container">
<div></div>
<div></div>
<div></div>
<div></div>
</div>
0
source to share
Add background color for div:
.container {
position: relative;
background: black;
width: 250px;
height: 250px;
margin: auto;
padding: 50px;
}
.container > div {
position: absolute;
content: '';
border-width: 50px;
border-style: solid;
border-radius: 50%;
background-color:green;
}
.container > div:nth-child(1) {
border-color: transparent transparent transparent green;
}
.container > div:nth-child(2) {
border-color: transparent transparent green transparent;
}
.container > div:nth-child(3) {
border-color: transparent green transparent transparent;
}
.container > div:nth-child(4) {
border-color: green transparent transparent transparent;
}
-1
source to share