【问题标题】:How do I remove the horizontal scroll bar from my Navbar如何从导航栏中删除水平滚动条
【发布时间】:2021-05-11 04:37:52
【问题描述】:

我正在尝试创建一个响应式站点,其中当宽度减小时,我的导航链接会消失,但是有一个 *** 水平滚动条 ***,我想摆脱它。我已经为此查看了其他问题,但没有一个对我有帮助。
有什么建议么?
预先感谢
HTML
    <header class="head">
        <nav class="navbar">

            <div class="logo">
                <a href="index.html">Krishang Sharma</a>
            </div>

            <ul class="nav-items">
                <li><a href="#">Work</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Contact</a></li>
            </ul>

            <div class="crossMenu">
                <div class="line1"></div>
                <div class="line2"></div>
            </div>

            <!-- Theme Toggle Switch -->
            <div class="switch">
                <div class="bg">
                    <div class="circle"></div>
                </div>
            </div>


        </nav>
    </header>

CSS

.navbar{
    width: 100vw;
    height: 10vh;
    display: flex;
    align-items: center;
    font-family: 'Poppins', serif;
    justify-content: space-evenly;
    box-shadow: 0px 15px 20px #1e1e1e;
}

.logo{
    width: 40%;
}

.logo a{
    color: white;
    transition: 0.3s;
    font-size: 1.5rem;
    text-decoration: none;
}

.logo a:hover{
    transition: 0.3s;
    color: #639FAB;
}

.nav-items{
    width: 40%;
    display: flex;   
    justify-content: space-around;
}

.nav-items, li a{
    align-items: center;
    height: 100%;
    font-size: 18px;
    color: white;
    list-style: none;
    transition: 0.3s;
    text-decoration: none;
}

.nav-items a:hover{
    transition: 0.3s;
    color: #639FAB;
}

.crossMenu{
    cursor: pointer;
    display: none;
    margin-right: 2%;
}

.line1, .line2{
    margin: 4px;
    height: 4px;
    width: 35px;
    transition: 0.5s ease;
    border-radius: 25px;
    background: #639FAB;
}

.switch{
    cursor: pointer;
    align-items: center;
}

.bg{
    height: 20px;
    width: 60px;
    background: white;
    border-radius: 10px;
    transition: 0.5s ease;
}

.circle{
    right: 5px;
    top: -5px;
    width: 30px;
    height: 30px;
    position: relative;
    border-radius: 50%;
    transition: 0.5s ease;
    background: #639FAB;
}

.circleOn{
    background: white;
    right: -35px;
    transition: 0.5s ease;
}

.bgOn{
    transition: 0.5s ease;
    background: #639FAB;
}

低分辨率

    .nav-items{
        right: 15%;
        position: absolute;
        transition: 0.5s ease;
        transform: translateX(200%);
    }

【问题讨论】:

  • 您必须正确格式化您的问题。真的好难读

标签: html css frontend web-frontend


【解决方案1】:

overflow-x: hidden; 添加到导航栏的style= 属性中。

【讨论】:

  • 适用于桌面,但是当我使用开发工具检查“手机屏幕”时,滚动条又出现了。
  • 如果您编辑您的问题并正确格式化代码会更好。
  • @KrishangSharma 尝试将导航栏的位置更改为position:fixed 我认为它也会禁用开发工具手机屏幕上的滚动
【解决方案2】:

为什么你在 .nav-items 元素上使用了 transform: translateX(200%);?。您应该在 .nav-items 这个元素上删除/添加 transform: translateX(0);。那么水平滚动条就不会显示了

【讨论】:

  • 我听不懂你在说什么?!你能解释一下吗?谢谢
  • 您的元素已超出此 transform: translateX(200%); 的视口。因此,如果您删除此 transform: translateX(200%); 则不会显示滚动条。如果您在网页上打开开发人员工具,那么您会更好地理解。谢谢
猜你喜欢
  • 1970-01-01
  • 2011-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多