表格中的响应图像(bootstrap 3)

时间:2013-09-17 09:57:51

标签: html twitter-bootstrap responsive-design twitter-bootstrap-3

我正在使用Bootstrap 3 Framework并遇到一些麻烦 Firefox中的“img-responsive”类。 我有一个4列表,15/50/10/25%布局。 在第一列是一个大图像,应缩小到15%。 但这仅适用于Chrome / Opera,但不适用于FF / IE(图像不响应,因此太大)。

我的代码:

<table class="table table-striped table-condensed voc_list ">

<thead>
<tr>
<th style="width:15%;"></th>
<th style="width:50%;">Bezeichnung</th>
<th style="width:10%;">Zeitraum</th>
<th style="width:25%;">Ort</th>
</tr>
</thead>

<tbody>

<tr class="listview">
<td style="padding:15px 0px 15px 0px;"> 
<a href="xy" title="">
<img src="yx.jpg" class="img-responsive voc_list_preview_img" alt="" title=""></a>
</td>

<td style="width: 50%; padding:15px 15px 15px 15px;">
<a href="xy" title="">
<h3 class="nomargin_top">ABC</h3>
</a>
</td>

<td style="width:10%;">
555
</td>

<td>
XYZ
</td>

</tbody>

</table>

这是BS3中的已知问题吗?我找不到任何东西。

修改:http://jsfiddle.net/cctyb/ - 在Chrome中可行,在FF中图像为大

5 个答案:

答案 0 :(得分:22)

.img-responsive{width:100%;}添加到您的CSS中,另请参阅:Why do Firefox and Opera ignore max-width inside of display: table-cell?

答案 1 :(得分:16)

我也有这个问题,我的解决方案是“桌面布局固定”

.table-container {
    display: table;
    table-layout: fixed;
    width: 100%;
    height: 100%;
}
.table-cell-container {
    text-align: left;
    display: table-cell;
    vertical-align: middle;
    &.center{
        text-align: center;
    }
    img{
        display: inline-block;
        width: auto;
        max-width: 100%;
        height: auto;
        max-height: 100%;

    }
}

<div class="table-container">
<div class="table-cell-container center">
         <img src="myimage.jpg" width="100" height="100" alt="myimage" />
</div>
</div>

答案 2 :(得分:3)

巴斯的回答

.img-responsive {
   width:100%;
}

确实有效,但它也会扩展其他图像。

我所做的是创建另一个类

.img-responsive-2 { 
   width: 100%; 
}

并将其与原始.img-responsive放在一起,这样我就可以灵活地将其用于表格中的图像。

<img src="someimage.jpg" class="img-responsive img-responsive-2" />

答案 3 :(得分:0)

试试此代码

$(window).load(function() {
    $('img.img-responsive').each(function(){
        // Remember image size
        var imgWidth = $(this).width();
        // hide image 
        $(this).hide();
        // if container width < image width, we add width:100% for image 
        if ( $(this).parent().width() < imgWidth ) { $(this).css('width', '100%'); }
        // show image
        $(this).show();
    });
});

答案 4 :(得分:-2)

我的自定义css:

table .img-responsive {
    width: 100%;
}