Это вызвано тем, что col-4
в карточке
Этот col-4 означает, что вы применяете строгий col-4 для каждого размера экрана
Лучший способ - явно указать, какой col использовать на каждом экране
col-lg-4 // for large devices
col-md-6 // for ipad and medium size devices
col-sm-8 // for smaller phone devices
Взгляни на эту скрипку
https://jsfiddle.net/8shjr6gn/
Редактировать, если вы используете Sup Boostrap, я рекомендую также включить функцию адаптивного текста Bootsrap 4.3
Просто установите
$enable-responsive-font-sizes = true
и текст будет корректироваться в соответствии с размером экрана
Редактируйте, однако, если вы используете CDN, а не SASS, вы можете написать что-то похожее на это, чтобы сделать размер шрифта отзывчивым
@media (min-width: 576px) {
.card-text{
font-size:1rem;
}
}
@media (max-width: 575.98px) {
.card-text{
font-size:.8rem;
}
}
@media (min-width: 768px) {
.card-text{
font-size: 1rem;
}
}
@media (min-width: 992px) {
.card-text{
font-size: 1.8rem;
}
}
@media (min-width: 1200px) {
.card-text{
font-size: 2rem;
}
}