我有一個問題,我絕對想不通。我這輩子都想不通。。我正在構建一個自定義 WP 主題,并且遇到了一些 Flexbox 元素溢出主體寬度并創建水平滾動的問題。(見附圖)只有 Flexbox 圖像會溢出容器。我通過運行一小段代碼來返回比視口更寬的項目來驗證這一點。我的研究表明,這是因為視口的寬度是在滾動條之前計算的,這就是我想象的導致這些問題的原因。我可以確認這個問題不會出現在沒有滾動條的頁面上。我嘗試隱藏 x 溢出,但正如您可能猜到的那樣,它不會使事物正確居中。以下是受影響元素的一些代碼塊:header#header { width: 100vw; height: calc(100vh - 98px); text-align: center; display: flex; justify-content: center; align-items: center; -webkit-animation: bgcolor 20s infinite; animation: bgcolor 10s infinite; -webkit-animation-direction: alternate; animation-direction: alternate;}.menu { position: relative; display: flex; width: 100vw; background-color: white; justify-content: space-between; padding: 25px; font-size: 3em;}.widget_mc4wp_form_widget { width: 100vw; padding: 25px; border-top: 5px dashed blue; border-bottom: 5px dashed blue;}div#copyright { display: flex; text-align: center; flex-direction: column;}我使用的是 Firefox 74.0,同樣的問題發生在 chrome 和 safari 中。如果您需要更多詳細信息,我可以發布完整 CSS 文件和實時站點的鏈接,但這可能有點超出范圍。謝謝你?。?
1 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
好吧,似乎解決這個問題的方法是在使用 100vw 的任何 css 規則中用 % 替換 vw 。
(例如,width: 100%
vs width: 100vw
)。
我猜想 vw 是在主體寬度之前計算的,這導致這些元素溢出主體。
我通過檢查設置為 100vw (1920px) 的元素的寬度與使用 100% (1905px) 計算的元素的寬度來確認這一點。Firefox 中的滾動條寬度正好是 15px。
- 1 回答
- 0 關注
- 112 瀏覽
添加回答
舉報
0/150
提交
取消