Граница / маржа / отступ не 0, если конкретно установлено 0 - PullRequest
2 голосов
/ 21 октября 2011

У меня есть простой вопрос, где мои вещи в моем div не без полей.В частности, когда для полей, полей и границы задано значение 0, между элементами по-прежнему остается пробел

Код:

<div id="menu" >
<a href="#" style="margin:0;border:0;padding:0;background:red">sup</a>

<a href="#" style="margin:0;border:0;padding:0;background:red">sup</a>

</div>

Просто добавьте эти коды в пустой текстовый файл и сохраните в формате html., между элементами есть пробелы, если я специально не установил отрицательное поле.Это сработало бы, но я просто хочу знать, почему это не 0, когда оно специально установлено на 0.

Заранее спасибо: D


Новое открытие:

Я пытался отобразить вышеупомянутое: блок для отображения одного поверх другого, как только я обнаружил, что

после добавления этого:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Это не сработало

Я должен был использовать этот тип документа, но он сейчас не работает.

Какие-либо решения?


Код выглядит следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<div id="kingmenu"  style="position:absolute;top:90px;left:290px;width:55px;">
<a href="#"><img src="http://white-attic.com/themes/prestashop/img/kingtop.png"></a><a href="#"><img src="http://white-attic.com/themes/prestashop/img/kingbottom.png"></a>
</div>

проблема, как показано в этом скриншоте: http://img828.imageshack.us/img828/8331/whitespace.jpg

Ответы [ 3 ]

3 голосов
/ 21 октября 2011

Пробел находится в вашей разметке.

Даже если вы установите для a элементов значение inline-block (которым они не являются по умолчанию), вы все равно увидите (нормализованное) пространство, которое там есть.в вашем HTML.

Чтобы устранить это, вы должны "сопоставить" элементы друг с другом.

ОБНОВЛЕНИЕ: Ваш файл должен выглядеть следующим образом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<div id="menu" ><a href="#" style="margin:0;border:0;padding:0;background:red">sup</a><a href="#" style="margin:0;border:0;padding:0;background:red">sup</a></div>

Я проверил в Chrome, Firefox 6 и IE 8, что между ссылками нет места.

2 голосов
/ 21 октября 2011

Это потому, что вы просто добавляете пробел. Div является блочным элементом, а a является встроенным элементом, поэтому в основном оба встроенных элемента находятся на расстоянии.

Помните, что браузер интерпретирует пробелы.

1 голос
/ 21 октября 2011

Это потому, что новая строка в HTML интерпретируется как пробел при визуализации.

Попробуйте это:

<div id="menu" >
<a href="#" style="background:red">sup</a><a href="#" style="background:red">sup</a>
</div>
...