Mark
Mark

Reputation: 18194

Strange border on IMG tag

HTML:

<html>
<body>

<header>
    <img class="logo" />
</header>

</body>
</html>

CSS:

* {
    margin:0px;
    padding:0px;
    border:none;
}

img.logo {
    width:126px;
    height:50px;
    background-image:url('images/logo.png');
}

One way or another everytime i try to style an IMG like this a strange border appears. Even if I would place border:0px; or border:none; in the img.logo css the border remains.

Upvotes: 40

Views: 31101

Answers (5)

Deepak
Deepak

Reputation: 21

I had the same issue, but now the border does not appear.

Solution:

Add following in the img tag in HTML

  • src=""
  • border="0"

Upvotes: 2

Briguy37
Briguy37

Reputation: 8402

Combining @thirtydot's answer to this question with @Layke's answer for Smallest data URI image possible for a transparent image, here is an all-in-one solution:

<img class="logo"
  src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"/>

Upvotes: 3

Kirubel
Kirubel

Reputation: 1627

This works for me

img {
  text-indent: -999px;
}

Upvotes: 2

ALi R.
ALi R.

Reputation: 151

You can Simply Use div instead of img for background image , if you are not going to use src attribute anywhere.

<div class="logo"> </div>

otherwise src is required.

Upvotes: 10

thirtydot
thirtydot

Reputation: 228162

It's the default "special" border that appears when you use an img element with an a src attribute set to something that doesn't exist (or no src at all).

A common workaround is to set the src to a blank.gif file:

<img class="logo" src="blank.gif" />

I have to point out that it (in this case) makes no sense to use an <img> with background-image. Just set the src attribute and forget about background-image.

Upvotes: 76

Related Questions