另一个div内的任意宽度的中心div

时间:2011-12-07 17:32:20

标签: html css

请帮助我将一个没有预定义宽度的div放在另一个div中。请参阅下面的代码(或http://jsbin.com/ufivif上的jsbin)。感谢。

编辑:问题是我需要图像下方的标题与图像的左边缘对齐。所以容器上的text-align: center对我不起作用。

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<style>
  .container
  {
    border: 1px solid red;
    padding: 5em;
    position: relative;
  }
  .container img
  {
    border: 1px solid #333333;
    padding: 1em;
  }
  .container .image
  {
    border: 1px solid green;
    position: absolute;
    left: 50%;
  }
</style>
</head>
<body>
  <div class="container">
    <div class="image">
      <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Telefunken_FuBK_test_pattern.svg/500px-Telefunken_FuBK_test_pattern.svg.png"/>
      <div class="caption">test image</div>
    </div>
  </div>
</body>
</html>

5 个答案:

答案 0 :(得分:4)

display: inline-block;text-align:center

的组合

http://jsbin.com/ufivif/5

  body {
    padding: 0;
    margin: 0;
  }
  .container
  {
    border: 1px solid gold;
    padding: 10px;
    text-align: center;
  }

  .container .image
  {
    border: 1px solid silver;
    padding: 10px;
    display: inline-block;
    text-align: left;
  }
  .container .image img
  {
      border: 1px solid #9C6963 ;
      padding: 10px;
  }

答案 1 :(得分:1)

所以你需要以图片为中心而不是这里的文字是修复它的方法。

<style>
  .container 
  {
   border: 1px solid red;
   padding: 5em;
   text-align: center;
  }

  .imageWrapper 
  {
   display: inline;
  }

  .container .image
  {
    border: 1px solid green;
    display: inline;
    position: relative;
  }

 .caption
 {
  position: absolute;
  left: 0px;
  top: 0px;
  padding: 1em;
 }
</style>

<div class="container">
 <div class='imageWrapper'>
  <div class="image">
   <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Telefunken_FuBK_test_pattern.svg/500px-Telefunken_FuBK_test_pattern.svg.png">
   <div class="caption">Image Text</div>
  </div>
 </div>
</div>

虽然这不能使边框正确排列,但这会使图像居中并且文本位于图像的左侧。

答案 2 :(得分:0)

试试这个:

div.image { margin: auto }

答案 3 :(得分:0)

如果您只对以这一个div为中心感兴趣,可以在父级中使用text-align:center:

#arbitrary
{
    width: 750px;
    border: 1px solid #000000;
    text-align: center;
}

<div id="arbitrary">
    <div id="image">
        <img src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/32/Telefunken_FuBK_test_pattern.svg/500px-Telefunken_FuBK_test_pattern.svg.png">
    </div>
</div>

答案 4 :(得分:0)

如果你试图将.image div中心试试使用这个CSS:

.container 
{
    overflow: hidden;
    margin: 0 auto
}

.container .image
{
    margin: 0 auto
}