html - 从 CSS 而不是 HTML 选择图像

标签 html css

我有一个棘手的问题。对这里的某些人来说可能很有趣。

我正在尝试克服 html img 并通过 css 背景属性使用图像。

所以,代码很简单:

<a id="logo" href="/"><img src="/logo1.png"></a>

CSS

position: relative;
height: 85px;
width: 200px;
background: url(/logo2.png) no-repeat;
background-size: 200px 200px;

因此,我希望从 html 中删除 logo1,并让 css 图像 logo2 取代 logo1。

注意:没有额外的 div 和类,只有那个 html 标记!

什么都试过了,但我认为这是不可能的?

最佳答案

使用 display: none 删除 img并使用 display: block/inline-block/table-cell获取您的高度和宽度。

在此示例中,红色 <img>将被删除并替换为黄色 CSS 背景图片。

Example!

HTML

<a id="logo" href="/"><img src="http://www.placehold.it/200/FF0000"></a>

CSS

a { 
   position: relative;
   height: 85px;
   width: 200px;
   background: url(http://www.placehold.it/200/FFFF00) no-repeat;
   background-size: 200px 200px;
   display: block;
}
a img {
    display: none;
}

关于html - 从 CSS 而不是 HTML 选择图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25344570/

相关文章:

css - "_card.scss"和 "_type.scss"这些是什么以及如何取消它们? ( Bootstrap 4)

javascript - jQuery tablesorter 外部日期范围过滤器

javascript - 创建图表后下拉菜单消失

html - CSS 媒体查询在 Rails 邮件程序模板中不起作用

css - 从 SASS 函数返回带有梯度的 css 规则值

javascript - 在 FireFox 和 Chrome 中工作但在 Internet Explorer 中不工作的脚本

html - float :center -> float:left; div container adds space at bottom

javascript - 动态添加的对象不会在 javascript 中获取样式

HTML/CSS 结构以提供 future 的设计更改和皮肤

html - 没有 flexbox 的垂直居中