位置固定在页面顶部的中心标题元素[重复]

Posted

技术标签:

【中文标题】位置固定在页面顶部的中心标题元素[重复]【英文标题】:Center header element with position fixed to top of page [duplicate] 【发布时间】:2013-04-21 12:39:05 【问题描述】:

我有一个特定于 Google Chrome 的 CSS 问题。我做了一些研究,但没有人知道如何在没有 javascript 的情况下修复它,我不想使用它,因为我的元素将来会改变。

代码如下,如果你使用它,你会看到子 div 转到页面的右侧,如果我向父级添加相同的顶部位置值,它会朝相反的方向移动。

该网站将包含更多内容,我想要一个居中的标题,当您滚动浏览页面时,侧边栏和浮动内容将消失在后面。

    <body>
    <!--this should not need any css coding till later on after the site is complete-->
    <center>
        <div class="header_p1">
            <img class="header_p1_child" src="header.png"/>
        </div>
    </center>

css 是

.header_p1

        background: white;
        width: 750px;
        height: 110px;
        margin-bottom: 10px;

.header_p1_child

        float: none;
        background: white;
        width: 750px;
        height: 110px;
        position: fixed;
        top: 0px;


【问题讨论】:

顺便说一句,float 属性什么也没做,我忘了把它拿出来,育儿 div 在那里,否则如果你向下滚动页面,它就会消失,所以我没这么说 【参考方案1】:

您希望将居中的页眉固定在页面顶部,这样对于较长的页面,内容将在页眉下方垂直滚动。

这里是原型 html sn-p:

<div class="wrapper">
    <div class="header">
        <img class="banner" src="http://placehold.it/200x100" />
    </div>
    <div class="content">
        <p>Lorem ipsum dolor ...</p>
    </div>
</div>

我创建了一个div.wrapper 块来定义布局的上下文,它的一些填充等于标题的预期高度。

div.header 块包含图像(200x100 像素),div.content 包含各种文本段落。

布局和样式在以下 CSS 中定义:

.wrapper 
    outline: 2px dotted blue; /** optional **/

    /** Top padding so that initially, the content is below the header **/
    padding-top: 100px;



.header 
    height: 100px;
    width: 400px; /** Use 100% to fill the width of the page **/
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background-color: rgba(0,0,255,0.2);


img.banner 
    display: block;
    margin: 0 auto;
 

.header 样式声明高度和宽度,并使用position: fixed 将元素的位置固定到视口。对于定位,top: 0 将标题放在页面顶部。

要使元素居中,设置left: 0right: 0 并使用margin: 0 auto

div.header中,可以将图片声明为块型元素,然后使用margin: 0 auto居中。

我在 Firefox 和 Chrome 中都检查了它,它按预期工作。这依赖于 CSS 2.1,因此它应该可以在相当多的旧浏览器中运行,也许是 IE7,但我没有测试它,但也许有人可以这样做并相应地发表评论。

小提琴: http://jsfiddle.net/audetwebdesign/q2WRv/

【讨论】:

我在 ie9 中对其进行了测试,但代码在 chrome 中无法正常工作,但您能确定是否可以添加任何代码以使其兼容吗? 我刚刚检查了 IE 9.0.8112 中的小提琴,它似乎工作正常。如果您在网页中编写了 sn-p,您使用的是什么文档类型?确保您没有处于怪癖模式。 (1)首先在您的 IE9 中仔细检查小提琴以确保没问题,(2)让我知道您使用的是什么文档类型。我今天晚些时候会回来,可以尝试解决任何问题。【参考方案2】:

来源:http://css-tricks.com/quick-css-trick-how-to-center-an-object-exactly-in-the-center/

不要使用&lt;center&gt;标签,这是过时的,应该用CSS来完成

<body>
<div class="header_p1"><img src="header.png"/></div></center>

CSS

.header_p1

    background: white;
    width: 750px;
    height: 110px;
    padding-bottom: 10px;
    position: fixed;
    top: 0;
    left: 50%;           /* Start at 50% of browser window */
    margin-left: -325px; /* Go half of width to the left, centering the element */

【讨论】:

【参考方案3】:

最初取自here 为了使图像准确居中,只需应用图像高度一半的负上边距和图像宽度一半的负左外边距。对于这个例子,像这样:

.centered 
  position: fixed;
  top: 50%;
  left: 50%;
  margin-top: -50px;
  margin-left: -100px;

【讨论】:

这真的只适用于当我进入画廊和产品页面 css 时,但我会使用它,不管它没有得到想要的结果谢谢

以上是关于位置固定在页面顶部的中心标题元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何使 div 在页面的同一时间中心保持在顶部?

如何使固定元素保持相对于当前顶部滚动位置?

React-DnD - 当顶部有固定元素时将元素拖动到屏幕顶部不会向上滚动页面

偏移html锚以调整固定标题[重复]

偏移html锚以调整固定标题[重复]

在bootstrap中 怎么使得导航栏固定在顶部