Как получить скролл справа с помощью CSS

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

Я новичок в веб-дизайне и CSS, и мне нужно сделать прокрутку боковой панели (sidebar) справа, а не слева.

Направление HTML – Справа налево.

Я не хочу боковую панель слева, а только прокрутку, не саму боковую панель.

Я пробовал, но не могу найти решения, я пытался использовать overflow-y и overflow-x, но это не сработало.

* {
    margin: 0;
    padding: 0;
}

body {
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    color: #1a1a1a;
}

.sidebar-link {
    text-decoration: none !important;
}

    .sidebar-link:hover {
        text-decoration: none !important;
    }

.sideBar li {
    list-style-type: none;
    margin-bottom: 0px;
}

.bg-color-colapse {
    background-color: #575fcf !important;
}

.main-nav-bar-height {
    height: 60px;
    background-color: #273c75 !important;
}

.sideBar {
    z-index: 1000;
    background: #273c75;
    position: fixed;
    top: 10px;
    left: auto;
    padding: 40px 30px;
    box-shadow: 0 10px 20px #00000030;
    border-radius: 10px;
    max-height: 1000px;
    width: 120px;
    display: flex;
    flex-direction: column;
    transition: width 0.2s ease;
    overflow-y: scroll;
    overflow-x: hidden;
}

    .sideBar .navLinks {
        width: 100%;
    }

        .sideBar .navLinks li {
            border-radius: 15px;
            padding: 5px;
        }

            .sideBar .navLinks li a {
                padding-right: 15px;
            }

    .sideBar .link {
        display: flex;
        height: 30px;
    }

    .sideBar .link-text {
        color: #fff;
        font-weight: 600;
        font-size: 16px;
        transform: scaleX(0);
        transform-origin: right;
        transition: all 0.2s ease;
        font-family: CairoFont;
    }

    .sideBar .link-icon {
        color: #fff;
        flex-basis: 30px;
        font-size: 21px;
        margin-left: 15px;
    }

    .sideBar .text-muted {
        color: #ccc;
        font-size: 21px;
        padding: 10px 0px;
        font-family: CairoFont;
    }

    .sideBar .navLinks li:hover {
        background: #fff;
    }

        .sideBar .navLinks li:hover .link > * {
            color: #2C3A47;
        }

    .sideBar:hover .link-text {
        transform: scaleX(1);
    }

    .sideBar:hover {
        width: 280px;
        align-items: flex-start;
    }
<!DOCTYPE html>
<html dir="rtl">
<head>
    <meta charset="UTF-8">
    <title>Тест</title>
</head>
<body>
    
    

    <nav class="sideBar">

        <p class="text-muted">Тест</p>
        <ul class="navLinks">
            <li>
                <a href="#" class="link sidebar-link">
                    
                    <span class="link-text">Текстовая ссылка 1</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">
                    
                    <span class="link-text">Текстовая ссылка 2</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">
                    
                    <span class="link-text">Текстовая ссылка 3</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">
                    
                    <span class="link-text">Текстовая ссылка 4</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">
                    
                    <span class="link-text">Текстовая ссылка 5</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 6</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 7</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 8</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 9</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 10</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 11</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 12</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 13</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 14</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 15</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 16</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 17</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 18</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 19</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 20</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 21</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 22</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 23</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 24</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 25</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 26</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 27</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 28</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 29</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 30</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 31</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 32</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 33</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 34</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 35</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 36</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 37</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 38</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 39</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 40</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 41</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 42</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 43</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 44</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 45</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 46</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 47</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 48</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 49</span>
                </a>

            </li>
            <li>
                <a href="#" class="link sidebar-link">

                    <span class="link-text">Текстовая ссылка 50</span>
                </a>

            </li>
        </ul>

    </nav>

    <main>
        
    </main>


</body>
</html>

.

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

Для того чтобы реализовать прокрутку правой стороны элемента в контексте веб-дизайна с использованием CSS и HTML, вам необходимо выполнить ряд шагов, которые помогут вам правильно настроить стили. Давайте проанализируем вашу проблему и предложим решение.

Задача:

Ваша цель состоит в том, чтобы сделать прокрутку (скроллинг) у правой стороны вашего сайдбара, который уже настроен на отображение элементов справа в контексте RTL (Right to Left).

Шаги для реализации:

  1. Измените направление боковой панели:
    В вашем CSS, боковая панель (.sideBar) уже имеет позицию fixed, что является правильным. Вам просто необходимо изменить ее позицию на правую сторону, заменив left: auto; на right: 0;. Это установит сайдбар к правому краю.

    .sideBar {
        ...
        right: 0; /* Установите боковую панель справа */
        left: auto; /* Сбросьте левое значение */
        ...
    }
  2. Настройка прокрутки:
    Для того чтобы обеспечить прокрутку в правой части боковой панели, вы уже применили свойства overflow-y: scroll; и overflow-x: hidden;. Это правильно. Убедитесь, что высота боковой панели ограничена с помощью свойства max-height, как у вас уже настроено (max-height: 1000px;), чтобы прокрутка работала по вертикали.

  3. HTML элемент с сайдбаром:
    Ваш HTML-код для сайдбара выглядит корректно. Нет необходимости вносить изменения. Вот пример, как он должен выглядеть в финальной версии:

    <nav class="sideBar">
        <p class="text-muted">Test</p>
        <ul class="navLinks">
            <li><a href="#" class="link sidebar-link"><span class="link-text">Text Link 1</span></a></li>
            <!-- Дополнительные ссылки -->
        </ul>
    </nav>

Полный пример CSS с исправлениями:

* {
    margin: 0;
    padding: 0;
}

body {
    font-family: "Poppins", sans-serif;
    font-size: 16px;
    color: #1a1a1a;
}

.sidebar-link {
    text-decoration: none !important;
}

.sidebar-link:hover {
    text-decoration: none !important;
}

.sideBar li {
    list-style-type: none;
    margin-bottom: 0px;
}

.bg-color-colapse {
    background-color: #575fcf !important;
}

.main-nav-bar-height {
    height: 60px;
    background-color: #273c75 !important;
}

.sideBar {
    z-index: 1000;
    background: #273c75;
    position: fixed;
    top: 10px;
    right: 0; /* Изменено на right для размещения панели справа */
    padding: 40px 30px;
    box-shadow: 0 10px 20px #00000030;
    border-radius: 10px;
    max-height: 1000px;
    width: 120px;
    display: flex;
    flex-direction: column;
    transition: width 0.2s ease;
    overflow-y: scroll; /* Вертикальная прокрутка */
    overflow-x: hidden; /* Скрыть горизонтальную прокрутку */
}

Заключение

Применив вышеуказанные изменения, вы должны получить необходимую прокрутку на правой стороне боковой панели вашего сайта. Убедитесь, что тестируете ваши изменения в разных браузерах, чтобы гарантировать, что ваш сайдбар работает корректно во всех средах. Если у вас возникнут дополнительные вопросы или потребуется дальнейшая помощь, не стесняйтесь обращаться.

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

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