是否可以使用css更改img src属性?

qad*_*nza 14 css image src

我正在尝试用css更改img src(不是后台img src)

<img id="btnUp" src="img/btnUp.png" alt="btnUp"/>  

#btnUp{
    cursor:pointer;
}
#btnUp:hover{
    src:img/btnUpHover; /* is this possible ? It would be so elegant way.*/
}
Run Code Online (Sandbox Code Playgroud)

小智 26

您可以使用 :

content: url("/_layouts/images/GEARS_AN.GIF")
Run Code Online (Sandbox Code Playgroud)

  • 更新:似乎这样只适用于webkit/Chrome,但不适用于FF或IE. (10认同)

Ben*_*yaa 17

还有另一种解决方法:使用CSS box-sizing.

HTML:

<img class="banner" src="http://domaine.com/banner.png">
Run Code Online (Sandbox Code Playgroud)

CSS:

.banner {
  display: block;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: url(http://domain2.com/newbanner.png) no-repeat;
  width: 180px; /* Width of new image */
  height: 236px; /* Height of new image */
  padding-left: 180px; /* Equal to width of new image */
}
Run Code Online (Sandbox Code Playgroud)

http://css-tricks.com/replace-the-image-in-an-img-with-css/


dan*_*l__ 5

你可以试试这样的

<img id="btnUp" src="empty.png" alt="btnUp" />  
Run Code Online (Sandbox Code Playgroud)

或者

<div id="btnUp" title="btnUp"> <div/>  
Run Code Online (Sandbox Code Playgroud)
#btnUp{
    cursor:pointer;
    width:50px;
    height:50px;
    float:left;       
}

#btnUp{
    background-image:url('x.png')
}

#btnUp:hover{
    background-image:url('y.png')
}
Run Code Online (Sandbox Code Playgroud)


Dio*_*ane 2

否 - CSS 只能用于更改 CSS 背景图像,不能用于更改 HTML 内容。

一般来说,UI 元素(而不是内容)无论如何都应该使用 CSS 背景呈现。交换类可以交换背景图像。

  • 错误 - 您可以使用 CSS3 和 `content` 属性轻松做到这一点,请参见此处:http://stackoverflow.com/questions/2182716/how-can-we-specify-src-attribute-of-img-tag-in -css#answer-11484688 (24认同)
  • 更新:内容属性仅适用于 Webkit/Chrome - 不适用于 FF 或 IE。 (5认同)
  • CSS 更好,请参阅:http://stackoverflow.com/questions/28832129/replace-image-src-location-using-css 和详细信息:https://css-tricks.com/replace-the-image-在-img-with-css/中 (2认同)