2012-01-25 18 views
9

Umieszczam obraz wewnątrz znacznika. ale kiedy podałem granicę do obrazu i tagu. Znacznik A zabiera trochę dodatkowej przestrzeni. nie otacza obrazu. Jak pokonać tę dodatkową przestrzeń za pomocą znacznika "a". Wskazuję znaczek na czerwonej linii.znacznik zajmujący dodatkowe miejsce w html

Moje 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

Jedyny HTML w twoim demo to: ''. Nie jestem pewien, co o tym myśleć .. – thirtydot

+0

soryy .. zaktualizowałem – Anish

Odpowiedz

3

zależności od tego jak ten obraz zostanie umieszczony na ciebie stronie, można rozwiązać ten problem przez unoszące się <a> i <img> tagi. Zobacz poprawioną jsfiddle na przykład:

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 dobra odpowiedź mike :) Dodałeś swoje rozwiązanie do samego postu. (Aby upewnić się, że ten post jest samodzielny) – gideon

+0

Brzmi dobrze, dzięki! –

+0

Dzięki ... To działa, ale wpływa na inny element, którego nie chcę unosić w lewo. Ale mogę podać dla tego id lub klasę. to czasochłonne. W każdym razie dzięki za twój kod ... – Anish

1

Co ja nie rozumiem, dlaczego masz na granicy znacznika. Zgaduję, że kiedy dodasz obramowanie, znacznik zostanie zinterpretowany przez przeglądarkę jako element z zawartością w nim, a tym samym prawdopodobnie przydzieli domyślną wysokość linii i dostosuje szerokość do zawartości wewnątrz znacznika.

+0

Nie używam granicy w moim oryginalnym kodzie. Użyłem tutaj tylko wspomnieć o dodatkowej przestrzeni. – Anish

2

żywo Przykład: http://jsfiddle.net/rEPXY/18/

Obraz jest traktowana jako inline, więc jej będzie przylegać do font-size i wysokość linii, wraz z przerwami liniowych. Zmień naturę obrazu i jego kontenera i powinieneś być dobry. CSS poniżej znacznika <a> korzysta inline-block ale można też zmienić na block z width własności

Jeśli pływak tag <a> też jego zamiar stać się kłopotliwe, wyrównaj go z innymi elementami.

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

According to this można rozwiązać dodając następującą regułę:

a img {vertical-align:bottom} 

Wydawało się, że działa na mnie w swoim jsfiddle.

Powiązane problemy