Как расположить тарифы в таблице цен Stripe в строки? [закрыто]

Вопрос или проблема

Я вставил таблицу цен Stripe на свой сайт, но ценовые планы выстроены вертикально (в колонках), а не в строках. Я подозреваю, что это проблема с моими стилями, потому что на моем информационном панели Stripe ценовые планы расположены в строках, как и планировалось.

body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    color: #333;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
}

.container {
    display: flex;
    max-width: 1000px;
    width: 90%;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    overflow: hidden;
}

.left-section {
    background-color: #003366;
    color: white;
    padding: 30px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.discount-code {
    background-color: #b5ff81;
    color: #01000e;
    font-weight: bold;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 1rem;
    margin: 0;
}

.early-user-discount {
    background-color: #feffff;
    color: #003366;
    font-weight: bold;
    font-family: epilogue;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 1rem;
    text-transform: uppercase;
    margin: 0;
}

.discount-text {
    font-size: 45px;
    font-weight: bold;
    line-height: 1.4;
    font-style: italic;
    font-family: 'Epilogue';
}

.code-text {
color: #b5ff81
}


.info-text {
    font-size: 21px;
    color: #d1d1d1;
    font-family: epilogue;
    margin-top: auto;
}

.right-section {
    background-color: white;
    padding: 30px 20px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
    max-height: 80vh; 
overflow-y: auto;  
}

.right-section h1 {
    font-size: 1.5rem;
    color: #003366;
}

.stripe-table-container {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center; 
    gap: 20px; 
flex-wrap: wrap;
}

.cta-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 15px;
}

.cta-button {
    padding: 10px 20px;
    font-size: 1rem;
    font-weight: bold;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s;
}

.join-btn {
    background-color: #007BFF;
    color: white;
}

.join-btn:hover {
    background-color: #0056b3;
}

.learn-more-btn {
    background-color: white;
    color: #007BFF;
    border: 2px solid #007BFF;
}

.learn-more-btn:hover {
    background-color: #007BFF;
    color: white;
}

.login-text {
    font-size: 0.9rem;
    color: #555;
    margin-top: 15px;
}

.login-link {
    color: #007BFF;
    font-weight: bold;
    text-decoration: none;
}

.login-link:hover {
    text-decoration: underline;
}

.additional-text {
    font-size: 1rem;
    color: #333;
    font-family: epilogue;
}

@media (max-width: 768px) {
.modal {
padding: 20px; 
}

.container {
flex-direction: column; 
width: 90%; 
max-width: 400px; 
margin: auto; 
}

.left-section, .right-section {
padding: 15px; 
}

.discount-text {
font-family: 'Epilogue';
font-size: 1.2rem; 
}

.info-text, .additional-text {
font-size: 0.9rem; 
}

.cta-button {
width: 100%; 
padding: 12px 0; 
font-size: 1rem; 
}

.stripe-table-container {
flex-direction: column; 
width: 100%; 
}

.blur {
filter: blur(2px);
}
}
<div class="container">
    <!-- Левая секция -->
    <div class="left-section">
        <div class="discount-code">DISCOUNTCode</div>
        <div class="early-user-discount">Скидка 80% для ранних пользователей на всю жизнь</div>
        <p class="discount-text">
            Скидка 80% на всю жизнь для ранних пользователей, используйте этот код: 
            <span class="code-text">“DISCOUNTCode”</span>
        </p>            
        <p class="info-text">"Информационный текст здесь"</p>
    </div>

    <!-- Правая секция -->
    <div class="right-section">
        <h1>Начните свою бесплатную пробную версию на 14 дней сейчас</h1>

        <!-- Таблица цен Stripe -->
        <div class="stripe-table-container">
            <stripe-pricing-table pricing-table-id="table-id-here"
            publishable-key="publishable-key-here">
            </stripe-pricing-table>
        </div>

        <!-- Дополнительный текст -->
        <p class="additional-text">Дополнительный текст здесь.</p>

        <!-- Кнопки призыва к действию -->
        <div class="cta-container">
            <button class="cta-button learn-more-btn">Узнать больше</button>
            <button class="cta-button join-btn">Присоединиться сейчас</button>
        </div>

        <!-- Секция входа -->
        <p class="login-text">
            Уже пользователь? 
            <a href="https://stackoverflow.com/questions/79145478/{% url"check_login' %}" class="login-link">Войти</a>
        </p>
    </div>
</div>

Как я могу сделать так, чтобы два плана в таблице цен были расположены в строках на настольных компьютерах? Это упрощает сравнение для пользователей.

.

Ответ или решение

Чтобы организовать планы на Pricing Table Stripe в строки на вашем веб-сайте, вам нужно внести изменения в стили CSS, управляющие тем, как элементы размещаются на странице. Ваша текущая структура уже использует flexbox, что является отличным началом. Данная методология позволяет гибко управлять расположением элементов. Вот несколько шагов, чтобы корректно настроить отображение тарифов:

Шаг 1: Изменение стилей CSS

Ваш текущий код CSS для контейнера Stripe уже включает свойства, позволяющие ему быть гибким, однако следует убедиться, что ваши тарифные планы именно в строках. В частности, сконцентрируемся на классе .stripe-table-container.

  1. Убедитесь, что стиль .stripe-table-container выглядит следующим образом:
    .stripe-table-container {
        width: 100%;
        display: flex;
        flex-direction: row; /* Обеспечивает расположение в строках */
        justify-content: center; 
        gap: 20px; 
        flex-wrap: wrap; /* Позволяет переносить элементы на следующую строку, если они не помещаются */
    }

Шаг 2: Корректировка HTML кода

Обратите внимание на то, как вы структурируете свой HTML. Убедитесь, что тег <stripe-pricing-table> действительно генерирует элементы, которые располагаются в строках. Если эта разметка вложена в дополнительные контейнеры, это может повлиять на отображение.

Шаг 3: Проверка мобильной адаптивности

Так как у вас присутствует медиа-запрос, который изменяет макет для устройств с шириной экрана до 768px, проверьте, как ваша таблица выглядит на мобильных устройствах. Для этого добавьте условие для .stripe-table-container:

@media (max-width: 768px) {
    .stripe-table-container {
        flex-direction: column; /* Измените на столбец в мобильной версии */
        width: 100%; 
    }
}

Таким образом, на мобильных устройствах тарифы будут отображаться в колонку, что обеспечит удобство просмотра.

Шаг 4: Тестирование

После внесения данных изменений, протестируйте свою страницу на различных устройствах и экранах, чтобы убедиться, что таблица адаптируется так, как вы ожидали. Используйте инструменты разработчика в браузере для проверки разных размеров экрана.

Заключение

Если все пункты выше выполнены, ваши тарифы на Pricing Table будут правильно отображаться в строках на настольных устройствах. Это не только улучшит пользовательский опыт, но и упростит сравнение предложений для ваших клиентов. Не забывайте, что избегать сложностей в интерфейсе всегда полезно для повышения конверсии.

Следуя вышеизложенным рекомендациям, вы сможете успешно настроить отображение ваших тарифных планов в Stripe, сосредоточившись на удобстве и функциональности для пользователей.

Оцените материал
Добавить комментарий

Капча загружается...