css 在螢幕上居中彈出窗口,適用於電腦和平板電腦,但不適用於手機
P粉662802882
P粉662802882 2024-03-28 20:02:46
0
1
364

嘗試使用 CSS 在螢幕中央顯示幫助彈出視窗。在我的電腦和 ipad 上,它工作正常,但在 iPhone 上,彈出視窗在整個可滾動垂直空間內垂直居中,這意味著我有時必須向上或向下滾動才能看到它。我希望它在調用時位於當前可見螢幕的中心。 (請注意,頁面高度不是靜態的,即根據使用者活動而增加和縮小)。

這是相關的CSS:

  .helpcontent {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 200ms ease-in-out;
    border: 1px solid black;
    border-radius: 10px;
    z-index: 10;
    background-color: khaki;
    width: 500px;
    max-width: 80%;
    padding: 10px 15px;
  }
<div class="helpcontent">
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</div>

P粉662802882
P粉662802882

全部回覆(1)
P粉337385922

您有幾個問題。

  1. 您必須定義一個高度,否則它會隨著內容而增長,並且可能會出現內容多於垂直可用空間的情況。您必須使用overflow:hidden來隱藏溢出。

  2. 您並沒有真正將視窗居中。如果你想這樣做,我建議你改變焦點。讓一個元素佔據所有可用窗口,給它一個 display: flex 並使用 align-itemsjustify-content 將其居中。 p>

一個例子。


.modal {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    inset: 0;
}

.modal__content {
    width: 10rem;
    height: 10rem;
    border: 1px solid black;
}
  1. 您已經有一個專為該任務設計的互動式標籤:
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板