在图像范围下居中文本

时间:2013-01-12 23:35:55

标签: html css

我难以将我的图片文字标题集中在我的开发网站上显示的每张图片下方:http://tinyurl.com/bh8uape

我想让每个标题都位于相应图像的下方。我怎么能这样做?

HTML

<!--/ Photo Thumbs Row 1-->

<div id="thumbs">

<a id="single_image" href="/bp/images/roscoes-run.jpg"><img src="/bp/images/roscoes-run(thumb).jpg" alt=""/></a>
<a id="single_image" href="/bp/images/roscoes-run-2.jpg"><img src="/bp/images/roscoes-run-2(thumb).jpg" alt=""/></a>
<a id="single_image" href="/bp/images/chicken-waffles.jpg"><img src="/bp/images/chicken-waffles(thumb).jpg" alt=""/></a>

<span class="stretch"></span>


</div>

<!--/ Description-->

<div id="desc-wrapper">
<div class="description">Roscoe's Run 2012</div>
<div class="description">Roscoe's Run 2012</div>
<div class="description">Roscoe's Run 2012</div>
</div>




<!--/ Photo Thumbs Row 2-->

<div id="thumbs">

<a id="single_image" href="/bp/images/mens-retreat-2012.jpg"><img src="/bp/images/mens-retreat-2012(thumb).jpg" alt=""/></a>
<a id="single_image" href="/bp/images/winter-retreat-2012.jpg"><img src="/bp/images/winter-retreat-2012(thumb).jpg" alt=""/></a>
<a id="single_image" href="/bp/images/new-years-eve-2012.jpg"><img src="/bp/images/new-years-eve-2012(thumb).jpg" alt=""/></a>


<span class="stretch"></span>

</div>


<!--/ Description-->

<div id="desc-wrapper">
<div class="description">Men's Retreat 2012</div>
<div class="description">Winter Retreat 2012</div>
<div class="description">New Year's Eve 2012</div>
</div>

CSS

/*Fancybox Gallery Divs*/


#thumbs {   
    width: 960px;
    margin-top:20px;
    margin-bottom:20px;
    margin-left: auto; 
    margin-right: auto;
    text-align: justify;
    -ms-text-justify: distribute-all-lines;
    text-justify: distribute-all-lines;
}

#thumbs a {
    vertical-align: top;
    display: inline-block;
    *display: inline;
    zoom: 1;
}

.stretch {
    width: 100%;
    display: inline-block;
    font-size: 0;
    line-height: 0
}

/*Descriptions*/


#desc-wrapper {
    width: 960px;
    padding-top: 10px;
    margin-left: auto; 
    margin-right: auto;
    text-align: justify;
    -ms-text-justify: distribute-all-lines;
    text-justify: distribute-all-lines;
}

.description {
    width: 360px;
    height: 25px;

}

非常感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

您需要使用CSS属性floattext-align来获取您要查找的结果:

.description {
  float:left;
  width: 320px; // Increase/decrease width for margin between images
  height: 25px;
  text-align:center;
}

在说明之后,添加另一个div,这将清除任何浮动内容:

<div class="description">Men's Retreat 2012</div>
<div class="description">Winter Retreat 2012</div>
<div class="description">New Year's Eve 2012</div>
<div class="clear"></div>

使用以下CSS:

.clear {
  clear:both;
}

选择保证金/填充的第一个/最后一个元素:

如果您在其中一个div标签上遇到额外宽度时遇到问题,您可以在CSS中使用伪类,也可以在第一个或最后一个{{1}中添加另一个类}} 标签。以下是几个例子:

div

OR

<div class="description smaller-width">Men's Retreat 2012</div>
<div class="description">Winter Retreat 2012</div>
<div class="description">New Year's Eve 2012</div>
<div class="clear"></div>

.smaller-width {
  width:300px;
}

我们正在使用.description:first-child { width:300px; } ,因为它在IE中的支持比:first-child更好。请注意,要使:last-child在IE8及更早版本中工作,必须声明:first-child

答案 1 :(得分:0)

你需要做两件事。

  1. 将您的说明元素浮动,以便它们使用float: left;
  2. 在彼此之后水平结束
  3. 使用text-align: center;
  4. 将描述元素中的文字居中

    这样的事情:

    .description {
        width: 360px;
        height: 25px;
        float: left;
        text-align: center;
    }
    

答案 2 :(得分:0)

您应该在div中添加每个图像及其下方的文本。类似的东西:

<div>
img
p
</div>

这样你就可以制作div p:text-align center;