固定容器中居中对齐的可滚动div

吉杜布

我挣扎集中对准一个divdivposition:fixed(我需要它固定为这个用户界面将漂浮在现有页面的其余部分)。中央div将包含大量内容,因此需要垂直滚动。它还需要相对于具有最大宽度的视口水平缩放。

这是我到目前为止的东西-差不多了-只是无法确定如何集中黄色div

http://jsfiddle.net/p7F3u/

编辑我需要支持IE9,FF,Chrome,Safari

<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>Test</title>
    <style>
        div {
            padding: 0px;
            margin: 0px;
        }
        #fix {
            position: fixed;
            left: 0px;
            right: 0px;
            top: 0px;
            bottom: 0px;
            background-color: red;
        }
        #my-wrap {
            position: relative;
            margin: 1em auto;
            background-color: green;
            width: 100%;
            height: 100%;
        }
        #my-details {
            position: absolute;
            width: 50%;
            max-width: 450px;
            top: 20px;
            background-color: yellow;
            bottom: 0px;
            overflow: scroll;
        }
    </style>
</head>
<body>
    <div id="fix">
        <div id="my-wrap">
            <div id="my-details">
                <p>Lots of content in here....</p>
                <br style="clear: both" />
            </div>
        </div>
    </div>
</body>
</html>

谢谢!

乔什·克罗齐耶(Josh Crozier)

最简单的方法是相对定位#my-details元素,而不是绝对定位元素。然后,您可以简单地使用margin:0 auto将元素居中。由于该元素不再绝对定位,因此需要将其高度设置为100%来取代top:20px,您可以简单地使用calc()像这样:height: calc(100% - 20px)

在这里举例

#my-details {
    position:relative;
    margin:0 auto;
    height:calc(100% - 20px);
    width: 50%;
    max-width: 450px;
    top: 20px;
    background-color: yellow;
    bottom: 0px;
    overflow: scroll;
}

或者,您可以更改top:20px为基于百分比的值,例如2%然后,您可以简单地使用的高度,98%而不必使用calc()由于这可能不是最佳解决方案,因此您还可以使用以下方法:

这里的例子

#fix {
    padding-top:1em;
}
#my-wrap {
    padding-top:20px;
}

基本上,此方法避免在父元素上top:20px添加padding-top值。然后,元素的父元素将接收到的padding-top1em以替换margin: 1em auto

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果在固定容器中溢出div,如何使两个可滚动显示?

来自分类Dev

可滚动div中的固定图标

来自分类Dev

如何在Flex容器中居中对齐div网格?

来自分类Dev

使div中的元素忽略其容器大小,并使容器可滚动

来自分类Dev

固定大小的可滚动DIV

来自分类Dev

滚动时是否可以使div位置固定但与容器保持对齐?

来自分类Dev

滚动时是否可以使div位置固定但与容器保持对齐?

来自分类Dev

将固定的可拖动div居中

来自分类Dev

如何在容器div中实现水平对齐,无间隙且居中的div元素

来自分类Dev

div在容器中滚动时固定,但在浏览器中不固定

来自分类Dev

如何使用固定容器滚动div文本?

来自分类Dev

固定文本在容器 div 内滚动

来自分类Dev

容器中的浮动div居中

来自分类Dev

div容器中的居中按钮

来自分类Dev

容器中的浮动div居中

来自分类Dev

将div在flexbox容器中垂直居中并进行拉伸对齐

来自分类Dev

如何在flex容器中对齐两个居中的div的顶部?

来自分类Dev

如何使用引导程序将容器 div 中的行内容居中对齐?

来自分类Dev

将固定页脚中的文本与容器对齐

来自分类Dev

将无序列表居中放置在具有固定宽度列表项的容器div中?

来自分类Dev

如何在嵌套的flex容器中创建具有固定宽度的水平可滚动内容?

来自分类Dev

在居中,与列对齐的flex容器中右对齐单个项目

来自分类Dev

在容器中对齐Div块

来自分类Dev

如何使固定主屏幕的可滚动div?

来自分类Dev

容器旁边的可滚动粘性div

来自分类Dev

容器内的垂直可滚动div

来自分类Dev

滚动到可滚动容器div中的元素不起作用

来自分类Dev

随着容器滚动,在可滚动的<div>中移动隐藏的<div>

来自分类Dev

停止在固定div中滚动

Related 相关文章

  1. 1

    如果在固定容器中溢出div,如何使两个可滚动显示?

  2. 2

    可滚动div中的固定图标

  3. 3

    如何在Flex容器中居中对齐div网格?

  4. 4

    使div中的元素忽略其容器大小,并使容器可滚动

  5. 5

    固定大小的可滚动DIV

  6. 6

    滚动时是否可以使div位置固定但与容器保持对齐?

  7. 7

    滚动时是否可以使div位置固定但与容器保持对齐?

  8. 8

    将固定的可拖动div居中

  9. 9

    如何在容器div中实现水平对齐,无间隙且居中的div元素

  10. 10

    div在容器中滚动时固定,但在浏览器中不固定

  11. 11

    如何使用固定容器滚动div文本?

  12. 12

    固定文本在容器 div 内滚动

  13. 13

    容器中的浮动div居中

  14. 14

    div容器中的居中按钮

  15. 15

    容器中的浮动div居中

  16. 16

    将div在flexbox容器中垂直居中并进行拉伸对齐

  17. 17

    如何在flex容器中对齐两个居中的div的顶部?

  18. 18

    如何使用引导程序将容器 div 中的行内容居中对齐?

  19. 19

    将固定页脚中的文本与容器对齐

  20. 20

    将无序列表居中放置在具有固定宽度列表项的容器div中?

  21. 21

    如何在嵌套的flex容器中创建具有固定宽度的水平可滚动内容?

  22. 22

    在居中,与列对齐的flex容器中右对齐单个项目

  23. 23

    在容器中对齐Div块

  24. 24

    如何使固定主屏幕的可滚动div?

  25. 25

    容器旁边的可滚动粘性div

  26. 26

    容器内的垂直可滚动div

  27. 27

    滚动到可滚动容器div中的元素不起作用

  28. 28

    随着容器滚动,在可滚动的<div>中移动隐藏的<div>

  29. 29

    停止在固定div中滚动

热门标签

归档