我有一个将包含此CSS的div:

#some_kind_of_popup
{
    position: fixed;
    top: 100px;
    min-height: 300px;
    width: 90%;
    max-width: 900px;
}

Now, how can i make this div centered? I can use margin-left: -450px; left: 50%; but this will only work when the screen is > 900 pixels. After that (when the window is < 900 pixels), it will no longer be centered.

我当然可以用某种js来实现这一点,但是用CSS来实现这一点"更正确"吗?

推荐答案

可以将fixedabsolute位置的元素设置rightleft居中至0,然后将margin-left&;margin-right居中至auto,就像将static位置的元素居中一样.

#example {
    position: fixed;
    /* center the element */
    right: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto;
    /* give it dimensions */
    min-height: 10em;
    width: 90%;
}

See this example working on this fiddle.

Html相关问答推荐

HTML CSS如何使用图像作为中心点将元素置于中心

子元素以元素X开始和结束的元素的XPath?

将网格包装在css中

防止position:relative的child在出界时收缩

IFRAME中的Chrome图像未调整大小

在Vue 3中使用v-Bind将计算(computed)属性传递给css url()

如何在R rmarkdown中创建循环中的分页表?

HTML,CSS-阻止按钮在单击时向上移动

为什么我不能覆盖 div 的样式?

如何影响 HTML 元素的哪些子元素导致其增长,哪些不增长?

Google Apps 脚本 - RegEx 适用于小文本,但不适用于大文件?

水平填充容器内的空间

为什么在使用src与srcdoc时 iframe 内容高度呈现不同?

如何并排放置
的定义列表,但如果
变长,
会向下移动?

鼠标悬停时切换 colored颜色 的双色链接

项目的水平列表:倒数第二个项目居中,而最后一个项目占据所有剩余空间

如何让 Reindeer 居中

如何在 Tailwind CSS 中创建响应式网格布局?

HTML 标记未在页面上展开

当另一个 div 的高度改变或执行其内容的换行时,将 flex 方向更改为列