How to draw a circle with text on it using CSS?

For absolute positioning, you would use a wrapper. But it gives an oval as the max width it can go to is 180px. So if you specify min-width to the width you want and set height to that value as well. You will get a circle. Otherwise you will get an oval beyond width and height > 180px

circle {
  width: 500px;
  height: 500px;
  border-radius: 50%;
  font-size: 50px;
  color: #fff;
  line-height: 500px;
  text-align: center;
  background: #000
}
<div class="circle">Hello I am A Circle</div>