Ваше изображение переполняет его контейнер, и заголовок относительно позиционированного изображения содержится.Вы можете содержать свое изображение, задав его ширину <= 100%.Это даст ему и заголовку одинаковое количество горизонтального пространства. </p>
#main {}
#title {
text-align: center;
position: relative;
font-size: 33px;
}
#img-div {}
#image {
width: 100%;
display: block;
margin-left: auto;
margin-right: auto;
}
#img-caption {
text-align: center;
font-size: 16px;
}
body {
background-color: aqua;
}
#billion {
position: relative;
text-align: center;
font-size: 16px;
}
<body>
<main id="main">
<h1 id="title">Dr. Norman Borlaug</h1>
<div id="billion">The man who saved a billion lives</div>
<div id="img-div">
<img src="https://c2.staticflickr.com/4/3689/10613180113_fdf7bcd316_b.jpg"id="image">
<div id="img-caption">Dr. Norman Borlaug, second from left, trains biologists in Mexico on how to increase wheat yields - part of his life-long war on hunger.</div>
</div>
</main>
</body>
Если вы хотите, чтобы изображение и заголовок переполняли контейнер (хотя я не знаю, почему вы это сделали), вы можете задать для заголовка абсолютное позиционирование,установите пустое пространство в nowrap, и отрегулируйте ширину и поля в соответствии с этим:
#main{
}
#title{
text-align: center;
position:relative;
top: 125px;
font-size: 33px;
}
#img-div{
width: 100%;
border: 1px solid red;
overflow: visible;
}
#image {
position:relative;
display: block;
margin-left: auto;
margin-right: auto;
top: 147;
}
#img-caption{
position: absolute;
width: 70%;
margin: 1% 15%;
text-align: center;
font-size: 16px;
white-space: nowrap;
}
/* position:relative;
align-self: right;
top: 180px; */
body{
background-color: aqua;
}
#billion{
position: relative;
text-align: center;
top: -510;
font-size: 16px;
}
<body>
<main id="main">
<h1 id="title">Dr. Norman Borlaug</h1>
<div id="billion">The man who saved a billion lives</div>
<div id="img-div">
<img src="https://c2.staticflickr.com/4/3689/10613180113_fdf7bcd316_b.jpg"id="image">
<div id="img-caption">Dr. Norman Borlaug, second from left, trains biologists in Mexico on how to increase wheat yields - part of his life-long war on hunger.</div>
</div>
</main>
</body>