2012-01-25 15 views
9

Puse una imagen dentro de la etiqueta a. pero cuando di borde a la imagen y una etiqueta. La etiqueta A toma un poco de espacio extra. no está rodeando la imagen. Cómo superar esos espacios extra con la etiqueta 'a'. estoy indicando una etiqueta en línea roja.una etiqueta que toma algo de espacio extra en html

Mi html:

<a href="#"><img src="http://img165.imageshack.us/img165/1043/burnhr6.png"/></a> 

Css:

img 
{ 
    border:1px solid black; 
} 
a 
{ 
    border:1px solid red; 
} 

http://jsfiddle.net/rEPXY/2/

+1

El único código HTML en su demostración es: ''. No estoy seguro de qué hacer con eso ... – thirtydot

+0

soryy .. He actualizado – Anish

Respuesta

3

Dependiendo de cómo va a ser colocado en su página web esta imagen, puede solucionar este problema mediante flotación de los <a> y <img> etiquetas. Ver jsFiddle revisada para un ejemplo:

HTML:

<a href="#"><img src="http://img165.imageshack.us/img165/1043/burnhr6.png"/></a> 

Css:

img { 
    border:1px solid black; 
    float: left; 
} 

a { 
    border:1px solid red; 
    float: left; 
} 

www.jsfiddle.net/rEPXY/9

+0

+1 buena respuesta mike :) Agregó su solución en la publicación. (Para asegurarse de que esta publicación sea independiente) – gideon

+0

¡Suena bien, gracias! –

+0

Gracias ... Está funcionando pero está afectando a otro elemento que no quiero flotar a la izquierda. Pero puedo dar una identificación o clase para eso. lleva mucho tiempo ... De cualquier forma, gracias por su código ... – Anish

1

Lo que yo no entiendo es por qué tiene un borde en la etiqueta. Supongo que cuando agrega el borde, la etiqueta a es interpretada por el navegador como un elemento con contenido y, por lo tanto, probablemente asigna la altura de línea predeterminada y ajusta el ancho para que se ajuste al contenido dentro de la etiqueta.

+0

no estoy usando el borde en mi código original. acabo de usar aquí para mencionar el espacio extra. – Anish

2

Ejemplo vivo: http://jsfiddle.net/rEPXY/18/

imagen es tratada como en línea, por lo que va a adherirse al tamaño de fuente y la línea de alturas, junto con saltos de línea. Cambia la naturaleza de la imagen y su contenedor y deberías estar bien. El CSS por debajo de la etiqueta <a> está utilizando inline-block pero también se puede cambiar a block con un width propiedad

Si usted flota la etiqueta <a> también, su va a ser problemático align con otros elementos.

img 
{ 
    border:1px solid black;float:left; 
} 
a 
{ 
    border:1px solid red;display:inline-block; 
} 
2

According to this, se puede resolver mediante la adición de la siguiente regla:

a img {vertical-align:bottom} 

que parecía trabajar para mí en su jsFiddle.

Cuestiones relacionadas