html - 将 Sprite 图像与表格单元格的中心对齐

标签 html css

我用我们所有的图标图像制作了一个 sprite,因为相同的图像重复了很多次,我不希望它一遍又一遍地加载。

下面是CSS代码的例子

#visa{background: url('sprite.png') -69px 0; left: 0; width: 87px; height: 36px;}

Visa 图标在表格中可见,但它向左对齐,我需要它居中

<tr>
<td><p id="visa"></p></td>
<td><p>Visa</p></td>
<td><img src="ok.png"></td>
<td><img src="ok.png"></td>
 </tr>

我尝试使用 P 标签和 td 标签居中对齐 aligh:center 和 text-align:center;两者都不适合我。

我尝试了一些位置类但无法正常工作,但我可能没有正确使用它。

我还想对单元格进行其他样式设置,例如填充顶部/底部,但我需要先对其进行排序。

我可以尝试什么?

这是 JS fiddle https://jsfiddle.net/dave5000/v4cgeo9z/

最佳答案

试试这个:

#visa{
  background: url('sprite.png'); 
  background-size: 36px;
  background-position: center;
  left: 0; 
  width: 87px; 
  height: 36px;
}

我真的不知道你的图像的大小,但我想这会成功。

编辑:

对于错误的信息,我很抱歉,我从我的例子中复制的搞砸了..

这个怎么样?

 #visa{
   background: url('sprite.png'); 
   background-repeat: no-repeat;
   background-position: center;
   display: block;
   left: 0; 
   width: 87px; 
   height: 36px;
 }

编辑 2:

添加演示后,我能够生成此解决方案: Fiddler Demo

我删除了

left: 0;

并添加了下一个 css 行:

display: inline-block;

我的 fiddler demo 对我有用,所以让我知道它是否也对你有用

关于html - 将 Sprite 图像与表格单元格的中心对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42928700/

相关文章:

css - 当百分比填充定义元素高度时忽略最大高度

html - 为什么具有相同字体大小、行高、填充和高度的文本区域和输入文本垂直对齐方式不同?

javascript - Mouseenter 和 mouseleave 同时触发

jQuery 移动图像以 "default"大小在标题中居中

javascript - 使用 HTML/CSS 和 Javascript 的 Domino's Tracker

javascript - 没有定义点击事件的 Html 按钮仍然调用一个函数

html - 使用 CreateJS 定位 Z-Index

javascript - Bootstrap 导航栏在 AngularJS 环境中不会折叠

javascript - 如何根据单击的按钮更改代码

html - 图片文字在同一行