When you your viewport be smaller than 48px? Oh well for demonstration
purposes:
CSS:
.container {
/* only to show responsive design */
outline: 1px dotted #00f;
margin: 48%;
}
.semicircular {
width: 100%;
max-width: 48px;
}
.semicircular > div {
width: 100%;
height: 0;
padding-bottom: 100%;
position: relative;
overflow: hidden;
}
.semicircular > div::after {
content: '';
background-color: #f00;
position: absolute;
display: inline-block;
width: 100%;
height: 100%;
border-radius: 50% 50% 0 0;
top: 50%;
}
HTML:
<div class="container">
<div class="semicircular">
<div></div>
</div>
</div>
--
Take care,
Jonathan
-------------------
LITTLE WORKS STUDIO
http://www.LittleWorksStudio.com