html - CSS 背景图像问题(图像未显示)

标签 html css

我遇到了背景图片未显示的问题。

我有一个已添加到 anchor 标记的类。

<a class="my-class"></a>

类的CSS是:

.my-class {
    background:transparent url("../images/my-bg-image.png") no-repeat 0 center
 }

问题是背景图片没有显示。

我知道它在那里,因为当我这样做时:

<a class="my-class">&NBSP;</a>

部分图片显示。

有人知道如何在不插入大量   的情况下显示整个图像吗?

最佳答案

<a>标签是一个 inline 元素,没有内容不会显示背景,所以你需要把它做成 display作为blockinline-block元素,然后定义元素的大小

尝试:

.my-class {
    display:     block;
    width:       128px;
    height:      128px;
    background:  transparent url("../images/my-bg-image.png") no-repeat 0 center
}

有关更多信息,您可以查看 box modeldisplay propertyCSS 2.1 w3c standard 上.

还有章节 The width propertyComputing widths and margins解释为什么该元素不在空内联元素上显示背景。

更新:

此外,CSS 盒模型工作草案available在 W3C 网站上。

更新 2:

附带说明一下,仅依赖 css 背景图像的链接可能会有一些可访问性问题

关于html - CSS 背景图像问题(图像未显示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5661683/

相关文章:

javascript - 如何按类获取可见元素?

javascript - 未知的TypeError:无法读取未定义的属性 “search”

javascript - html/css/js 查找元素是否悬停在其他元素上

html - 如何为每种字体样式定义单独的字体 - CSS

CSS 样式和颜色不适用于移动浏览器

html - 关闭包含表单的应用程序脚本侧边栏

php - 通过 MySQL 生成的下拉列表预览 MySQL 中的数据

html - 禁用 WordPress TwentyEleven 的响应式结构

css - 只需要 ie9 hack

javascript - 如何使用纯 javascript 将 css 边距值转换为像素?