html - 非图像背景标题的居中文本?

标签 html css

继续这个问题:Stretchable header like StackExchange .我无法将我的网站文本居中,因此它位于 960 网格容器内(我使用的是 960 grid system )。我尝试过他们的 2 种不同方式:

.

  1. 将我的 Logo 和菜单放在背景 div 中,但这会使所有文本在 960 像素容器之外的屏幕上向左移动。

    <div class="container_24">
      <div id="header-top-border" class="grid_24"></div>
      <div id="header-background" class="grid_24">
        <div class="grid_5">Logo</div>
        <div class="grid_19">Main Menu</div>
      </div>
    </div>
    
  2. 我将它放在 Logo 和菜单之外,但这涵盖了我的页眉中包含的所有内容( Logo 、页眉顶部边框和菜单)。

    <div id="header-top-border" class="grid_24"></div> # not shown
    <div id="header-background" class="grid_24"></div> # covers all
    <div>Logo</div> # not shown
    <div>Main Menu</div> # not shown
    

这是我的CSS:

#header-background {
    background: rgb(144,191,34);
    position:absolute;
    top: 0;
    left:0;
    margin: 0 auto;
    width:100%;
    height:50px;
}

我在这里错过了什么?

最佳答案

关于您的代码,您不能将 position: absolute;margin: 0 auto; 技巧一起使用,因为那是“Scott Simpson”在他的评论中所说的,但是如果你需要为 #header-background 使用绝对位置,你可以使用下面的代码来帮助你:

首先,我建议对容器使用 clearfix 技巧:

http://css-tricks.com/snippets/css/clear-fix/

我建议为所有元素或至少为 body 重置边距和填充,因此将此代码放在必须加载的 css 文件第一行的第一行:

* {
    margin: 0;
    padding: 0;
}

然后将您的代码编辑为:

HTML:

<body>
<div class="container_24 clearfix">
  <div id="header-top-border" class="grid_24"></div>
  <div id="header-background" class="grid_24">
    <div class="grid_5">Logo</div>
    <div class="grid_19">Main Menu</div>
  </div>
</div>

然后你的CSS:

.clearfix:after {
        visibility: hidden;
        display: block;
        font-size: 0;
        content: " ";
        clear: both;
        height: 0;
        }
* html .clearfix             { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

.container_24 {
    width: 960px;
    margin: 0 auto;
    position: relative;
}
#header-background {
    background: rgb(144,191,34);
    position:absolute;
    top: 0;
    left:0;
    margin: 0 auto;
    width:100%;
    height:50px;
}

注意我为 .container_24 做了什么。

希望对您有所帮助。

顺便说一句:如果你不能编辑:下面一行:

<div class="container_24">

要添加 .clearfix 类,你可以只编辑 css,所以使用 .container_24:after 而不是 .clearfix:after,我希望这会让一切都变得美好。

关于html - 非图像背景标题的居中文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561693/

相关文章:

css - 具有固定顶部和底部文本的垂直/水平居中/中间缩放图像

Javascript,获取浏览器 URL 中未显示的默认页面名称

css - Slicing a box IE7间距问题

jquery - 如何在条件查询中的类之间淡入淡出

javascript - 如何动态读取本地文件?

html - 锁定文本框的宽度

css - 使用 btn-group-justified 时如何在按钮之间添加间距?

html - 如何在 Mozilla Firefox 中将原始数据发送到打印机? (原始打印)

html - 引导轮播 : open the clicked image

HTML:无法获得工具提示溢出:使用 position:relative div 时可见