CSS float div,不缩小到内容

标签 css css-float

这对我来说很奇怪,虽然我已经搜索过,但每个人似乎都有与我相反的问题(一个 float 的 div 收缩)!

我有这个页面:http://www.tameside.gov.uk/test/news ,它使用 PHP 在顶部为各种新闻故事生成 div,并且工作正常。然而,元素( float div)位于向左浮动的 div 中,出于某种原因,它不会缩小到那些元素(它们只是内容)。

据我所知, float 的 div 总是缩小到它的内容,但这个特殊的 div 似乎扩展到页面的 100%。我已将包含的 div 的背景涂成灰色以向您展示我的意思。

我希望它缩小到内容,这样我就可以使用居中技巧,然后无论顶部新闻项中有多少 div,它都会将 div 居中。但因为它没有收缩,所以这个技巧显然不起作用。

每个新闻元素 div 的 CSS 如下:

.news-top-item {
    border-radius: 10px;
    border-color: #3f7dae;
    border-style: solid;
    border-width: 2px;
    float: left;
    width: 19%;
    text-align: center;
    margin-right: 0.5%;
    height: 13em;
    padding-top: 0.5em;
    cursor: pointer;
    position: relative;
}

他们内部还有一个 span,上面附加了一些 CSS,使整个内容成为一个链接:

.news-top-item span {
    display: inline;
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left: 0;
    z-index: 2;
    background-image: url('/tmbc_images/include/1pixel.gif');
    cursor: pointer;
}

我怀疑这是干扰,但以防万一。

外层 div 只有“float: left”和应用的背景色。

如有任何帮助,我们将不胜感激。

谢谢,

詹姆斯

最佳答案

您应该删除 float:left 并改用 display:inline-block

.news-top-item {
    border-radius: 10px;
    border-color: #3f7dae;
    border-style: solid;
    border-width: 2px;
    display:inline-block;
    width: 19%;
    text-align: center;
    margin-right: 0.5%;
    height: 13em;
    padding-top: 0.5em;
    cursor: pointer;
    position: relative;
}

并在包含的 div 中添加 text-align:center

关于CSS float div,不缩小到内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10314463/

相关文章:

jquery - 是否可以使用 jquery 更改 $(document) 宽度?

css - 动画 div 颜色加悬停动画

css - Wordpress 页面上的内联图像和清除

css - 将图像与下面的文字并排放置

css - 如何在 Safari 中转换 Flash?

css - 字体很棒的图标不是垂直居中的

css - 错误 : CSS: background:/is an incorrect operator

html - 两个元素拒绝漂浮在第三个元素旁边

html - <li> 标签的 CSS Margin 自动居中

css - 为什么左浮动的 “clear: left” 也会影响右浮动,以及如何避免它