html - 如何在 <td> 中放置元素?

标签 html css alignment html-table

我的产品的图片尺寸最大为 100 像素。表示:宽度为100px,高度小于100px,或者高度为100px,宽度小于100px。一侧始终为 100 像素。

我需要在右侧显示产品图片,在该图片的左下角显示名称和价格。它是我需要的不同情况下的结构:

enter image description here

我试过这个:

<table style="width: 100%;">
    <tbody>
        <tr>
          <td style="height: 100px; ">
              <a href="@Url.Action("Details", "Product", new { id = Model.Id })" > 
                 <img src="@Url.Content("~/Images/" + Model.Image)" style="float:right;" alt="" />
                <b style="margin-top: 15%; float: right;">
                    <label>@Model.Price</label>
                    <br />
                    <label>@Model.Name</label>
                </b>
              </a>
          </td>
       </tr>
    </tbody>
</table>

但这只适用于 100px 高度。 margin-top: 15%;是静态的。当图像高度为 50px、60px 等时,它应该改变。 我怎样才能做到这一点?使用表格并不重要。您可以建议任何元素执行此操作。

编辑: 我又加了一个<td>并排并将价格和名称放在第一位<td>和图像成第二<td> .

现在我需要设置 <td>宽度像内部元素的大小。如果图像宽度在 <td>为90px,设置<td>宽度为 90px。可能吗?

最佳答案

如前所述,使用表格不是您应该采用的方式。但是你可以使用 CSS 来模拟表格之类的东西,尽管我不得不提到这在 ie7 或更低版本中不起作用:

CSS

.list li {
    height:100px;
    border:5px solid #000;
    margin-bottom:5px;
    width:100%;
    display:table;

}

.list li div {
    display:table-cell;
    vertical-align:middle;
    overflow:hidden;
}

.list li div a {
    display:table;
    width:100%;
}
.list li a span {
    display:table-cell;
    overflow:hidden;
    width:100%;
    vertical-align:bottom;
}

.list li a span b {
    display:block;
    padding-right:5px;
    float:right;
}

.list img {
    float:right;
}

HTML

<ul class="list">
    <li>
        <div>
            <a href="#" > 
                <span>
                    <b>@Model.Pricexyz<br />@Model.Name</b>
                </span>
                <img src="http://placekitten.com/g/100/100" alt="" />
            </a>
        </div>
    </li>
    <!-- add other elements here -->
</ul>

你可以找到一个demo在这里。

关于html - 如何在 <td> 中放置元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14911409/

相关文章:

javascript - 使用 Javascript 按其组件拖动窗口

jquery - 以动态网格固定窗口大小显示的图像

html - CSS 最大宽度文本大小问题

javascript - 部分未排列到顶部

javascript - 单击按钮时如何显示div?

用于格式化输入框以采用日期 mm/dd/yyyy 的 HTML5 模式?

html - 显示垂直和水平彼此相关的图像

html - 中心水平导航菜单

Css div 没有正确对齐

html - CSS:如何水平居中和垂直居中对齐文本内容?