【问题标题】:I need to center a fixed width div that resides inside a liquid width div我需要将位于液体宽度 div 内的固定宽度 div 居中
【发布时间】:2011-03-14 13:08:00
【问题描述】:

我的代码如下所示:

<div id="wrapper"> <!--Liquid -->

  <div id="header"> <!--Liquid-->
    <img src="logo.png">
  </div> <!--End header -->
 <div id="bg_hold"> <!--Holds a background, Liquid -->


 <div id="main"> <!--Fixed-->
   <div id="l_col">
     lcol
   </div>

   <div id="r_col">
      rcol
   </div>
 </div> <!--End main -->
</div><!--End bg_hold-->
</div> <!--End wrapper -->

enter code here

所以我们在这里看到的是一组旨在随分辨率扩展的液体 div。然后是一个固定宽度的内容框。我需要将那个固定宽度的盒子居中,在阳光下什么都做不了。我已经打了几个小时的头,我查看了关于该主题的每个教程和 SO 问题。什么都没有。这是 CSS,由于我尝试实施的所有修复程序,它有点麻烦:

body{
font-family: Tahoma,Josefin Sans,Arial, Helvetica, sans-serif;
font-size:12px;
}


#wrapper{
width:100%; /*Creating a liquid layout for the wrapper un-centers the main div */
clear:both;
overflow:hidden;
margin:0 auto;
}

#header{
position: relative;
float:left;
width:100%;
background-image: url("img_v3/header_bg.png");
text-align:center;
}

#bg_hold{
width:100%;
overflow:hidden;
background-image: url("img_v3/body_bg.png");
}


#main{
width:645px;
text-align:center;
position: relative;
float:left;
z-index: 1000;
-webkit-box-shadow: #BBB 0px 0px 10px;
background: rgba(255, 255, 255, 0.699219);
border-bottom-left-radius: 10px 10px;
border-bottom-right-radius: 10px 10px;
border-top-left-radius: 10px 10px;
border-top-right-radius: 10px 10px;

text-align: justify;
}

#l_col{
width: 380px;
float:left;
margin-top: 20px;
margin-right: 30px;
margin-left: 20px;
margin-bottom: 20px;
}

#r_col{
width:185px;
float:left;
margin-top: 20px;
margin-right: 20px;
margin-left: 10px;
margin-bottom: 20px;
}

就在我将“包装器”从固定宽度移到液体宽度的那一刻,它使“主”元素不居中。我什么都试过了。我错过了什么?

【问题讨论】:

  • 介意用不同颜色的divs 制作一个jsfiddle 来向我们展示问题吗?我试图将您的代码复制粘贴到jsfiddle.net,但似乎无法重现该问题。

标签: html css center fixed liquid


【解决方案1】:

这就是你想要的:

JSFiddle Demo

我所做的只是删除 #main 元素上的 float:left; 并添加 margin:0 auto; http://dl.dropbox.com/u/17927147/StackOverflow/Screen%20shot%202011-03-15%20at%2013.59.12.png

【讨论】:

  • 所以,这行得通。但是,如果我放下浮动:左;它会丢弃“主”元素上的透明背景。任何想法为什么?
  • Chrome 10.0.6,它使 div 居中,但背景消失了。
  • @GilloD 已修复,您需要将-overflow:hidden; 添加到#main
猜你喜欢
  • 2011-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-04
  • 2015-10-14
  • 1970-01-01
  • 2011-03-10
  • 1970-01-01
相关资源
最近更新 更多