尽管设置了适当的宽度,如何防止水平溢出?

How to prevent horizontal overflow despite proper width set?

看来无论我怎么具体定义一个元素的宽度,它都会溢出文档。

<meta name="viewport" content="width=device-width, initial-scale=1.0">
...
<body>
    <div id="navbar">
        <div id="navbar-options">
            <div class="navbar-option"><a class="navbar-option-link" href="/home">Home</a></div>
            <div class="navbar-option"><a class="navbar-option-link" href="/news">Newsfeed</a></div>
            <div class="navbar-option"><a class="navbar-option-link" href="/societies">Societies</a></div>
        </div>
    </div>

    <div id="title-box">
        <h1 id="title">Students Of Westminster</h1>
    </div>

</body>

* {
    margin: 0;
    padding: 0;
}

#navbar {
    width: 100vw;
    max-width: 100%;
    min-height: 2.5vw;
    display: flex;
    margin: .5rem;
}

The navbar overflowing, indicated by the horizontal scroll bar

即使使用这段代码,我的导航栏也会溢出 X 轴,即使滚动到最后,我也看不到它在最右侧设置的边距,我该如何解决这个问题?

当您描述 widthmargin 时,总宽度将为 width + margin。

如果您希望您的元素具有包括元素边距在内的完整视口宽度,您可以使用 calc 删除 2 * 边距。

* {
    margin: 0;
    padding: 0;
}

#navbar {
    width: calc(100vw - 1rem);
    max-width: 100%;
    min-height: 2.5vw;
    display: flex;
    margin: .5rem;
    background: red;
}
<div id="navbar"></div>