2012-05-04 16 views
16

Mam obraz i nie zdefiniowałem jeszcze źródła. Ma border:/Jak mogę usunąć obramowanie wokół obrazu bez źródła?

np <img src="" />

Jeśli dam mu źródła, granica odchodzi (ze względu na CSS: border:none).

Jak mogę usunąć ramkę wokół obrazu, gdy nie ma źródła?

+0

Co masz na myśli przez "nie ma źródła"? Że masz puste '' '? – lu1s

+2

Nie sądzę, że można, najlepiej po prostu dodać w src lub nie mieć tag obrazu lub ustawić jego szerokość/wysokość na 0, chyba że jest dostępny src. Możesz również użyć przezroczystego obrazu jako symbolu zastępczego. – Louis

+0

Dokładnie! Jak mogę usunąć z niego granicę? – Tgwizman

Odpowiedz

18

Można nie jest domyślnie w przeglądarce, najlepiej po prostu dodaj w src lub nie znacznika obrazu, lub ustawić jego szerokość/wysokość do 0, chyba że dostępny jest src. Można również użyć przezroczystego obrazu jako elementu zastępczego.

4

Możesz go po prostu ukryć, dopóki nie dasz mu src.

img { 
height: 200px; 
width: 200px; 
visibility: hidden;  
}​ 

Albo dać mu 0 wielkość

img { 
height: 0; 
width: 0; 
}​ 
27

Co mogę zasugerować to miejsce w przypadku nieposiadania src = „” Usuń go i można

img { 
    display: none; 
} 


img[src] { 
    display: block; 
} 

lub jeśli wiesz jak adres URL zawiera pewne szczególne słowo, np http można zrobić:

img[src*="http"] { 
    display: block; 
} 
+1

Troszkę późno;) – Tgwizman

+3

Bez problemu ..Przynajmniej może być przydatne dla innych: D –

+2

Nie wiedziałem, że możesz to zrobić, dziękuję. – Louis

11

obraz o dane: URL atrybutu src

<img src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="> 

zależnie od wymaganej wsparcie przeglądarka yo u może również:

img[src=""] { 
    content:url("data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="); 
} 

Patrz: http://probablyprogramming.com/2009/03/15/the-tiniest-gif-ever

2

visibility: hidden; utrzymuje przestrzeń obrazu pusta. display: none; ukryć całkowicie obraz i nie ma zarezerwowane miejsce

11

Proponuję użyć text-indent: 100vw;

.logo { 
 
    text-indent: 100vw; 
 
}
<img class="logo" src="" alt="my logo" />

+1

Ładne rozwiązanie. Ale czy to działa? – fentas

+0

@fentas Po prostu przesuń pozycję tekstu za pomocą właściwości 'text-indent'. Możesz zobaczyć różnicę, jeśli zmienisz wartość "wcięcia tekstu" – Muhammed

+0

Nie działa w wersji Chrome 57.0.2987.133. – QMaster

0

SRC z tagu img może być 404 Err. W tym przypadku można użyć postępuj jak:

div.menu_avatar { 
    width: 50px; 
    height: 50px; 
    overflow:hidden; 
} 
div.menu_avatar img{ 
    width:52px; 
    height:52px; 
    margin-left: -1px; 
    margin-top:-1px; 
} 
-2

Wystarczy usunąć src="";) i będzie to znika tak po prostu.

Powiązane problemy