2015-03-03 6 views
4

У меня есть сайт с изображением с атрибутом src, и я хотел бы изменить местоположение src этого изображения с собственным изображением. Изображение находится в div-компоненте. Я не могу изменить HTML и искать способы изменить его с помощью CSS только, пожалуйста. КомпонентЗаменить расположение изображения src с помощью CSS

Div:

<div class="application-title"> 
<img style="margin-top: 3px;height: 45px;" src="image.svgz"> 
</div> 

компонент Image (CSS-файл):

.application-title IMG 
{ 
    float: left; 
    margin-top: 5px; 
    margin-right: 10px; 
    opacity: 1; 
    margin-left: 0px; 
    visibility: hidden; 
} 
+0

Это невозможно только с помощью CSS. Является ли вариант JavaScript? – aaronk6

+2

Возможно, у вас нет доступа к HTML ... но у вас есть доступ к файлу изображения? Почему бы просто не переписать изображение с новым? –

+0

На самом деле есть взломать это, что может сработать. Я отведу его в ответ. – lharby

ответ

20

Вы можете использовать фоновое изображение

.application-title img { 
 
    width:200px; 
 
    height:200px; 
 
    box-sizing:border-box; 
 
    padding-left: 200px; 
 
    /*width of the image*/ 
 
    background: url(http://lorempixel.com/200/200/city/2) left top no-repeat; 
 
}
<div class="application-title"> 
 
    <img src="http://lorempixel.com/200/200/city/1/"> 
 
</div><br /> 
 
Original Image: <br /> 
 

 
<img src="http://lorempixel.com/200/200/city/1/">

+1

Человек, вы не поверите. Я сам нашел это решение. Его коробка-размер и отступы, которые заставили бы его работать мгновенно. – Neophile

+1

Пила эта ссылка, и я был как .. booya! https://css-tricks.com/replace-the-image-in-an-img-with-css/ – Neophile

1

Вы можете удалить изображение

.application-title IMG { 
    display:none; 
} 

И добавить свои собственные к контейнер

.application-title { 
    background-image: url("pathtoyourimage/header.png"); 
    height: 200px; //set it to your image height. 
} 
+0

Пробовал это. К сожалению, это не работает. – Neophile

+0

Что это значит? здесь действует css. Замените URL-адрес URL-адресом img и отобразите img. – Persijn

+0

@ TheNewbie, что техника будет работать, но для этого может потребоваться добавить дополнительные параметры CSS. – lharby

3

Вы могли бы сделать это, но это Hacky

.application-title { 
    background:url("/path/to/image.png"); 
    /* set these dims according to your image size */ 
    width:500px; 
    height:500px; 
} 

.application-title img { 
    display:none; 
} 

Вот рабочий пример:

http://jsfiddle.net/5tbxkzzc/

+0

Пробовал, что. Это не работает. – Neophile

+0

Я добавил jsfiddle. Пришлось добавить ширину и высоту, но она работает. – lharby

7

Вот еще один грязный хак :)

.application-title > img { 
display: none; 
} 

.application-title::before { 
content: url(path/example.jpg); 
} 
Смежные вопросы