繁体   English   中英

将图像对齐到 td 的中心

[英]Align an image in the center of a td

我有以下 HTML 结构,我需要在 td 的中心垂直对齐图像(图标)。 我尝试了几种选择,但没有一个适合我。 你们能帮忙吗? 非常感谢。

 var row = $("<tr>" + "<td style='word-wrap:break-word; height:1px; padding-right:0; '>" + "<div style='float:left;width: 20%; height:100%;'>" + < i class = 'fa fa-cogs' style = 'font-size:14px;color:darkblue' data - toggle = 'tooltip' title = '100% Automatic' > < /i> + "</div>" + "<div style='float: right; width: 80%; height:100%;'>" + "<a style='width: 100%; text-decoration: underline;' href='" + url_target + "' target='_blank'>" + obj.HITO + "</div>" + "</td>" + "<td style='word-wrap:break-word'>" + "<a style='text-decoration: underline; color:" + colorPriority + "' href='" + url_proyect + "' target='_blank'>" + obj.NAME_PROYECT + "</td>" + "<td style='word-wrap:break-word'>" + obj.SUBDOMAIN + "</td>" + "<td style='word-wrap:break-word'>" + obj.TITLE + "</td>" + "<td style='word-wrap:break-word'>" + obj.NOTE + "</td>" + "<td style='word-wrap:break-word'>" + obj.MODIFIED + "</td>" + "<td style='word-wrap:break-word'>" + obj.RESPONSABLE + "</td>" + "<td style='word-wrap:break-word'>" + obj.PLANNED_DATE + "</td>" + "<td style='word-wrap:break-word'>" + obj.STATE + "</td>" + "<td style='word-wrap:break-word; background-color:" + colorSla + "'>" + obj.SLA + "</td></tr>"); } $("#tableResult").children('tbody').append(row);

添加样式vertical-align: middletd持有图像图标并删除td内的父div

<td style='word-wrap:break-word; height:1px; padding-right:0; vertical-align:middle '>
<i class='fa fa-cogs' data-toggle='tooltip' title='100% Automatic'></i>
<a href='url_target'>obj.HITO</a>
</td>

我找到了解决方案。 添加style='word-wrap:break-word; vertical-align: middle' to the <td> tag, removed parent div from the <a> and the <i> and added <div style='height:100%; display: flex; align-items:center; margin: 0 auto;'> as the parent of both<a> and <i> style='word-wrap:break-word; vertical-align: middle' to the <td> tag, removed parent div from the <a> and the <i> and added <div style='height:100%; display: flex; align-items:center; margin: 0 auto;'> as the parent of both<a> and <i>

td {
    display: flex;
    align-items: center;
    justify-content: center;
}

如果您在td (或图标)中设置width ,请添加margin: 0 auto;

为什么图像不居中<table><tbody><tr><td> ?<div id="text_translate"><p> 所以我正在使用谷歌脚本构建一个网络应用程序,结果是一个包含多个表格的仪表板。 我也在使用引导程序( <a href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="nofollow noreferrer">https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css</a> )。 多年来我一直在寻找答案,但我就是找不到我所缺少的东西。</p><p> 所以在表格中,我想插入一个图像,该图像必须水平和垂直居中,位于 td 的中心,并且必须适合并适应我将选择的行或 td 高度。</p><p> 但是一次又一次,我的图像到达 td/行的底部并且经常重叠并在该行下方,它似乎具有正确的高度,但它从来没有正确放置自己。 我复制了一小部分代码以使其更清晰:</p><p> <a href="https://i.stack.imgur.com/SI6bc.png" rel="nofollow noreferrer">这是我得到的结果</a></p><p>这是我的代码: </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-css lang-css prettyprint-override"> .row {} table { text-align: center; } tr { line-height: 20px; } th, td { position: relative; text-align: center; vertical-align: middle; } img { display: block; vertical-align: center; position: absolute; height: 20px; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> <,DOCTYPE html> <html lang="en"> <head> <base target="_top"> <:-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width. initial-scale=1"> <.-- Bootstrap CSS --> <link href="https.//cdn.jsdelivr.net/npm/bootstrap@5.1?3/dist/css/bootstrap;min?css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <::= include("page-css"). .> </head> <body> <div class="container"> <div class="row" style="width. 500px"> <:-- TABLE TEST --> <div> <.-- Test --> <table class="table"> <thead> <tr> <th>Rank</th> <th>Name</th> <th>Points</th> </tr> </thead> <tbody> <tr> <td>1</td> <td><img src="https.//static.sky:it/images/skytg24/it/spettacolo/serie-tv/2021/02/25/spongebob-serie-tv-kamp-koral/kamp.jpg"></td> <td>3</td> </tr> <tr> <td>11</td> <td><img src="https.//static.sky.it/images/skytg24/it/spettacolo/serie-tv/2021/02/25/spongebob-serie-tv-kamp-koral/kamp.jpg"></td> <td>33</td> </tr> <tr> <td>111</td> <td><img src="https://static.sky.it/images/skytg24/it/spettacolo/serie-tv/2021/02/25/spongebob-serie-tv-kamp-koral/kamp.jpg"></td> <td>333</td> </tr> </tbody> </table> </div> <!-- CLOSE TABLE TEST --></pre></div></div><p></p><p> 我已经尝试了我在周围发现的内容:显示:块,position:父母相对,孩子绝对,以及其他几种解决方案,但似乎没有任何效果。 我显然遗漏了一些东西,我可能已经把 styles 弄得一团糟,以至于我什至可能已经尝试了可能被其他错误阻止的好的解决方案。</p><p> 感谢谁能提供帮助</p></div></td></tr></tbody></table>

[英]Why image doesn't center in <table><td>?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何对齐 <td> 在动态HTML表格的中心 使文本在图像中心对齐 与自举轮播中的中心图像对齐 如何将图像与Div中心对齐 如何在ckeditor 3中对齐图像中心? 在IE中将图像对准按钮中心 将背景图像居中对齐 为什么我不能居中对齐 <td> 文本? 为什么图像不居中<table><tbody><tr><td> ?<div id="text_translate"><p> 所以我正在使用谷歌脚本构建一个网络应用程序,结果是一个包含多个表格的仪表板。 我也在使用引导程序( <a href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="nofollow noreferrer">https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css</a> )。 多年来我一直在寻找答案,但我就是找不到我所缺少的东西。</p><p> 所以在表格中,我想插入一个图像,该图像必须水平和垂直居中,位于 td 的中心,并且必须适合并适应我将选择的行或 td 高度。</p><p> 但是一次又一次,我的图像到达 td/行的底部并且经常重叠并在该行下方,它似乎具有正确的高度,但它从来没有正确放置自己。 我复制了一小部分代码以使其更清晰:</p><p> <a href="https://i.stack.imgur.com/SI6bc.png" rel="nofollow noreferrer">这是我得到的结果</a></p><p>这是我的代码: </p><p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"><div class="snippet-code"><pre class="snippet-code-css lang-css prettyprint-override"> .row {} table { text-align: center; } tr { line-height: 20px; } th, td { position: relative; text-align: center; vertical-align: middle; } img { display: block; vertical-align: center; position: absolute; height: 20px; }</pre><pre class="snippet-code-html lang-html prettyprint-override"> <,DOCTYPE html> <html lang="en"> <head> <base target="_top"> <:-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width. initial-scale=1"> <.-- Bootstrap CSS --> <link href="https.//cdn.jsdelivr.net/npm/bootstrap@5.1?3/dist/css/bootstrap;min?css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <::= include("page-css"). .> </head> <body> <div class="container"> <div class="row" style="width. 500px"> <:-- TABLE TEST --> <div> <.-- Test --> <table class="table"> <thead> <tr> <th>Rank</th> <th>Name</th> <th>Points</th> </tr> </thead> <tbody> <tr> <td>1</td> <td><img src="https.//static.sky:it/images/skytg24/it/spettacolo/serie-tv/2021/02/25/spongebob-serie-tv-kamp-koral/kamp.jpg"></td> <td>3</td> </tr> <tr> <td>11</td> <td><img src="https.//static.sky.it/images/skytg24/it/spettacolo/serie-tv/2021/02/25/spongebob-serie-tv-kamp-koral/kamp.jpg"></td> <td>33</td> </tr> <tr> <td>111</td> <td><img src="https://static.sky.it/images/skytg24/it/spettacolo/serie-tv/2021/02/25/spongebob-serie-tv-kamp-koral/kamp.jpg"></td> <td>333</td> </tr> </tbody> </table> </div> <!-- CLOSE TABLE TEST --></pre></div></div><p></p><p> 我已经尝试了我在周围发现的内容:显示:块,position:父母相对,孩子绝对,以及其他几种解决方案,但似乎没有任何效果。 我显然遗漏了一些东西,我可能已经把 styles 弄得一团糟,以至于我什至可能已经尝试了可能被其他错误阻止的好的解决方案。</p><p> 感谢谁能提供帮助</p></div></td></tr></tbody></table> 居中对齐javascript中的图像
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM