Я также относительно новичок в HTML и CSS, но я бы попробовал расширить ваш .top так, чтобы он занял всю ширину экрана. Таким образом float: right; позволит абзацам плавать до края экрана.
.top{
width: 100vw;
margin: 0 auto;
display: inline-block;
}
Возможно, вы также захотите изменить выравнивание текста по центру влево.
.top p {
text-align: left;
}
Если вы не хотите, чтобы абзацы выровнялись точно по правому краю экрана, вы можете добавить отступ.
.toright {
float: right;
padding: 0 40px 0 0;
}
Вы получите что-то вроде этого , которое масштабируется с ширину экрана.
Я не уверен, что это лучшее решение, но я думаю, что вы могли бы достичь того, что ищете.
/ ---- - РЕДАКТИРОВАТЬ ------ /
Если вы хотите выровнять свой .top div, вы можете использовать display: flex; вместо этого и установите поток типа row, таким образом maragin: 0 auto; выравнивает div по центру.
.top{
width: 600px;
margin: 0 auto;
display: flex;
flex-flow: row;
}
Вы получите что-то вроде this